Migrationsprojekt mit CORBA. Andres Koch dipl. El. Ing. HTL / M. Math Object Engineering GmbH, Zürich Email: akoch@objeng.ch.



Ähnliche Dokumente
GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Modem: Intern o. extern

ObjectBridge Java Edition

WinVetpro im Betriebsmodus Laptop

Nutzung von GiS BasePac 8 im Netzwerk

WLAN Konfiguration. Michael Bukreus Seite 1

Informationen zum neuen Studmail häufige Fragen

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Scanning- Reservationslösung Gemeinden Benutzerhandbuch

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Adami CRM - Outlook Replikation User Dokumentation

Installation der SAS Foundation Software auf Windows

1 Registrieren Sie sich als Benutzer auf dem Televes. 2 Sobald ein Konto erstellt ist, können Sie auf das Portal

Änderungen in Version 12

inviu routes Installation und Erstellung einer ENAiKOON id

Software Release Notes

Übung - Konfigurieren einer Windows 7-Firewall

KNV Gutschein-Service. 'Business Client' Juni Koch, Neff & Volckmar GmbH, Stuttgart und Köln

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Consulting. Dokumentenmanagement. Stand: jwconsulting GmbH Caspar-David-Friedrichstr Walldorf

Nutritioner V2.0: Lokaler, Synchronisations- und Servermodus

Fehlermonitor. Software zur seriellen Verbindung PC-Airdos Visualdatensignale und Fehlermeldungen-Ausagabe per SMS / Drucker

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Installations Guide für YAJSW und DTLDAP

1. Zugriff auf das Lonza Netzwerk von ihrem privaten PC oder von einem Internet Café

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

Benutzerhandbuch - Elterliche Kontrolle

Multimedia und Datenkommunikation

Internet online Update (Mozilla Firefox)

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Anwahlprogramm. zur. Modem-Schnittstelle TH004

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Cisco AnyConnect VPN Client - Anleitung für Windows7

Lehrer: Einschreibemethoden

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Walther- Übungsaufgabe 24. Januar 2016 Rathenau- Routing Name: Gewerbeschule Freiburg DHCP Klasse: E3FI1T Seite 1 Punkte: /20 Note:

MS Outlook Integration

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Software- und Druckerzuweisung Selbstlernmaterialien

Virtual Desktop Infrasstructure - VDI

Inhaltverzeichnis 1 Einführung Zugang zu den Unifr Servern Zugang zu den Druckern Nützliche Links... 6

2. Einrichtung der Verbindung zum Novell-NetStorage-Server

Deckblatt. SIMOCRANE V4.1 Hotfix 2 SIMOCRANE CMS. FAQ Juli Service & Support. Answers for industry.

ECO-Manager - Funktionsbeschreibung

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

VS Praktikum 03 Konzept

Synchronisations- Assistent

Einrichten von Arcor-KISS-DSL

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

VDW Statistik Portal Häufig gestellte Fragen. Version 1.2 ( Katharina Düngfelder & Markus A. Litters) Vorwort

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Dieser Text beschreibt die Neuerungen von DaNiS und die Vorgehensweise beim DaNiS-Update.

R-ADSL2+ Einrichthinweise unter Windows 98/ME

NetMan Desktop Manager Vorbereitung und Konfiguration des Terminalservers

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Strategie / Zusammenfassung

Benutzung der LS-Miniscanner

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

FRILO-Aktuell Ausgabe 2/2013

Mandant in den einzelnen Anwendungen löschen

P-touch Transfer Manager verwenden

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

Technical Note 0606 ewon

MARCANT - File Delivery System

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Anwender-Dokumentation. Update ATOSS WINDOWS. Versionswechsel innerhalb der V2.5

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Firmware-Update, CAPI Update

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

Laborübung - Verwalten von virtuellem Speicher in Windows 7

Handbuch. BIZS Mobil App

Lizenzen auschecken. Was ist zu tun?

s aus -Programm sichern Wählen Sie auf der "Startseite" die Option " s archivieren" und dann die entsprechende Anwendung aus.

STARFACE MS Outlook Connector

