Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Brückenschlag zwischen J2EE 1.4 und Mainframe Plug&Play für Hostanwendungen über JCA 1.5?

Ähnliche Präsentationen


Präsentation zum Thema: "Brückenschlag zwischen J2EE 1.4 und Mainframe Plug&Play für Hostanwendungen über JCA 1.5?"—  Präsentation transkript:

1 Brückenschlag zwischen J2EE 1.4 und Mainframe Plug&Play für Hostanwendungen über JCA 1.5?

2 Anton Vorsamer IT Szenario HTTP + XML HTTP Externe Server Web Server Web Client Host Systeme Application Server DB Server externer Server, ERP Systeme Web Services

3 Anton Vorsamer Web Services und Host Anwendungen Host Anwendungen bieten relativ oft geeignete Services / Funktionen Host Anwendungen sprechen i.d.R. nicht XML / SOAP Übersetzung / Anpassung in einer vorgelagerten Schicht ist daher nötig. NET oder J2EE bieten sich an

4 Anton Vorsamer Charakterisierung von Host Services (1) Welche Host Services bieten sich für Web Services an? Bereits heute über das Netz aufrufbar, i.d.R. eingebettet in TP Monitor Umgebungen wie CICS, IMS, openUTM Sind in 3GL Sprachen, meist in COBOL implementiert, manchmal auch in C,PL/1 etc. oder gar noch 390/Assembler Erwarten beim Datenaustausch strukturierte, abdruckbare Daten im jeweiligen Host Zeichensatz (EBCDIC) Beschreibung dieser Daten als COBOL, C, Assembler Datenstrukturen liegt i.d.R. vor

5 Anton Vorsamer Charakterisierung von Host Services (2) Wie können Host Services aufgerufen werden? Direkt über Host Protokolle LU6, OSI-TP i.d.R. über entsprechende Client Bibliotheken der Hersteller Gibt es für die gängigen Plattformen Windows, Unix, Java,... Vertreter sind ECI (IBM), UPIC (FSC), JCO (SAP) usw. Diese Funktionen werden mittlerweile auch als J2EE konforme Resource Adapter (JCA Connector) angeboten

6 Anton Vorsamer Host Connectivity J2EE Application Server FSC / BS2000/OSD IBM / z/OS andere Unisys über OSI-TP

7 Anton Vorsamer Host Integration Screen-Scraping J2EE Applicationserver Transaction Synchronisation / Commmunication Access Control EJB Component EJB Component EJB Component EJB Component EJB Container Terminal Connectors Terminal 9750 BS2000 Terminal Service Terminal 3270 Terminal Service z/OS

8 Anton Vorsamer Host Integration via Message Queues Host Asyn. Program J2EE Applicationserver Transaction Synchronisation / Commmunication Access Control EJB Component EJB Component EJB Component EJB Component EJB Container MQ JMS 1. TA 2. TA 3. TA 4. TA 5. TA Round-Trip besteht aus 5 Transaktionen, davon 3 in der Anwendung selbst undefinierte Dauer/Wartezeit für den Round-Trip Fehlerbehandlung nur über logische Stornierungen (aufwändige Programmierung) MQ kann sein: JMS MQSeries UTM Message Queues (FPUT/DPUT) CICS Queues

9 Anton Vorsamer Host Integration über J2EE J2EE Applicationserver Transaction Synchronisation / Commmunication Access Control EJB Component EJB Component EJB Component EJB Component EJB Container Connectoren LU6 & OSI-TP synchrones and asynchrones Messaging CICS / IMS OLTP Service openUTM OLTP Service OSI-TP System OLTP Service Transaktionen

10 Anton Vorsamer J2EE Architektur JMS EJB Container EJB Web Container Servlets + JSPs Enterprise Information Systeme : Host Anwendungen ERP Systeme Client Host MQ Connectors Relationale Datenbanken Connectors MDB JDBC

11 J2EE Connector Architektur JCA 1.0 / 1.5 Resource Adapter Plug & Play ?

12 Anton Vorsamer J2EE 1.3 Adapter J2EE Container EJB Externe Connectivity CICS IMS openUTM Tuxedo SAP Siebel Baan.... JCA 1.0

