Last month in JDJ (Vol. 6, issue 5) we looked at the Java 2 Platform, Enterprise Edition (J2EE) connector architecture (JCA) and its common client interface (CCI). To recap, JCA is the part of the J2EE 1.3 specification that facilitates the integration of Java applications with Enterprise Information Systems (EISs). The term EIS refers to a number of systems such as ERP, legacy databases, or transaction processing systems.
As we saw in the last issue, integrating these systems into a modern e-business architecture is complicated, to say the least. The APIs that these systems provide, if they provide one at all, are in general proprietary and require the developer to reinvent the process for each and every system that needs integration. JCA is Sun's proposed solution to this problem. It should do for EIS integration what JDBC did for relational database access.
EAB and CCF
As the vendor of CICS, MQSeries, Encina, IMS, and Host on-Demand, IBM has a vested interest in EISs. Since 1998 they've delivered a framework for accessing them (and SAP R/3) in VisualAge for Java. That product's Enterprise Access Builder for Transactions (EAB) feature and the common connector framework (CCF) bear a striking resemblance to JCA and CCI and it's easy to see why; IBM is a member of the expert group conferring with Sun on JCA.
Both JCA and CCF define abstract objects for connections, interactions, transaction management, and input and output structures. They both assist the application server to better manage resources, such as connection pools for the EIS connections.
At present there's one big difference. JCA isn't formally released yet and it's not implemented by any application server or tool vendor. EAB and CCF are available now, robust and mature. If you need to integrate any of the EAB-supported EISs, you can leverage the power of this framework now. Of course, since JCA is still a draft specification, you may need to make some changes to your applications when the architecture is finalized.
The ADDER Example
To illustrate EAB we'll use it to develop a set of classes in VisualAge for Java. These classes will encapsulate a single back-end transaction. For simplicity, we'll use a sample CICS transaction that comes bundled with VisualAge for Java. If you have a CICS host available, you can actually compile and link the transaction into the CICS subsystem to try it out.
The name of the CICS program is ADDER. It accepts two integer values for input and returns their sum. The COBOL source, located in the file <VAJavaRoot>\eab\samples\com\ibm\ivj\examples\eab\adder\adder.ccp, defines this record structure:
01 DFHCOMMAREA.
02 op1 PIC S99999 DISPLAY.
02 op2 PIC S99999 DISPLAY.
02 res PIC S99999 DISPLAY.
02 keyNum PIC X(5) DISPLAY.