Fragen und Antworten. Kabel Internet

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Informationsblatt: Advoware über VPN

Clientkonfiguration für Hosted Exchange 2010

Ihr Ideen- & Projektmanagement-Tool

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Installation OMNIKEY 3121 USB

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Man liest sich: POP3/IMAP

WebDAV Sync mit GoodSync for Mac OS X

Transkript:

Migrationsprojekt mit CORBA Projekt im Raffer Migration Technische Bestandteile Fazit Andres Koch dipl El Ing HTL / M Math Object Engineering GmbH, Zürich Email: akoch@objengch Inhalt Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland /3 Projekt im Raffer: Ausgangslage S/ seriell S/ seriell Zentraler Mainframe HW: IBM 30xx OS: MVS / IMS Sprache: PL/ Applikation: Abonnenten-Verwaltung SNA LU0 SNA LU0 ~2500 Endgeräte ~ 50 dezentrale Systeme seriell seriell PC Generation seriell seriell SNA LU0 Subsysteme mit CTOS/BTOS SNA LU0 max 32 Terminals pro Subsystem Borroughs ET00 7 Aussenstellen regional verteilt (Telefondirektionen) HW: IBM S/ OS: RPS Sprache: PL/, S/ Assembler Appl: Dezentraler Teil der Applikation Spezial Systemsoftware Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 2/3

Projekt im Raffer: Organisation Telecom PTT Schweiz Traditionelles staatliches Telecom-Unternehmen auf dem Weg zum Privatunternehmen Traditionelle Verarbeitung wird auf Kundenzentriertheit umgestellt Unternehmen hat bereits mehrere Technologie- Epochen mitgemacht Über das Land verteilte, regionale, teils recht autonome Organisations- Einheiten Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 3/3 Projekt im Raffer: Applikation zentrales System Verwaltungssoftware für Telefon-Anschluss- und Abonnenten- Informationen (Adress-Stamm Privatkunden) Radio/TV-Konzessions-Daten-Verwaltung Verwaltung anderer Zusatzdienste Verbund mit mehreren anderen Systemen innerhalb der Organisation Massenverarbeitungs-Funktionen (Umnummerierung, Umtaxierung ) Onlinebetrieb (jährlich ~0 Mio Transaktionen, ~5 Mio Tx tägl) Periodenabhängige Lastaufkommen (zb Umzugstermine) Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 4/3

Projekt im Raffer: Applikation dezentrales System Senden/Empfangen der Hostmeldungen Signon-Behandlung des Benutzers Beimischen der Bildschirmmasken (je ~300 Masken für 3 Sprachen) Schutz gemäss Zugriffsprofil des angemeldeten Benutzers Plausibilisierung der Eingaben Komfort-Funktionen (zb 3 zusätzliche virtuelle Bildschirmseiten) Verwaltung der Terminal-Kanäle und Host-Kanäle (ua) Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 5/3 Projekt im Raffer: Problemstellung Proprietäre dezentrale Hardware mit Spezialkomponenten (RPS, Schnittstellen) Programmierung in Assembler, PL/ auf dezentralen Systemen Beschränkte Bildschirm-Anschlussmenge System wurde nach Jahren nicht mehr hergestellt Wartung wurde Jahre darauf eingestellt Akutes Problem und Risiko, den Betrieb aufrecht erhalten zu können Ablösung der Hardware war vordringliches Problem Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 6/3

Projekt im Raffer: Migration Phase SNA/LU0 (9600B) asynchron, seriell Mainframe (MVS/IMS) Dezentraler Server (S/, RPS) asynchron Terminal-Subsystem seriell (CTOS/BTOS) asynchron seriell Einschränkung auf 32 Bildschirme pro dezentralem Server wurde in dieser Phase gelöst Zusätzliche Applikationsfunktionen konnten auf den Terminal- Subsystemen bereitgestellt werden (zb Unterstützung zur Offerten- Erstellung) Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 7/3 Projekt im Raffer: Migration Phase 2 PCs mit VT220 Emulation WAN TCP/IP SNA/LU0 (tunneled) Virtuelle S/ Maschine LAN TCP/IP asynchron,telnet Terminal-Subsystem (CTOS/BTOS) Mainframe (MVS/IMS) Dezentraler Server (RS6000 RISC, UNIX) asynchron seriell Dezentraler Server wurde durch ein ausbaubares, modernes System mit RISC-Technologie und UNIX ersetzt Mittels einer Emulation der S/-Hardware konnte die bestehende Spezialsoftware und dezentrale Applikationssoftware (Assembler, PL/) unverändert übernommen werden Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 8/3

