Comparison of IMS Universal drivers programming approaches for accessing IMS

Depending on your IT infrastructure, solution architecture, and application design, choose the IMS Universal drivers programming approach that is best for your development scenario.

The following table lists the recommended IMS Universal drivers programming approach to use, based on the application programmer's choice of application platform, data access method, and transaction processing option.

Table 1. Comparison of programming approaches for accessing IMS
Application platform Data access method Transaction processing required Recommended approach
WebSphere® Application Server for distributed platforms or WebSphere Application Server for z/OS®Start of changeor WebSphere Application Server LibertyEnd of change CCI programming interface to perform SQL or DL/I data operations. Local transaction processing only. Use the IMS Universal Database resource adapter with local transaction support (imsudbLocal.rar), and make SQL calls with the SQLInteractionSpec class or DL/I calls with the DLIInteractionSpec class.
CCI programming interface to perform SQL or DL/I data operations. Two-phase (XA) commit processing1 or local transaction processing. Use the IMS Universal Database resource adapter with XA transaction support (imsudbXA.rar), and make SQL calls with the SQLInteractionSpec class or DL/I calls with the DLIInteractionSpec class.
JDBC programming interface to perform SQL data operations. Local transaction processing only. Use the IMS Universal JCA/JDBC driver version of the IMS Universal Database resource adapter with local transaction support (imsudbJLocal.rar), and make SQL calls with the JDBC API.
JDBC programming interface to perform SQL data operations. Two-phase (XA) commit processing1 or local transaction processing. Use the IMS Universal JCA/JDBC driver version of the IMS Universal Database resource adapter with XA transaction support (imsudbJXA.rar), and make SQL calls with the JDBC API.
Standalone Java™ application (outside a Java EE application server) that resides on a distributed platform or a z/OS platform JDBC programming interface to perform SQL data operations. Two-phase (XA) commit processing2 or local transaction processing. Use the IMS Universal JDBC driver (imsudb.jar3), and make SQL calls with the JDBC API.
Traditional DL/I programming semantics to perform data operations. Two-phase (XA) commit processing2 or local transaction processing. Use the IMS Universal DL/I driver (imsudb.jar3), and make DL/I calls with the PCB class.
Standalone non-Java application that resides on a distributed platform or a z/OS platform Data access using DRDA protocol. Two-phase (XA) commit processing or local transaction processing. Use a programming language of your choice to issue DDM commands to IMS Connect. The application programmer is responsible for implementing the two-phase commit mechanism.
Note:
  1. XA transaction support is available only with type-4 connectivity.
  2. The driver is enabled for local and XA transactions, but the application programmer is responsible for implementing the two-phase commit mechanism. XA transaction support is available only with type-4 connectivity.
  3. The JDBC driver and the DL/I driver are provided in the same .jar file because the SQL calls made through the JDBC driver are converted into DL/I calls by using the methods and classes in the DL/I driver.