28
Mainframe und J2EE auf Augenhöhe? JCA 1.5 am Beispiel von Oracle 10g und BeanConnect 2.0

Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

  • Upload
    lykien

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Mainframe und J2EE auf Augenhöhe?

JCA 1.5 am Beispiel von Oracle 10g und BeanConnect 2.0

Page 2: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

IT Szenario

HTTP + XML

HTTP

Web Server

Externe Server

Web Client

Host SystemeApplication

Server

DB Server

externer Server,ERP Systeme

Page 3: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Host AnwendungenHost Anwendungen bieten relativ oft geeignete Services / Funktionen für Integration

Host Anwendungen „sprechen“ i.d.R. nicht JAVA, JMS, OO, XML / SOAP

„Übersetzung / Anpassung“ in einer vorgelagerten Schicht ist daher nötig

.NET oder J2EE bieten sich an

Page 4: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Charakterisierung von Host Services (1)

Bereits heute über das Netz aufrufbar, i.d.R. eingebettet in TP Monitor Umgebungen wie CICS, IMS, openUTM

Paradigma = Servicename + Datenaustausch

Datenaustausch in Form von strukturierten, abdruckbaren Datenstrukturen (Records) im jeweiligen Host Zeichensatz (EBCDIC)

Service Paradigmen:synchron (request/reply) asynchron (send and forget)

Sprechen selbst entfernte Services nach obigen Paradigmen an

Sind in 3GL Sprachen, meist in COBOL implementiert, manchmal auch in C,PL/1 etc. oder gar noch 390/Assembler

Beschreibung dieser Daten als COBOL, C, Assembler Datenstrukturen liegt i.d.R. vor

Page 5: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Charakterisierung von Host Services (2)Wie können Host Services integriert werden?

Über entsprechende Client Bibliotheken der Hersteller

Gibt es für die gängigen PlattformenWindows, Unix, Java, ...

Vertreter sind ECI (IBM), UPIC (FSC), JCO (SAP) usw.

Direkt über Host Protokolle LU6, OSI-TP

Beide Wege können als als J2EE konforme Resource Adapter (JCA Connector) angebotenwerden

Host Protokollanbindung bietet:2PC Transaktionen asynchrone Services Bidirektionale Kommunikation (Inbound)

Page 6: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Host Connectivity

J2EE ApplicationServer

FSC / BS2000/OSD

IBM / z/OS

andereUnisys über OSI-TP

Page 7: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Host Integration via Message Queues

Host

Asyn.Program

J2EE Applicationserver

Transaction Synchronisation / Commmunication

Acc

ess

Con

trol EJB

ComponentEJBComponentEJB

ComponentEJBComponent

EJB Container

MQ MQ

MQMQ

JMS1. 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

Page 8: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Host Integration über JCA Adapter

J2EE Applicationserver

Transaction Synchronisation / Commmunication

Acc

ess

Con

trol EJB

ComponentEJBComponentEJB

ComponentEJBComponent

EJB ContainerConnectoren LU6 & OSI-TP

synchrones andasynchrones Messaging

CICS / IMS

OLTPService

openUTM

OLTPService

OSI-TP System

OLTPServiceTransaktionen

Page 9: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

J2EE Architektur

JMS

EJBContainer

EJB

EJB

WebContainer

Servlets+

JSPs

EnterpriseInformationSysteme :

Host Anwendungen

ERP Systeme

Client

Client

Client

Client

Client

Host MQ

Connectors

RelationaleDatenbanken

Connectors

MDB

JDBC

Page 10: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

J2EE Connector ArchitekturJCA 1.5 Resource Adapter

Page 11: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Externe Connectivity

CICSIMSopenUTM

TuxedoSAPSiebelBaan....

J2EE 1.4 Adapter

J2EEContainer

EJB

MDB

JCA 1.5

JCA 1.5

Page 12: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

JCA Resource Adapter System Schnittstellen (Outbound)Connection Management

Pooling etc.

Transaction ManagementPropagierung derJ2EE Transaktion zum EIS (Host) System

Security ManagementAbbildung der J2EE Security auf die EIS (Host) Security

Page 13: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

JCA Resource Adapter Anwender Schnittstellen (Outbound)ConnectionFactory

Im JNDI sichtbar, entspricht der JDBC Datasource bzw. den JMS Connectionfactories

getConnection();

getConnection(...);

ConnectionDie wichtigste Schnittstelle für den J2EE Programmierer

Stellt die Abstraktion einer Host Connection bzw. eines Host Service dar

Weitere KlassenConnectionSpec, z.B. zur Übergabe von Authentisierungsdaten

InteractionSpec, z.B. Parametrisierung der Kommunikation

Records, z.B. Definition der Übergabedaten

Page 14: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

public class SimpleConnectBean implements SessionBean{private EISConnectionFactory oltpserver;private EISConnection oltp;...public void ejbCreate() {naming = new InitialContext();oltpserver = naming.lookup("java:comp/env/eis/myOltp");}...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;}}

Nutzung von JCA (ConnectionFactory) - im Java Code

Page 15: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