Projekt im Raffer: Migration Phase 3 Mainframe (MVS/IMS) WAN TCP/IP SNA/LU0 (tunneled) Virtuelle S/ Maschine LAN TCP/IP PCs mit VT220 Emulation asynchron,telnet PCs mit Win 95 GUI-Frontend Dezentraler Server (RS6000 RISC, UNIX) CORBA Middleware (ORBIX) Terminalsubsysteme wurde durch PCs mit der üblichen graphischen Oberfläche abgelöst Die Hostapplikation wurde durch eine CORBA-konforme Schnittstelle für beliebige Applikationen zugänglich gemacht Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 9/3 Migrations-Kriterien: Was ist Migration? Herkunft: lateinisch migratio -> Auswanderung, Wegzug Verwendung: Technische Abwanderung Evaluations-Aktivität (Mining gemäss Mombray) Erhaltenswerte Komponeten bewahren oder verbessern Wertlose und schwer zu wartende Komponenten ablösen und ersetzen Migration betrifft in der Regel die Technologie oder das Umfeld: Umstellung auf neues Paradigma (zzt zb OO, DOC, C/S) Organisatorische Umstellung der Geschäftsstruktur (zb kundenorientiert statt prozessorientiert) Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 0/3

Migrations-Kriterien: Komponenten migrieren Es gibt keine generelle Kochbuch -Regel Analyse des bestehenden Systems ist notwendig (s Mobray Mining Process ) Legacy-Datenbestände Daten sind in der Regel zu wahren Präzision bei der Migration von Daten ist vital Legacy-Algorithmen und -Abläufe Können in der Regel ersetzt werden Auch hier ist der Mining -Prozess wichtig Überraschungspotential von Unentdecktem ist gross Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland /3 Migrations-Kriterien: Anforderungen Big-Bang -Ersatz ist unerwünscht Betrieb darf nicht beeinträchtigt werden System-Verfügbarkeit muss gewährleistet werden Parallel-Betrieb von Alt- und Neu-System sollte für beschränkte Zeit aus logistischen Gründen möglich sein (zb 3000 Systeme ersetzen) Benutzer sollten nur positive Veränderungen zu spüren bekommen Migrations-Prozess wird oft zu spät begonnen und muss unter grossem Zeitdruck abgeschlossen werden Performance-Einbussen müssen vermieden werden Kosten im Rahmen halten System sollte wieder oder besser wartbar sein Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 2/3

Migrations-Kriterien: Risiko Komplexität nimmt wegen zugefügten Abstraktionsschichten und System-Komponenten in der Regel zu muss abbaubar sein Zugefügte Migrations-Schichten sollten jeweils eine neue logische und allgemeiner verwendbare Abstraktions-Ebene bringen, sonst lohnt sich der Aufwand nicht Start auf der grünen Wiese gilt hier nicht Ideen sind gefragt Ohne Architektur und konsequente Durchsetzung läuft man Gefahr, aus Legacy-Systemen komplexe Legacy-Systeme zu machen Terminierung kurzfristig: Unmittelbare Problemlösung Pragmatik mittelfristig: allgemeinere Lösung suchen Architektur langfristig: Problem an der Wurzel packen Komplexitätsabbau Kunde zahlt ungern für System-Architekturen guter Verkauf nötig Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 3/3 Systemarchitektur: Ausgangssituation SERIES/ Mask* Repository MPP/BIP Borroughs ET00 SNA/LU0 HOST IMS MPP/SNA Communication Manager RPS-Betriebssystem HIM TAM TIM LOG APM APM2 Meldungs* Repository System-Komponenten Dezentrale App-Komponente* Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 4/3

