320 likes | 507 Views
Transactional Connectivity of Webservices with Mainframe Applications. Anton Vorsamer Fujitsu-Siemens Computers Tel: +49 89 636 47524 Email: Anton.Vorsamer@fujitsu-siemens.com. IT Scenario. Host Systems. Application Server. Web Client. Web Server. HTTP. internal Server ERP Systems.
E N D
Transactional Connectivity of Webservices with Mainframe Applications Anton VorsamerFujitsu-Siemens ComputersTel: +49 89 636 47524Email: Anton.Vorsamer@fujitsu-siemens.com
IT Scenario Host Systems ApplicationServer Web Client Web Server HTTP internal ServerERP Systems Web Services HTTP + XML DB Server PC Client external Server
WebContainer : EJB EJB Servlets+JSPs HTML/XML J2EE Architecture 1.3 EnterpriseInformationSystems : EJBContainer Client Relational Databases JDBC Client Connectors Client MDB Legacy ApplicationsERP Systems Client new JMS Client
WebContainerTomcat BeanTransactions EJB EJB Servlets+JSPs J2EE Architecture & BeanTransactions EnterpriseInformationSystems : EJBContainerBeanTA Client Relational Databases JDBC Client Connectors Client Connectors Legacy ApplicationsERP Systems MDB Client Host MQ JMS Client
Application Server Cobol Suite Spot C++ , C Access Control / Transactional Security Communications UNIX Workstation Application BeanTransactions Application Server Web-Client Standard Web Browser Standard Web Server DBMS JAVA Client Windows NT Windows PC UNIX Terminal
Application Server Cobol Suite Spot C++ , C Access Control / Transactional Security Enterprise JavaBeans Component Communications UNIX Workstation Application OSI-TP LU6.1 LU6.2 TCP/IP IIOP Interoperability • openUTM • IBM CICS, IMS/DC, MQSeries • OSI-TP Applications • TCP/IP Applications • SAP R/3 • ... openUTM and BeanTransactions Web-Client Standard Web Browser Standard Web Server DBMS JAVA Client Windows NT Windows PC UNIX Terminal
FSC / BS2000 ApplicationServer IBM / MVS BeanTransactions (Connectivity) other e.g.. Unisys over OSI-TP
openUTM OLTPService openUTM-Applicationserver OSI-TP System EJB Component EJB Component OLTPService EJB Component EJB Component CICS / IMS OLTPService BeanTransactions : Connectivty Application Server Transactions Connectors LU6 & OSI-TP synchronous and asynchronous Messaging EJB Container Access Control Transaction Synchronisation / Commmunication
“Builtin Connector” Bean // Business Methods public class openUTMBean implements SessionBean { private openUTMConnectivity utm; private openUTMConnectivitySource utmserver; // EJB Methods public void ejbCreate() { naming = new InitialContext(); utmserver = naming.lookup("java:comp/env/legacy/MyUtmConnect"); utm = utmserver.getConnection(); } // Business Methods public String callUTM( String input ) { return utm.call(input); } }
JCA Connector Bean // Business Methods public class openUtmJcaBean implements SessionBean { private ConnectionFactory cf; // EJB Methods public void ejbCreate() { ic = new InitialContext(); cf = (ConnectionFactory)ic.lookup("java:comp/env/eis/myUtmConnect"); UtmJConnectJUpicInterface utm = (UtmJConnectJUpicInterface)cf.getConnection(); } // Business Methods public String callUTM( String input ) { return utm.call(input); } }
Java / Cobol Program-Program Communication 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) Counting of byte positions Error proneDifficult manual change management
Java / Cobol Program-Program Communication Mget.Msg.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) Access via names Same name = same informationTool supported change management (compiler)
Mapping of Messagestructures COBOLCopy JavaClass JavaCompiler Cobol / XMLCompiler XMLDescr. JavaSource XSLT Script
WebContainer : EJB EJB RMI / IIOP HTTP +XML Servlets+JSPs HTML/XMLSOAP J2EE Access & Webservices Client EJBContainer RMI / IIOP Client Client Client Client JMS Client
XML Access & Web Services • Platform independent data exchangeXML (eXtensible Markup Language) • Open standard • No compiled data records / loosely coupled contracts • Standard JAVA interfaces available • C and COBOL interface in openUTM
Standard Web Services • Ubiquity. Web services communicate using HTTP and XML. Therefore, any device which supports these technologies can both host and access Web services. • Interoperability. Any Web service can interact with any other Web service. SOAP is the assumed protocol standard. • Low barrier to Entry. The concepts behind Web services are easy to understand and free toolkits from vendors like IBM and Microsoft allow developers to quickly create and deploy Web services. In addition, some of these toolkits allow pre-existing COM components and EJBs to be easily exposed as Web services. • Industry Support. All of the major vendors are supporting SOAP and the surrounding Web services technology. The Microsoft .NET and the Sun ONE platforms are based on Web services.
Standard Web Services Challenges • Naming & Discovery ?WSDL (Web Services Definition Language) and UDDI (Universal Description, Discovery and Integration) are two new standards that promise to address this issue. • Security ? • Transactions & State Management ? • Reliability&Scalability ? • Manageability ? • Testing ?
Standard Web Services (WSDL) <?xml version="1.0"?> <definitions name="HostConnect"> <message name="HostConnectInput"> <part name="TAC" element="xsd:string"/> <part name="Input" element="xsd:string"/> </message> <message name="HostConnectOutput"> <part name="Output" type="xsd:string"/> </message> ....
WebServiceDescriptions Publish (UDDI) Find (UDDI) ServiceRegistry WSDL WSDL ServiceRequester ServiceProvider Call (SOAP) WebService Web Services Architecture
EJBs as Web Services • Make EJBs accessible as Web Service • Generate a WSDL Service Definition for a EJB (.wsdl file) • Generate a Deployment Descriptor for Apache AXIS (.wsdd file) • Apache AXIS Server • Serves the HTTP SOAP requests • Is the EJB client for BeanTransactions
Apache-Axis Deployment descriptor BeanTA EJBJar archive .wsdd file Web Service description .wsdlfile Apache Axis SOAP Server Script
OLTPconnectionUPIC distributedtransaction processing Web Server LU6.x, OSI/TP OLTP Server SOAP Servlet Applicationerver Java Client ServiceProgram JVM SOAP Client Web Server WebBrowser openUTM XA local DBMS Direct Access of Host Services HTTP / SOAPconnection
distributedtransaction processing Web Server LU6.x, OSI/TP OLTP Server EJB SOAP Servlet OLTPclasses Applicationerver EJBclient ServiceProgram JVM JVM App. Server SOAP Client Web Server WebBrowser XA openUTM local DBMS XA local DBMS Indirect Access of Host Services (Applicationserver) OLTPconnection(LU6 / OSI-TP) RMI / IIOPconnection HTTP / SOAPconnection Application Server
Tax return Tax office Tax declaration Internet income tax sales tax trade tax ... citizen / tax advisor / company
ELSTER Architecture Central data access validation formattingauthentication at trust center creation of printouts distribution to the countries Countries Heterogeneous host systems in 16 countries (BS2000, MVS) XML/https WISO eSteuer 2000 Encryption XML/https XML/https tax processing Companies / Authorities
Kraftfahrtbundesamt / Flensburg • Technical approval for vehicles • Control of inspection authorities and manufacturers • Central database of all:vehicles and vehicle owners drivers licensescentral registration of traffic offenders • Access for other authorities:Police of the countriesBKA (federal police)
KBA Architecture HTML/HTTP BS2000/OSD Admission offices Web-Server XML/HTTP Servlets UPIC overTCP/IP BeanTransactionsJConnect Police XML/HTTP
BfA / Berlin • Rehabilitation • Rente und Altervorsorge • Grundsicherung • ReHa Kliniken
BfA - Architecture BfA BS2000 / openUTM XML/https Verschlüsselung XML/https externeLeistungsträger XML/https Booking ReHa (Host) Application
OLTP Services Web Services Web Service to Host Scenario EISplatform Host Systems J2EEplatform ApplicationServer external Server,ERP Systems Externalplatform Web Server DB Server