<enterprise-beans><session>...<resource-ref><res-ref-name>eis/myOltp</res-ref-name><res-type>net.fsc.jca.communication.EISConnectionFactory</res-type><res-auth>Application</res-auth><res-sharing-scope>Unhareable</res-sharing-scope>

</resource-ref></session>

...

Nutzung von JCA (ConnectionFactory) –Deployment Descriptor

Page 16: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

<oc4j-connector-factories><connector-factory location=“ eis/BC_OLTP "><connectionfactory-interface>net.fsc.jca.communication.EISUpicConnectionFactory</connectionfactory-interface><config-property name="ConnectionURL" value=“oltp://UTMBS2"/>...

Nutzung von JCA (ConnectionFactory) – Deployment im Applicationserver

java -jar admin.jar ... -deployconnector-name BeanConnect -file beanconnect.rar

ConnectionFactory Definition in oc4j-ra.xml

Connector Deployment BeanConnect

Page 17: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

<orion-ejb-jar><enterprise-beans><session-deploymentname="SimpleConnect" location="SimpleConnect" ><resource-ref-mapping

name=" eis/myOltp "

location=" eis/BC_OLTP " />

...

</session-deployment>

Nutzung von JCA (ConnectionFactory) – Verknüpfung im Applicationserver

Page 18: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

JCA Resource Adapter System Schnittstellen (Inbound)Work Management

Möglichkeit des „Listening“ auf eingehende Verbindungen

Message InflowBehandlung eingehender Nachrichten

Transaction InflowPropagierung der EIS (Host) Transaktion zur J2EE Plattform

EJB Invocation (Message Driven Bean)

Page 19: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

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 SchnitstelleOltpMessage msg

msg.getText()msg.getBytes()...

Page 20: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

public class SimpleMessageDrivenBeanimplements MessageDrivenBean

, OltpMessageListener{MessageDrivenContext ctx;...public void setMessageDrivenContext (MessageDrivenContext ctx){this.ctx = ctx;}...public OltpMessage onMessage(OltpMessage msg){...

msg.getText();...}}

Nutzung von JCA (MessageListener) - im Java Code

Page 21: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

<enterprise-beans><message-driven><ejb-name> OltpMsgReader </ejb-name>...

<messaging-type>net.fsc.jca.communication.OltpMessageListener

</messaging-type>...

<activation-config><activation-config-property><activation-config-property-name>messageEndpoint

</activation-config-property-name><activation-config-property-value>forOltpMsgReader

</activation-config-property-value></activation-config-property>

</activation-config></message-driven>...

Nutzung von JCA (Inbound) – Beschreibung im Deployment Descriptor

Page 22: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

...<resourceadapter><config-property><config-property-name>inboundListenerPort</config-property-name><config-property-type>java.lang.String</config-property-type><config-property-value> 31099 </config-property-value>

...

Nutzung von JCA (InBound) – Bereitstellung im Applicationserver

java -jar admin.jar ... -deployconnector-name BeanConnect -file beanconnect.rar

Inbound Port Definition in ra.xml

forOltpMsgReaderMessage Endpointin Resource Adapter Konfiguration definiert

Page 23: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

<orion-ejb-jar><enterprise-beans><message-driven-deploymentname=" OltpMsgReader "

resource-adapter=" BeanConnect ">

...</message-driven-deployment>

Nutzung von JCA (Inbound) – Verknüpfung im Applicationserver

Page 24: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

Web Server

SOAP Servlet

J2EE Client

JVM

Web Server

SOAP Client

WebBrowser

Szenarien

OLTP Server

ServiceProgram

TP Monitor

lokales DBMS

XA

HTTP / SOAP RMI / IIOP

Application Server

EJB

JCAConnector

JVM

App. Server

lokales DBMS

XA

OLTP(LU6 / OSI-TP)

Page 25: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Demo

Page 26: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

BeanConnect Walter Schober © Fujitsu Siemens Computers 2004 All rights reserved26

Anton Vorsamer

BeanConnect 2.0 (JCA 1.5) – ArchitekturTransactional

JCA ConnectorBeanConnect

IBM CICSopenUTM

JCA

1.5

Con

trac

ts

LU 6.2

OSI-TP

EJB

EJB

MDB

sync.Service

KB

asyncService

ASYNC

RemotecallingService

OSIMDB

Proxy Service

Msg. Endpoint

Proxy Service

Page 27: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

BeanConnect Walter Schober © Fujitsu Siemens Computers 2004 All rights reserved27

Anton Vorsamer

BeanConnect 2.0 (JCA 1.5) – ArchitekturTransactional

JCA ConnectorBeanConnect

IBM CICSopenUTM

JCA

1.5

Con

trac

ts

LU 6.2

OSI-TP

EJB

MDB

sync.Service

KB

asyncService

ASYNC

RemotecallingService

OSIMDB

Proxy Service

Msg. Endpoint

Page 28: Mainframe und J2EE auf Augenhöhe? - alt.java-forum ...alt.java-forum-stuttgart.de/jfs/2005/folien/E5_Fujitsu-Siemens.pdf · J2EE Architektur JMS EJB Container EJB EJB Web Container

Anton Vorsamer

... vielen Dank