Systemarchitektur: Ausgangssituation RPS: Multitasking-Betriebssystem mit SVC-Call-Ebene Communication-Manager erlaubt Interprozesskommunikation zwischen den Tasks mit Meldungen MPP/SNA Task für SNA-Kommunikation zum Host MPP/BIP Task für Terminal- und Drucker-Kommunikation HIM: Hostinterface Manager verwaltet offene Host-Verbindungen TAM: Terminal Access Manager verwaltet aktuelle Terminal- Verbindungen TIM, LOG: Hilfstasks Timer und Logging APM: Applikations Programm Manager ist dezentraler Teil der Applikation Masken- und Meldungs-Repository: Abhängig von der Transaktion und von der Sprache werden die Bildschirmmasken aufbereitet Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 5/3 Systemarchitektur: Hardwareablösung MFT Mask Repository TCP/IP Sockets TERMINAL ROUTER TCP/IP Sockets UNIX/IPC/Queues TRVC Terminal Emulator TCP/IP PC IMS SNA/LU0 RS6000 SNA Service LUI Virtual Series/+RPS Message Handler HIM TAM TIM LOG APM APM2 Meldungs* Repository Application-Server VS/ (RS6000/AIX) SSW-Komponenten +DezentAppKomp UNIX-Komponenten Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 6/3

Systemarchitektur: Hardwareablösung Die S/ Hardware wurde durch einen UNIX-RISC-Rechner und eine Emulation der S/-Hardware mit RPS ersetzt Performance: ~Faktor 5 schneller Neue Integrationsmöglichkeiten mit UNIX-Tasks dank Message Handler über UNIX-IPC-Queues Message Handler ersetzt Communication Manager TRM: Terminal Routing Manager ersetzt MPP/BIP LUI: LU0 Interface ersetzt MPP/SNA TRM: Anbindung für alte Terminal-Subsysteme (MFT) über Sockets/ TCP/IP höherer Durchsatz, bessere Konnektivität TRVC: ET00 Emulator für VT320 simuliert MFT Unix-Tasks wurden objektorientiert entworfen und mit C++ implementiert bessere Wartbarkeit Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 7/3 Systemarchitektur: System-Öffnung Desktop (PC/Windows/95) Applikations Frontend MFC-Framework (MS VC++) DIF/ORB-Client CORBA-Middleware (ORBIX) Logische Schnittstelle nach aussen Fremdapplikation DIF Datainterface-Service Navigation Tables TCP/IP Sockets TERMINAL ROUTER Mask Repository Virtual Series/+RPS Message Handler HIM TAM TIM LOG APM APM2 Meldungs* Repository RS6000/AIX Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 8/3

Systemarchitektur: CORBA-Öffnung DIF-Service: Datainterface schliesst sich an die VS/ wie ein TRM an DIF-Service: Der CORBA-konforme Service nach aussen Masken-Repository (~800 Files) werden durch ein Navigations- Repository (2 Files) ersetzt Dezentraler Teil der Applikation und Systemsoftware auf VS/ bleiben unverändert Client-Seite: Auf MFC aufgebaute graphische Benutzerschnittstelle greift über die DIF-Schnittstelle auf die Applikations-Daten zu Client-Abstraktions-Sicht: Das Client- Programm bekommt eher eine Datensicht (wenn auch nicht 00%), statt die bisherige Maskensicht Mit Smart-Proxys und Call-Backs wird die Netzbelastung minimiert Fremdapplikationen erhalten Zugriff über die gleiche Schnittstelle Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 9/3 Leagacy-Daten-Migration Maskenbeschreibungen (Text) Administrator PC *navtbcnf Server (Runtime) DIF HOST Konversion Meldungs- und Listen-Repository Verwaltung Meldungstrukturen (PL/) Repository *h VC++ Client (Compile-Time) Die Erstellung der Navigations-Repository erfolgt weitgehend automatisch Korrespondenz zwischen Client und Server erfolgt mit Id-Nummern Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 20/3

