z/OS Internet Integration - Technische Informatik

Werbung
Client/Server-Systeme
Prof. Dr.-Ing. Wilhelm G. Spruth
SS 2005
Teil 17
z/OS Internet Integration
cs 1100 ww6
sch 05-97
z/OS Internet Integration
Unternehmenskritische Anwendungen und Datenbankprozesse laufen in der Regel auf einem zentralen Server. In
mittleren und großen Unternehmen und Organisationen ist
dies in der Regel ein z/OS bzw. OS/390 Rechner. Hieran wird
sich in der voraussehbaren Zukunft auch nichts ändern.
Aufgabenstellung: Diese existierende IT-Infrastruktur mit den
Möglichkeiten des Internets integrieren.
ACCOUNTS
SURNAME
:
FIRST NAME
:
TELEPHONE
:
ADDRESS LINE1:
LINE2:
LINE3:
ADD ACCOUNT NUMBER 26004
Meier
(18 CHRS) TITLE
: DR
Walter
(12 CHRS) MIDDLE INIT: R
733456
(10 DIGS)
Heilbronnerstr. 91
(24 CHRS)
70109 Stuttgart
(24 CHRS)
(24 CHRS OPTIONAL)
CARDS ISSUED : 1
DATE ISSUED : 11 22 99
APPROVED BY : DEF
(1 TO 9)
(MM DD YY)
(3 CHRS)
CARD CODE : A
REASON CODE: L
(4 CHRS OPTIONAL)
(1 CHR OPTIONAL)
(1 CHR)
(N,L,S,R)
UPTO 4 OTHERS WHO MAY CHARGE (EACH 32 CHRS OPTIONAL)
O1:
O2:
O3:
O4:
SPECIAL CODE1:
CODE2:
CODE3:
(EACH 1 CHR OPTIONAL)
NO HISTORY AVAILABLE AT THIS TIME
CHARGE LIMIT
STATUS
NOTE:- DETAILS IN BRACKETS SHOW MAXIMUM NO. CHARACTERS ALLOWED AND IF OPTIONAL
FILL IN AND PRESS "ENTER," OR "CLEAR" TO CANCEL
3270 BMS Darstellung
Java Servlet - JSP Darstellung
es 1203 ww6
wgs 05-02
IBM WebSphere® Host Access Transformation Services (HATS)
HATS macht 3270 Bildschirmdarstellungen als HTML Seiten
verfügbar. Es erkennt automatisch die Komponenten des 3270
Bildschirm-Inhaltes mit Hilfe eines Satzes vordefinierter Regeln. Es
übersetzt die Komponenten des 3270 Bildschirm-Inhaltes in
Echtzeit in HTML
Ursprünglicher Green Screen
Halb-automatische Übersetzung mit Hilfe von
WebSphere Host Access Transformation Services (HATS).
CICS Bildschirmausgabe
3270 Protokoll
graphische
User Interface
(uneingeschränkt)
TN3270
EPI
Character
User Interface
graphische
User Interface
(eingeschränkt)
TCP62
DPL
ECI
Alternativen der Bildschirmausgabe
CUI
GUI
es 1018 ww6
Character User Interface
Graphical User Interface
wgs 01-01
CICS virtueller
Adressenraum
andere virtuelle
Adressenräume
CICS Anwendungen
Presentatiom Logik
Terminal
Control
Task
Control
TCT
PCT
Business Logik
Program Storage
Control Control
PPT
File
Control
FCT
COMMAREA
OS/390 Kernel
COMMAREA
Communication Area
COMMAREA kann benutzt werden um Ein/Ausgabedaten zu
übergeben:
• An ein CICS Anwendungsprogramm im gleichen Adressenraum
• An ein CICS Anwendungsprogramm in einem anderen
Adressenraum auf dem gleichen physikalischen Rechner,
• An ein CICS Anwendungsprogramm auf einem getrennten
physikalischen Rechner unter Benutzung von
EXEC CICS LINK (...)
• An ein nicht unter CICS laufendes Programm, z.B. ein GUI
Prozess unter Verwendung der EPI Schnittstelle
es 1356 ww 6
wgs 06-01
Konnektoren
Bei den Implementierungen von Web Commerce Lösungen spricht
man vom Frontend, welches typischerweise mit einem Web
Application Server realisiert wird, und einem Backend (Beispiele
Auftragseingang, Finanzbuchhaltung), wofür vorhandene Legacy
Systeme eingesetzt werden.
In vielen Fällen werden 20 % des Projektaufwandes für die
Neuentwicklung des Frontends und 80% für dessen Integration in
das vorhandene Backend aufgewendet.
Konnektoren sind Java Beans, welche eine Schnittstelle zu
existierenden Enterprise Information (Legacy) Systemen bilden.
Beispielsweise sind folgende Konnektoren für die IBM WebSphere
verfügbar:
o
o
o
o
o
o
o
o
o
JDBC, SQLJ
DB2
Oracle
Adabas
CICS
IMS
MQSeries
SAP R/3
Lotus Domino
Die Konnektoren der J2EE Connector Architecture (JCA) werden
als Resource Adapter bezeichnet.
cs 1468 ww6
wgs 06-00
J2EE Connector Architecture
JCA
Standard Achitektur für die Integration von existierenden Business
Logik Komponenten :
•
•
•
•
ERP Systeme, z... SAP R/3
Mainframe Transaktions Monitore, z.B. CICS, IMS
Non- Java Legacy Anwendungen
Datenbank Systeme
Wichtigste Bestandteile der Architektur sind:
• JCA Konnektoren, als Resource Adapter (RA) bezeichnet
• Common Client Interface (CCI)
A Resource Adapter is a system level software library that is used by an application server or client to
connect to a Resource Manager. A Resource Adapter is typically specific to a Resource Manager. It is
available as a library and is used within the address space of the client using it. An example of a
resource adapter is the JDBC driver to connect to relational databases.
Für CICS existieren:
• ECI resource adapter (für COMMAREA Zugriff)
• EPI resource adapter
CTG enthält ECI RA, EPI RA und CCI, sowie weitere Zugriffsmechanismen ausserhalb der JCA
JCA Common Client Interface
CCI
Die Common Client Interface (CCI) definiert eine Standard Client
API Die CCI ist eine EIS unabhängige API. Anwendungen können
mit einer identischen API unterschiedliche Resource Adapter
verwenden. Ähnlich JDBC Interface
J2EE Connector Architecture
CCI
EIS
Common Client Interface
Enterprise Information System
CCI und Resource Adapter sind als Java Klassen implementiert. Sie
können von einer Java Anwendung alleinstehend benutzt werden
( non-managed environment ).
Üblich ist es, CCI und Resource Adapter als Elemente eines Web
Application Servers einzusetzen (managed environment). Hierbei
kann der Web Application Server das Management von
Verbindungen, Transaktionen und Sicherheit direkt übernehmen.
Die CCI Entwicklung kann in ein Entwicklungswerkzeug wie Eclipse
integriert werden.
CICS
Anwendung
EXCI
CICS
IIOP
Schnittstelle
CICS
Transaction
Gateway
ECI
CICS
Transaction
Gateway
CICS Transaction Server
Verteilter
WebSphere
Server
z/OS
z/OS
WebSphere
Server
Kernel
Internet
HTTP
Browser
Browser
IIOP
PC
Alternative CICS Zugriffe über das Internet
es 1372 ww6
wgs 12-01
-
Schalter/
Kasse
Sachbearbeiter
Vertrieb
Kernanwendungssysteme
Wrapping
der Kernsysteme
Geschäfts
logik
Mandantensysteme
Externe
Systeme
und
Gateways
Front Office
Transaktionsverarbeitung
Datenbanken
Integrations-Layer
und Geschäftslogik
Processing
Anwendungsarchitektur in Front-Office (mit Präsentationslogik)
und Integrationsebene mit der Geschäftslogik sowie Processing mit
der Transaktionsverarbeitung, wird verwendet um bestehende
Kernanwendungssysteme durch den Integration-Layer zu wrappen
es 1403 ww6
wgs 07-02
Enterprise
Information
System
Neue
Dienste
Oracle
DB2
WAS
CICS
Internet
Servlet
EJB
IMS
Presentation
Glue
Tuxedo
Browser
SAP
Client/Server Aufgabenstellung
• Browser orientierter Web Zugang
• Datenhaltung in existierenden Datenbanken
• Dominierender Anteil der Business Logik in existierenden
Transaktionsprogrammen und/oder Stored Procedures
• Neue Software (z.B. EJBs) stellen Querverbindungen zwischen
existierenden Komponenten her (Glue) - Transaktionsmaschine
• System Management - TCO
cs 1520 ww6
wgs 06-00
Was ist ein Webservice?
ein Service, den man über ein Internet Standard–Protokoll
wie z.B. SMTP, FTP und andere aufrufen kann.
Gemeint ist aber meistens ein Service, der über http mit
dem Simple Object Access Protocol (SOAP) aufgerufen
wird.
SOAP ist eine XML Definition
Sun oder DCE
RPC
Web
Services
Transport Protokoll
beliebig
SOAP
Daten
Repräsentation
XDR, ASN.1
XML
Interface
Definition
IDL
WSDL
Namensdienst
Directory Dienst
DNS, X.500
LDAP
UDDI
Web Services
Web-Services sind eine Schnittstellen-Technologie. Erleichtern die
Kopplung interagierender Systeme über technische Hindernisse
hinweg.
Simple Object Access Protocol (SOAP) ist ein Remote Procedure
Call (RPC) Protokoll. Es benutzt Standard Internet Protokolle für
den Transport - entweder HTTP für synchrone Aufrufe oder SMTP
für asynchrone Aufrufe. XML beschreibt das Format der
übertragenen Daten. SOAP ist unabhängig von der verwendeten
Programmiersprache, dem Objekt Modell und dem jeweiligen
Betriebssystem.
Web Services Description Language (WSDL) beschreibt die
Schnittstellendefinitionen eines Web Service. Beschreibt Formate
der Anforderungs- und Antwort- Nachrichtenströme, mit denen
Funktionsaufrufe an andere Programm-Module abgesetzt werden.
(maschinenlesbare Gebrauchsanleitung).
Universal Description, Discovery and Integration (UDDI) ist ein
Dienstekatalog. Stellt ein Verzeichnis von Adress- und
Produktdaten sowie Anwendungsschnittstellen der verschiedenen
Web Service Anbieter dar.
IBM - Microsoft Kooperation, breite Unterstützung, aber Firewall HTTP Problem, Sicherheit, Reifegrad, Transaktionsdienste ?
Die Kombination aus UDDI, WSDL und Soap bildet zusammen eine
Service-Orientierte Architektur (SOA).
cs 1520 ww6
wgs 06-00
Web Services Struktur
Eigenschaften:
• Quick and dirty Implementierung von unkomplizierten Aufgaben
• Remote Procedure Call über Port 80
• WSDL an Stelle von IDL - automatische Erstellung, z.B. IBM’s
Web Services ToolKit (WSTK)
• Java
WSDL
Java - identische Ergebnisse ?
• keine Objektorientierung
• skaliert schlecht
Was fehlt:
·
·
Sicherheit - HTTPS kann benutzt werden, ist aber unabhängig
vom Web Service Mechanismus
Transactionssteuerung, Flußsteuerung
cs 1529 ww6
04-03
cs 1234 ww6
wgs 12-02
SOAP
Client
HTTP
MQSeries
XML
HTTP
Transport
SOAP
Pipeline
Request
Nachricht
Response
Nachricht
Message
Adapter
Web Services
und CICS
CICS
Business
Logic
CICS Server
Zum CICS Transaction Server (ab Version 2.3) gehört ein Simple
Object Access Protocol (SOAP) Message Adapter. Mit Hilfe von
Web Services kann auf neue oder existierende CICS Anwendungen
zugegriffen werden, die in einer beliebigen Programmiersprache
geschrieben sind. Dies geschieht dadurch, dass eine XML-basierte
SOAP Message in eine COMMAREA abgebildet wird.
Die SOAP Request kann die CICS Anwendung entweder über HTTP
oder über WebSphere MQSeries aufrufen. Weiterhin können CICS
Anwendungen auf Web Services zugreifen, die auf anderen
Rechnern verfügbar sind. Diese Einrichtung ist z.B. für
Business-to-Business (B2B) Anwendungen sinnvoll.
cs 1544 ww6
wgs 11-04
Geschäftsprozess
Beispiel: Überweisung der Betriebsrente an 100 000 ehemalige
Mercedes (Daimler-Chrysler) Mitarbeiter.
Komplexer Prozess: Viele Empfängerbanken, manche im Ausland,
unterschiedliche Währung, unterschiedliche Steuerabzüge, Renten
Erhöhungen und Kürzungen, Lohnpfändungen, ..........
Viele einzelne Aktivitäten, die als Transaktionen ausgeführt werden
(short running transactions).
Ersatz der manuellen Ablaufsteuerung durch einen Workflow
Prozess.
STP - Fähigkeit (Straight-Through-Processing).
Transaktionsmaschine - Literatur
Joachim Franz, Wilhelm G. Spruth:
Reengineering von Kernanwendungssystemen auf Großrechnern.
Informatik Spektrum, Band 26, Nr. 2, April 2003, S. 83-93.
http://www.informatik.uni-leipzig.de/cs/pers/publish.html
Thomas Hornung: Entwurf und Implementierung einer transaktionalen Subworkflowsteuerung
Diplomarbeit, Fakultät für Informations- und Kognitionswissenschaften, Universität Tübingen
http://www-ti.informatik.uni-tuebingen.de/~spruth/DiplArb/index.html
Martin Schlodder: Datenzugriffsdienst für eine Transaktionsmaschine
Diplomarbeit, Fakultät für Informations- und Kognitionswissenschaften, Universität Tübingen
http://www-ti.informatik.uni-tuebingen.de/~spruth/DiplArb/index.html
Geschäftsprozess - Anforderungen
Performance
Bis zu 5000 Transaktionen pro Sekunde
Mandantenfähigkeit
Anwendungstechnische Unterstützung für eigenständige, juristisch
unabhängige Unternehmen. Erfordert z.B. getrennte physische
Datenhaltung; eventuell Verschlüsselung von Transaktionsdaten;
Ablaufverfolgung der Aufträge und Abrechnung der erbrachten
Leistungen pro Mandant
Realtimefähigkeit
Direkte Bearbeitung der Transaktion , und Weiterleitung z.B. an
Disposition und Buchung
Unterbrechungsfreier Betrieb
Unterbrechungsfreier Betrieb
Komponentenbasiertes System
Hinzufügen, Verändern und Ersetzen von Banken oder
Versicherungsprodukten im laufenden Betrieb
Standardsoftware
Anbindung bzw. Integration von Vendor Software
Prozesssteuerung
SLA SteuerungTransaktionssteuerung, Verarbeitungssteuerung
es 1411 ww6
wgs 12-03
Transaktionsmaschine
Joachim Franz, Wilhelm G. Spruth:
Reengineering von Kernanwendungssystemen auf Großrechnern.
Informatik Spektrum, Band 26, April 2003
es 1406 ww6
(es 3049 ww2000)
wgs 06-03
Aufteilung in Master Workflow und
Subworkflow
Fachliche Aktivitäten
A1: Auftrag fachlich prüfen
A2: Disposition für Auftrag prüfen
A3: Empfänger Banken bestimmen
A4: Ausführungszeiten bestimmen
A5: Zahlungspositionen, Konten, Bank, Land zusammenfassen
A6: Leitwege bestimmen
A7: Zahlungstransfer durchführen
A8: Zahlung fiskalisch verbuchen
A9: Auftrag archivieren und abschließen
Technische Aktivitäten
Subworkflow 1
T11: Auftragsprüfung auf Plausibilität
T12: Auftragsprüfung fachlich
T13: Status und Bestätigungsmeldung an Auftraggeber
Subworkflow 7
T71: Leitwegliste auf Vollständigkeit prüfen
T72: Zahlungstransfer vorbereiten
T731: Führe Transfer für Land x1 (z.B. USA) und Bank y1 aus
T732: Führe Transfer für Land x2 und Bank y2 aus
T732: Führe Transfer für Land x3 und Bank y3 aus
T74: Buchungsaufträge erstellen
Subworkflow 8
T81: Ergebnisauswertung des Zahlungsverkehrs
T82 Positionen fiskalisch verbuchen
es 1322
niu 07-00
Herunterladen