Oracle Modernization Solutions
上QQ阅读APP看书,第一时间看更新

Chapter 4. SOA Integraton — Scenario in Detail

We are now going to show an example in detail for Scenario Two — Web Enablement, which we have discussed inChapter 3. We will use JSP, JDBC, the Oracle Legacy Adapter, Oracle Application Server, Java EE Connector API, and XA transaction processing to show a two-phase commit across an Oracle database and VSAM on the mainframe.

Why access legacy data instead of CICS, or presentation-tier integration? Remember inChapter 3, I had said, "This is ultimately the source of the truth. This is where the data you want is contained. If you are using any of the other three artifacts, these methods will ultimately call the data store". We have access to the COBOL copybooks and actual VSAM file so there is no need to perform presentation tier integration.

Another reason for choosing VSAM with Java EE is that there is a tutorial on Oracle BPEL using CICS. The Oracle CICS BPEL Legacy SOA integration tutorial can be found here:http://www.oracle.com/technology/products/integration/adapters/pdf/adapter-Tutorial2-InvokingCICSTransaction.pdf. This tutorial integrates the BPEL Process Manager with CICS through the Oracle Application Server Legacy Adapter. The Adapter uses EXCI (EXternal Call Interface) to invoke CICS transactions and uses COMMAREA transactions to exchange message buffers. The Adapter creates a metadata schema for CICS by importing COBOL copybooks and transforming them into mapping definitions for Oracle Connect for CICS on the z/OS machine, and then associating the metadata structures with specific physical files. You may find a review of this tutorial beneficial. Remember that we are using JSP/JDBC/VSAM instead of BPEL/CICS.

Assumptions:

  • Oracle software is downloaded and installed using the instructions from Oracle.
  • No tutorials on Oracle Application Server and Oracle JDeveloper are included in this chapter because there are many of them on otn.oracle.com.
  • There is no duplication of Oracle Legacy Adapter tutorials that already exist.

Prior to this release, 10.1.3 Oracle Containers for Java (OC4J's) transaction manager required an Oracle database to perform the two-phase commit protocol when using global transactions that span work in multiple databases. The 10.1.3 release includes a two-phase commit coordinator embedded in OC4J that can perform recovery, and no longer requires the database commit coordinator. The new coordinator may be used with resource managers from any vendor that exposes an XA resource as defined in the JTA specification. More information on JTA can be found here:

The challenging part here is to configure your mainframe environment with Oracle Connect. As mentioned inChapter 3, data center folks do not like new products on their mainframe. The most challenging part for us, therefore, is the two-phase commit because Oracle Connect will be installed on the mainframe for us. The remaining work — of exposing legacy VSAM data services via Oracle Legacy Studio, Oracle database access objects, and JSP user interface — is simpler.

We believe that this example has never been demonstrated before. Someone may have done it, but we are sure that there are no documented examples of a Java EE application doing a two-phase commit across Oracle and VSAM using the Oracle Legacy Adapters. So we hope you enjoy getting your 'hands dirty' with a fresh look at SOA Legacy Integration.

We cannot possibly take you through all the steps and show you all the code in this chapter. Therefore, we have posted the Oracle JDeveloper project file including all documentation, source code, and diagrams here: http://www.packtpub.com/files/code/4060_Code.zip.

Note

Keepin It Real: The objective of this chapter is to show you how to get started with a two-phase commit Legacy SOA Integration project. We don't want to re-invent what is already available at the Oracle technology Network (OTN) websiteotn.oracle.com. So, when information and instructions already exist, we will point you to the appropriate location on OTN.