DB2 version 10 – Improvements related to Application Integration
Service Oriented Architecture (SOA) that facilitates code reuse, interoperability, service management and system integrity is becoming a norm in today’s IT development. In latest version of DB2 (version 10), IBM has introduced quite a Application Integration features in DB2 version 10 aimed at further simplifying and improving the usage of distributed function of DB2 through SOA.
Single Load module across environments using DSNULI
Prior to version 10, the DB2 applications must be link-edited with the appropriate Language Interface modules – DSNRLI for RRSAF and Stored Procedures, DSNALI for Call Attachment Facility (CAF), DSNELI for TSO Attachment Facility, DSNCLI for CICS Attachment and DFSLI00 for IMS Attachment. Even if the same program logic is to run in different environments, multiple link-editing has to be done and this obviously resulted in usability issues.
DB2 version 10 provides the new Universal Language Interface module (DSNULI) to address this issue. Now you can produce a single module (link-edited with DSNULI) that is executable in any of the following runtime environments: CAF, CICS, TSO and RRS (Resource Recovery Services) and MVS Batch. DSNULI does not support dynamic loading or IMS applications.
DSNULI has nine entry points – associated with different attachment scenarios. It dynamically loads and branches to the appropriate language interface module based on the entry point used by the application (say when a attachment facility entry point was used explicitly), or based on the current environment. Naturally, this kind of execution time detection hinders performance, so there is a trade-off between ease of application deployment and the application speed.
Enhanced performance and diagnostic monitoring support
DB2 10 for z/OS enhances performance monitoring support and monitoring support for problem determination- especially so for distributed workloads. Using Instrumentation Facility Interface (IFI), it captures and externalizes monitoring information for consumption by tooling.
It introduces a unique statement execution identifier (STMTID), defined at the DB2 for z/OS server, returned to the DRDA application requester and captured in IFCID records for both static and dynamic SQL. To support problem determination, the statement type (dynamic or static) and new statement execution identifier (STMT_ID) are externalized in several existing messages (including those related to deadlock, timeout, and lock escalation). In these messages, the STMTID associated with thread information that can be used to correlate the statement execution on the server with the client application on whose behalf the server is executing the statement.
DB2 version 10 also includes new trace records that provide access to performance monitoring statistics in real time, and allow retrieval monitoring data without requiring disk access. Some existing trace records that deal with statement-level information are modified to capture the new statement ID and new statement-level performance metrics.
Java query performance improvements
With version 10, IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to local DB2 for z/OS data servers uses more efficient methods for processing forward only, read-only queries:
- Limited block fetch protocol
- True progressive streaming for retrieval of LOB and XML data
- Query buffers that reside in 64-bit addressable storage for applications that run in a 64-bit JVM
Elimination of DDF private protocol
With DB2 version 10 onwards, DDF private protocol is not supported. A REXX tool (DSNTP2DP) is provided to prepare a DB2 subsystem to convert from the private to DRDA protocol.
DRDA support of Unicode encoding for system code pages
DB2 version 10 includes DRDA support of Unicode encoding providing improved response time and less processor usage for remote CLI and JDBC applications as it removes the need for converting DRDA instance variables between EBCDIC and Unicode.
Support for 64-bit ODBC driver
In addition to the 31-bit ODBC driver, DB2 Version 10 provides a new 64-bit ODBC driver (XPLINK only) that allows 64-bit ODBC applications to take advantage of the expanded 16 million TB address space. The 64-bit ODBC driver runs in 64-bit addressing mode and reduces the virtual storage constraint, as it can access the user data above the 2 GB bar in the application address space.
One of the most important change is the introduction of Extended indicator variable that allows inserts and updates of different combinations of subset of columns – improving reusability. I shall elaborate on Extended Indicated variable in a later blog.
Clearly these enhancements are aimed at making DB2 – especially the DB2 in zOS – as the database of choice in an SOA environment. More such changes are expected to follow in the later versions – adapting DB2 to the needs of the today.