Brückenschlag zwischen J2EE 1.4 und Mainframe

Slides:



Advertisements
Ähnliche Präsentationen
Transaction Synchronization for XML Data in Client Server Web Applications Stefan Böttcher & Adelhard Türling Universität Paderborn.
Advertisements

Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
1 Sascha Michael Competence Manager Integration Umsetzung einer SOA-basierten Retail Plattform.
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Dr. M. Schlottke Common Description of Web Services Source: P. Gerbert, 2002 Web Services allow to establish B2B e-commerce on the fly Web Services allow.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Internetzugriff mit Strings und Streams
JDBC & ODMG Motivation - Beispielanwendung JDBC - DriverManager - Connection - Statement - ResultSet Anwendung ODMG - Objektmodell /ODL - OQL - Java-Binding.
Seite 1 Reinhard Huber Anna Völkl ITTBA Apache Tomcat Anna Völkl, Reinhard Huber
Java 2 Enterprise Edition (J2EE)
Dynamische Webseiten Java servlets.
Microsofts XML-Strategie aus Sicht des Endanwenders Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Kommunikation in verteilten Systemen (Middleware)
Objektorientierte Programmierung JDK-Klassenbibliothek
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Java2 Enterprise Edition René Noack Mai 2003
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Compuware Corporation MDA and Pattern how to do more with less Andreas Herzig Java Solutions Manager Central Europe.
J2EE Conformance von JDBC Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)
Verteilte Transaktionen mit EJBs und JDBC 2.0
GSI GSI Status Juni 2005 Michael Dahlinger, IT 14/6/2005.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
Enterprise JavaBeans Architektur Folien zum IFC-Vortrag am
Microsoft Office Forms Server
Servlet III Java Webanwendung Webcontainer Web.xml
Enterprise Application Integration
OOD – Object Oriented Design II
Plan & Vision Roland Keck Head of Product Management.
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
Sanjay Patil Standards Architect – SAP AG April 2008
Webservice Grundlagen
EJB-Applikationsserver
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
EsprIT 1 Übersicht in Bildern Framework zur Entwickung von Java Applikationen Client/Server, GUIs, Datenbank,
Projekt Alcatraz Java RMI / Spread - Gruppe A4.
Management- und Web Services- Architekturen
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Kap 4-1OHO Kap. 4.2 Das Orbix CORBA-System Kurzer überblick zu der CORBA-Implementierung Orbix •Unser Fahrplan: •IDL Verwendungsbeispiel •Zoom-In: CORBA.
Web Services Semistrukturierte Daten 1 – Gruppe 6.
JSP Einführung Skripte Direktiven Tomcat 3.2 Version 1.1
XML IV: Cocoon 2.
Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Web Application Engineering & Content Management.
Semesterarbeit SOA CRYSTL-PIM Product Information System
Management- und Web Services- Architekturen
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
7.1.5 Java RMI – Remote Method Invocation
Informations-Forum: SAP Interoperabilität
Die nächste Generation von Microsoft Office System 2007 Microsoft Office System Gernot Kühn Technologieberater Office System Mittelstandsbetreuung.
Infopoint - Java EE 5 - Jörg Wüthrich1 / 24 Java EE 5 Infopoint, Jörg Wüthrich.
Einführung in Web Services Web Services in der Praxis
Agile ALM for Plex/2E CM MatchPoint ALM. Themen Agenda CM MatchPoint ALM Übersicht CM MatchPoint 5.2 Web und Mobile Entwicklung Agile ALM / DevOps CM.
Transaktionale Systeme Projektteil B Verteilte Transaktionen, Workflow- und Transaktions-Manager.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Jürgen Vester Manager Sales Consulting Stuttgart Webreporting für SAP R/* mit Oracle Application Express (ehem. HTML DB)
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Verteilte Anwendungen: J2EE
Business Process Excuction Lanaguage
 Präsentation transkript:

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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; }

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; }

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)

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()

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) { ...

Behandlung von Host Daten Java und COBOL ?

Java / Cobol Kommunikation smsg = "4711 100.00 " //12345678901234567890 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

Java / Cobol Kommunikation MgetMsg.setAccountNr(12345678); 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)

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

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();

Nutzung von Webservices Brückenschlag zum Web Nutzung von Webservices

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

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

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

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

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

Kunden Lösungen

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

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

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

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

... vielen Dank