Design: Interface Modell DIManagerIF newsession( ) closeall( ) howmany( ) DISessionIF getfield( ) putfield( ) close( ) getviewinfo( ) geterror( ) isready( ) getlist( ) getctrllist( ) getinfoline( ) getstatusline( ) cancel( ) accept( ) navigate( ) putconfig( ) getconfig( ) makeclone( ) load( ) update( ) DIListIF first( ) next( ) select( ) discard( ) getitem( ) prev( ) putitem( ) load( ) Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 2/3 Design: Interface Modell Drei Schnittstellen DIManagerIF: Session-Factory, eigentlicher Service DISessionIF: Virtuelle Session für Datenzugriff DIListIF: Auflistung am Bildschirm werden als einfache Datenliste präsentiert (getlist()) Grundsatzmoell: M (Modell) V (View) C (Controller) DIF Modell Abstraktion Datennetz mit Records: navigate(), putfield(), getfield() Steuerung (Host) wird dem Client weitergeleitet getviewinfo() Maskenabhängige Funktionen werden möglichst durch Server betätigt zb SignOn (newsession()) Konfiguration (putconfig(), getconfig()), Statusinfo (getstatusline(), getinfoline()), Fehlerinformation (geterror() als FIFO) Optimierung durch Caching und Smart Proxy (load(), update()) Applikationssteuerung (neue Funktion) getctrllist() Synchronisation durch Call Back (isready()) Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 22/3

