Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Brückenschlag zwischen J2EE 1.4 und Mainframe

Ähnliche Präsentationen


Präsentation zum Thema: "Brückenschlag zwischen J2EE 1.4 und Mainframe"—  Präsentation transkript:

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

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

3 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 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 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 Host Connectivity FSC / BS2000/OSD J2EE Application Server IBM / z/OS
andere Unisys über OSI-TP

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

8 Host Integration via Message Queues
J2EE Applicationserver MQ MQ 2. TA Host Asyn. Program JMS EJB Component EJB Container 1. TA EJB Component 3. TA EJB Component Access Control 5. TA EJB Component MQ MQ 4. TA Transaction Synchronisation / Commmunication MQ kann sein: JMS MQSeries UTM Message Queues (FPUT/DPUT) CICS Queues 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)

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

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

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

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

13 IMS openUTM EJB MDB J2EE Container J2EE 1.4 Adapter
Externe Connectivity CICS IMS openUTM Tuxedo SAP Siebel Baan .... J2EE Container EJB JCA 1.5 MDB JCA 1.5

14 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 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 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 ("<EIS_SPECIFIC_FUNCTION_NAME>"); oltp.snd(input); String output = oltp.rcv(); oltp.close(); return output; }

17 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("<EIS_SPECIFIC_FUNCTION_NAME>"); ix.execute (is, in, out); oltp.close(); return output; }

18 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 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 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 Java / Cobol Kommunikation
smsg = " " // send(smsg); rmsg = rcv(); ... balance = rmsg.substr(10,10); 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 Java / Cobol Kommunikation
MgetMsg.setAccountNr( ); MgetMsg.setAmount(100.00); ... send(MgetMsg); MputMsg = rcv(); MputMsg.getBalance(); MputMsg.getBookingCode(); 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) Zugriff über Namen  Gleicher Name = Gleiche Information Tool Unterstützung (Compiler)

24 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 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 Nutzung von Webservices
Brückenschlag zum Web Nutzung von Webservices

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

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

29 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 Szenarien JVM JVM Web Server App. Server JCA Connector Web Server
OLTP (LU6 / OSI-TP) RMI / IIOP HTTP / SOAP Web Server OLTP Server Application Server SOAP Servlet EJB J2EE Client JCA Connector SOAP Client Web Browser Service Program JVM JVM Servlets/JSPs laufen auf dem Webserverrechner ab und befinden sich damit hinter der Firewall. Es kann deshalb direkt eine Verbindung zu allen openUTM-Anwendungen aufgebaut werden, die sich hinter der Firewall befinden. Web Server App. Server TP Monitor XA XA lokales DBMS lokales DBMS

31 Szenarien JVM Web Server Web Server OLTP Server
Client Verbindung SOAP / HTTP Verbindung Web Server OLTP Server SOAP Servlet Java Client JCA Connector SOAP Client Web Browser Service Program JVM Servlets/JSPs laufen auf dem Webserverrechner ab und befinden sich damit hinter der Firewall. Es kann deshalb direkt eine Verbindung zu allen openUTM-Anwendungen aufgebaut werden, die sich hinter der Firewall befinden. Web Server TP Monitor XA local DBMS HTML & Applets Servlets

32 Kunden Lösungen

33 Kraftfahrtbundesamt / Flensburg
KBA Auskunftsdienste 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

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

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

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

37 ... vielen Dank


Herunterladen ppt "Brückenschlag zwischen J2EE 1.4 und Mainframe"

Ähnliche Präsentationen


Google-Anzeigen