13 Anton Vorsamer Externe Connectivity CICS IMS openUTM Tuxedo SAP Siebel Baan.... J2EE 1.4 Adapter J2EE Container EJBMDB JCA 1.5

14 Anton Vorsamer JCA Resource Adapter System Schnittstellen (Outbound) Connection Management Pooling etc. Transaction Management Propagierung derJ2EE Transaktion zum EIS (Host) System Security Management Abbildung der J2EE Security auf die EIS (Host) Security

15 Anton Vorsamer JCA Resource Adapter Schnittstellen (Outbound) ConnectionFactory Im JNDI sichtbar, entspricht der JDBC Datasource bzw. den JMS Connectionfactories getConnection(); getConnection(...); Connection Die wichtigste Schnittstelle für den J2EE Programmierer Stellt Abstraktion einer Host Connection bzw. eines Host Service dar Weitere Klassen ConnectionSpec, z.B. zur Übergabe von Authentisierungdaten InteractionsSpec, z.B. Parametrisierung der Kommunikatioin Records, z.B. Definition der Übergabedaten

16 Anton Vorsamer JCA 1.0 / 1.5 Outbound Connectivity public class HostAccessBean implements SessionBean { private EISConnectionFactory oltpserver; private EISConnection oltp; public void ejbCreate() { naming = new InitialContext(); oltpserver = naming.lookup("java:comp/env/eis/MyOltpConnect"); } public String callHost( String input ) { oltp = oltpserver.getConnection(); oltp.setServiceName (" "); oltp.snd(input); String output = oltp.rcv(); oltp.close(); return output; }

17 Anton Vorsamer JCA 1.0 / 1.5 Outbound Connectivity (CCI) public class HostAccessBean implements SessionBean { private ConnectionFactory oltpserver; private Connection oltp; public void ejbCreate() { naming = new InitialContext(); oltpserver = naming.lookup("java:comp/env/eis/MyOltpCciConnect"); } public String callHost( String input ) { oltp = oltpserver.getConnection(); Interaction ix = oltp.createInteraction(); CciCustomRecord in = new CciCustomRecord(); CciCustomRecord out = new CciCustomRecord(); ix.setInteractionVerb = SYNC_SEND_RECEIVE; ix.setFunctionName(" "); ix.execute (is, in, out); oltp.close(); return output; }

18 Anton Vorsamer JCA Resource Adapter System Schnittstellen (Inbound) Work Management Möglichkeit des Listening auf eingehende Verbindungen Message Inflow Behandlung eingehender Nachrichten Transaction Inflow Propagierung der EIS (Host) Transaktion zur J2EE Plattform EJB Invocation (Message Driven Bean)

19 Anton Vorsamer JCA Resource Adapter Anwender Schnittstellen (Inbound) Behandlung der Daten über Message Driven Beans MessageListener Schnitstelle(n) void onMessage(OltpMessage in) OltpMessage onMessage(OltpMessage in)... Datenformate der MessageListener Schnitstelle OltpMessage msg msg.getText() msg.getBytes()...

20 Anton Vorsamer JCA 1.5 Inbound Connectivity public class SimpleMessagedrivenBean implements MessageDrivenBean,OltpMessageListener { MessageDrivenContext ctx; public void setMessageDrivenContext (MessageDrivenContext ctx) { this.ctx = ctx; } public void ejbCreate(){...} public void ejbRemove(){...} public OltpMessage onMessage(OltpMessage msg) {... }

21 Behandlung von Host Daten Java und COBOL ?

22 Anton Vorsamer smsg = " " // send(smsg); rmsg = rcv();... balance = rmsg.substr(10,10); Java / Cobol Kommunikation 01 MGET-MSG. 03 ACCOUNT-NR PIC 9(10). 03 AMOUNT PIC 9(10). 01 MPUT-MSG. 03 BOOKING-CODE PIC X(10). 03 BALANCE PIC 9(10) Abzählen von Byte Positionen Fehleranfällig Problematisch bei Änderungen der Nachrichtenstruktur

23 Anton Vorsamer 01 MGET-MSG. 03 ACCOUNT-NR PIC 9(10). 03 AMOUNT PIC 9(10). 01 MPUT-MSG. 03 BOOKING-CODE PIC X(10). 03 BALANCE PIC 9(10) MgetMsg.setAccountNr( ); MgetMsg.setAmount(100.00);... send(MgetMsg); MputMsg = rcv();... MputMsg.getBalance(); MputMsg.getBookingCode(); Zugriff über Namen Gleicher Name = Gleiche Information Tool Unterstützung (Compiler) Java / Cobol Kommunikation

24 Anton Vorsamer BeanConnect Cobol2Java Tooling Erzeugen einer XML Beschreibung durch COBOL Compiler Übertragen der XML Datei zur Java Plattform Bearbeiten der XML Datei, Generierung von Java Klassen java -classpath lib/cob2java.jar;lib/xalan.jar;lib/xercesImpl.jar;lib/xmlParserAPIs.jar de.siemens.cob2java.Cob2Java samples/cobkb.xml de.vorsamer.cob2java java KCKBKOPF

25 Anton Vorsamer BeanConnect Cobol2Java Programmierung import de.siemens.cob2java.cobtypes.*; import de.vorsamer.cob2java.*; // my generated package..... Kckbkopf kb = new Kckbkopf(); // my generated class utm.rcv (Kckbkopf); // fills the data during data receive PicX user = kb.getKcbenid(); String lterm = kb.getKclogter().toTrimmedString(); Pic9Comp lkb = kb.getKclkbpb();

26 Brückenschlag zum Web Nutzung von Webservices

27 Anton Vorsamer HTTP + XML J2EE Zugriff über das Web JMS EJB Container EJB Client Web Container : HTML/XML Axis SOAP Engine RMI / IIOP Client

28 Anton Vorsamer Web Services Architektur Publish (UDDI) WSDL Service Provider WebService Service Requester Find (UDDI) WSDL Service Registry Call (SOAP) WebService Descriptions

29 Anton Vorsamer Host Services als Web Services OLTP Dienste zugreifbar als Web Service Erzeugen einer WSDL Service Definition (.wsdl file) Deployment in der J2EE Plattform oder z.B. auch Apache AXIS (.wsdd file) J2EE SOAP Server (z.B. auch Axis) Bedient die HTTP SOAP Requests Wandelt diese in EJB Aufrufe um

30 Anton Vorsamer Web Server SOAP Servlet J2EE Client JVM Web Server SOAP Client Web Browser Szenarien OLTP Server Service Program TP Monitor lokales DBMS XA HTTP / SOAP RMI / IIOP Application Server EJB JCA Connector JVM App. Server lokales DBMS XA OLTP (LU6 / OSI-TP)

31 Anton Vorsamer Web Server HTML & Applets Servlets SOAP Servlet Java Client JCA Connector JVM Web Server SOAP Client Web Browser SOAP / HTTP Verbindung Szenarien OLTP Client Verbindung OLTP Server Service Program TP Monitor local DBMS XA

32 Kunden Lösungen

33 Anton Vorsamer Kraftfahrtbundesamt / Flensburg Technische Zulassung von Fahrzeugen Kontrolle von Herstellern und Prüfungsstellen Zentrale Datenbank: Fahrzeuge und Fahrzeughalter Führerscheine Verkehrssünder Register Zugriff durch externe Behörden: Polizei der Länder BKA KBA Auskunftsdienste

34 Anton Vorsamer BS2000/OSD über TCP/IP UPIC J2EE-Web Server Servlets Bean Connect Zulassungstellen Polizei XML / HTTP HTML/HTTP XML / HTTP Architektur

35 Anton Vorsamer BfA / Berlin Rehabilitation Rente und Altervorsorge Grundsicherung ReHa Kliniken BfA ReHa Kliniken: Online Buchungsverfahren

36 Anton Vorsamer Klinikbelegung BfA BS2000 / openUTM ReHa (Host) Verfahren Verschlüsselung XML/https BfA - Architektur externe Leistungsträger

37 Anton Vorsamer... vielen Dank


Herunterladen ppt "Brückenschlag zwischen J2EE 1.4 und Mainframe Plug&Play für Hostanwendungen über JCA 1.5?"

Ähnliche Präsentationen


Google-Anzeigen