Design: Typischer Ablauf aclient asession : DISessionIF 3: Client sets up views 8: DialogProcessing : isready ( ) 2: getviewinfo (out string, 4: getinfoline (out string) 5: getstatusline (out 6: getfield (in DIFId, out DIField()*) 9: putfield (in DIFId, in DIField()*) 0: accept ( ) 2: isready ( ) * means more than oncel 7: load (out DIFieldBundle) Caching Processing in SmartProxy only : update (in DIField Synchronisation 2 Client bekommt die Information über den geladenen Modellteil 3 Die zugehörige View wird im Client angezeigt 4 Zusätzliche Infos und Infos 5 von der Statuszeile werden abgeholt 6 Die Felder werden zugegriffen 7 und im Userinterface angezeigt 8 Der Benutzer bearbeitet die View 9 Die modifizierten Daten werden aktualisiert 0Der Client löst die nächste Transaktion aus Der Server konvertiert die Daten (EBCDIC) und leitet sie an den Host weiter 2Resynchronisation beginnt Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 23/3 Implementation: Software Architektur MSGCOM SESSION DIFManager DIFSession RWTOOLS U LISTMGR DIIList DIFList DIF ErrItem DIIManager DIISession U KKLib ORBIX MSGNAVIG MsgNavMgr ListNavMgr MsgNavMapper ListNavMapper MSGVIEW MSGFrame LSTFrame global U CONVTABS Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 24/3

Implementation: Integration & Wiederverwendung Event Dispatcher (from MSHCOM) Dispatcher ActiveStation MSGManager (from MSHCOM) readcnftoken( ) shutdown( ) InactiveStation DIFManager TRMManager n n MSGChannel (from MSHCOM) DIFSession TRMChannel Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 25/3 Implementation: Integration & Wiederverwendung Das Protokoll zum dezentralen Applikationsteil (VS, via MSH und TAM) wurde belassen Das im Terminal Routing Manager verwendete Miniframework (MSGManager, MSGChannel) mit seinem MSH-Protokoll konnte unverändert übernommen werden Die von diesen beiden Klassen abgeleiteten TRMManager und TRMChannel behandeln die Verbindungen nach aussen über Sockets Für das Datainterface werden analog DIFManager und DIFSession abgeleitet, welche dann das Objekt-Interface (Server-Stubs) für die CORBA-Anbindung bieten Der MSGManager kann über eine externe Datei für die gewünschte Zahl von möglichen Sessions und deren Benennung konfiguriert werden Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 26/3

Implementation: Kern des Datenschnittstelle DIManager BOAImpl (from ORBIX) Server- Classes for CORBA Object DISession BOAImpl (from ORBIX) RWCollectable V V DIIManager 0n DIISession ExtInterface MsgNavigator MsgNavMgr (from MSGNAVIG) DIFMgr DIFManager (from SESSION) LstNavigator ASCII_ EBCDICTab (from CONVTABS) ListNavMgr (from MSGNAVIG) ConvTab DIFSess DIFSession (from SESSION) MsgActFrame ErrList ErrItem Text : RWCString FieldId n : unsigned short AliasId : unsigned short CurMsg MSGFrame (from MSGVIEW) SMessage (from SMSG) Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 27/3 Implementation: Kern des Datenschnittstelle Anbindung an die vom IDL-Compiler generierten CORBA-Klassen erfolgt über die Vererbung der BOA-Klassen Die Server-Implementation wird über DIIManager resp DIISession unter Verwendung eines TIE-ähnlichen Ansatzes gemacht, damit das bestehende Framework verwendet werden kann (keine Mehrfachvererbung) Die Navigation erfolgt direkt auf der vom Host gesendeten Meldungen, womit das bisherige Masken-Repository wegfällt Sowohl die Listenklassen (ListNavMgr), wie auch die Meldungsklassen (MsgNavMgr) können von aussen konfiguriert werden, womit ein Release-Wechsel ohne Neuerstellung des Servers geht Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 28/3

Implementation: Optimierung Durch den Einsatz von Smart Proxys auf der Client-Seite konnten folgende Eigenschaften integriert werden: Der Client kann für die Synchronisation beliebig isready() abfragen (zb im Windows-Loop), ohne das Netz zu überlasten Die wichtigsten Feld-Daten einer aktuellen View werden beim ersten Zugriff (getfield()) auf den Client geladen (load()) und danach lokal zugegriffen (auch bei Listen) Aktualisierung erfolgt nur für geänderte Felder unabhängig vom Client-Programm Integration für automatisches Signon mit dem Security-System erfolgt vom Client verdeckt im Proxy Das asynchrone Verhalten des Servers (meldungsorientiert) wird mit einem Call-Back-Interface zurück zum Client kommuniziert Zugriffe auf CORBA-Sequences werden durch das Smart Proxy vereinfacht Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 29/3 Schlussfolgerungen: Kompromisse Die Applikationsarchitektur der Mainframe-Seite (hier Bildschirm- Orientierung) liess sich nicht ganz verstecken Die Client-Abhängigkeit (datenmässig) vom Server ist nach wie vor vorhanden (Feld-Identifikationen), was eine Laufzeit-Versionskontrolle notwendig machte Die bestehende Applikation musste möglichst unverändert bleiben Eine erhöhte Komplexität wurde in Kauf genommen, muss bei einem Redesign dann wieder abgebaut werden Einsatz von Visual C++ auf der Client-Seite Visual C++ bewirkte, dass dadurch der Client heavy wurde Für reine Informationszwecke könnte als Alternative JAVA mit Browser eingesetzt werden, um den Client wieder leichtgewichtig zu machen mit OrbixWeb jederzeit möglich Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 30/3

Schlussfolgerung: Erkenntnisse aus dem Projekt Der geeignete Migrations-Pfad muss für jedes System individuell angeschaut werden, wenn sich mit der Zeit sicher auch hier bestimmte Muster herauskristallisieren lassen CORBA-Tools sind eine Hilfe und problemlos einsetzbar Es wird in der Regel zuviel über die Werkzeuge diskutiert, statt dass man sich mit dem Design von verteilten Applikationen auseinandersetzen würde Die Definition einer übergeordneten Architektur und der Interface- Frameworks für CORBA-basierte Applikationen innerhalb der IT- Organisation hat sich als sehr positiv erwiesen Kommunikation zwischen Mainframe-, Server- und PC-Client-UI- Entwickler ist ein lebenswichtiger Punkt für den Erfolg des Projektes Der Wartbarkeit und Betreibbarkeit von verteilten Applikationen muss während der Entwicklung Rechnung getragen werden Gute Mischung von Pragmatik und Systematik ist gefragt Copyright 996,97 by Object Engineering GmbH, Zürich, Switzerland und Telecom PTT, IT22, Ostermundigen, Switzerland 3/3