® Modernization with IBM WebSphere eXtended Transaction Runtime IBM Redbooks Solution Guide IBM® WebSphere® eXtended Transaction Runtime (WXTR) is a distributed online transaction processing (OLTP) environment to host COBOL and C applications with IBM WebSphere Application Server on AIX®. It enables modernization and extension of business applications that are written in COBOL and C into a Java Enterprise Edition (Java EE) environment and helps to realize the benefits of a tightly integrated managed environment. WXTR provides basic runtime connectivity between Java EE applications and COBOL and C applications, which eases the integration required for composite applications in an enterprise environment. Through tight integration with the system management capability of WebSphere Application Server, you can achieve easy deployment, administration, and optimization of services, increasing administration efficiency for managing mixed language transactional applications. Figure 1 summarizes the benefits of WXTR. Figure 1. Benefits of WXTR Modernization with IBM WebSphere eXtended Transaction Runtime 1 Did you know? Many clients have invested much time and effort in the development of business logic in COBOL and C applications. They realize that the value of those applications can be unlocked and extended by using Java EE. By establishing WebSphere eXtended Transaction Runtime as a core component of an enterprise IT architecture, alongside WebSphere Application Server, an organization can have a highly responsive, tightly integrated composite application-serving infrastructure for modern COBOL, C, and Java workloads. This solution provides the ability to effectively optimize and modernize these COBOL and C assets, in addition to capitalizing on enterprise-wide skills to consolidate IT infrastructure around WebSphere Application Server as the core hosting server in a distributed environment. Business value The major benefits of a WebSphere eXtended Transaction Runtime solution are in two broad areas: A tightly integrated managed environment Integrated application development WXTR includes functions that together provide a tightly integrated, managed environment to host Java, C, and COBOL applications, particularly applications based on IBM CICS®, under the same WebSphere Application Server instance, effectively allowing them to be treated as a single application. For example, a Java application that is in WebSphere Application Server can access a C or COBOL application in WXTR as an extension of a Java application or as a web service. WXTR provides support for CICS data management facilities such as files and queues stored in an IBM DB2® database. In addition, WXTR provides a common administration facility to manage both COBOL and C assets and Java EE assets within the WebSphere Application Server administration console. As a benefit, administration personnel have a reduced learning curve and can easily and efficiently deploy, administer, and optimize services. IBM Rational® Developer for Power Systems™, with WXTR, provides a modern application development experience across Java EE applications and COBOL and C applications. Developers can use it to perform operations such as developing, deploying, and debugging applications within a single integrated development environment (IDE), improving productivity. Deployment of WXTR with WebSphere Application Server provides enterprise-class scalability to composite applications. With WXTR and WebSphere Application Server as the core of a serving infrastructure, existing assets can be retained and extended in a modern, hybrid application environment. Modernization with IBM WebSphere eXtended Transaction Runtime 2 Solution overview WebSphere eXtended Transaction Runtime provides an execution environment for hosting COBOL and C business applications within IBM WebSphere Application Server. It offers a tightly integrated and managed environment for hosting Java EE applications and modern COBOL and C applications with interoperability between the workloads of each application. WXTR provides basic runtime connectivity with standard interfaces between Java EE applications and COBOL and C applications, which significantly eases integration in an enterprise environment. Java applications can connect and invoke C or COBOL applications through standard connection interfaces that are based on Java EE Connector Architecture (JCA) or Service Component Architecture (SCA). WXTR also offers a unique system management capability that is tightly integrated with WebSphere Application Server. This feature enables easy deployment, administration, and optimization of services. It also significantly increases efficiency for managing mixed-language transactional applications. As an extension to WebSphere Application Server, WXTR provides a unified environment to host, manage, and maintain composite transactional applications that consist of COBOL, C, and Java components. Even composite applications with two-phase commit transactions and mixed-language components can be easily deployed and maintained within WXTR and WebSphere Application Server. Security context, transaction context, and data can be seamlessly shared across the composite applications for improved architectural flexibility. Deployment of WXTR with WebSphere Application Server provides enterprise-class scalability to composite applications. With WXTR and WebSphere Application Server as the core of a serving infrastructure, existing assets can be retained and extended in a modern, hybrid application environment (Figure 2). Figure 2. Hybrid application environment Modernization with IBM WebSphere eXtended Transaction Runtime 3 Solution architecture As shown in Figure 3, the two major components, which are the run times for WebSphere Application Server and WebSphere eXtended Transaction Runtime, exist separately but are joined with an adapter. The WebSphere run time runs on a Java virtual machine (JVM), where the WXTR run time is a collection of native operating system processes. The WXTR run time runs COBOL and C applications, and the WebSphere run time runs Java EE applications. Figure 3. WXTR architecture, which is a tightly integrated, managed environment for Java and COBOL applications Both run times run on the AIX platform. The WXTR run time needs to connect to a DB2 database or Oracle database that can reside in the same machine as WXTR or in a remote machine. The different functions that WXTR supports can be classified into the following categories: Tightly integrated managed environment WXTR includes functions that, together, provide a tightly integrated, managed environment to host Java, C, and COBOL applications under the same WebSphere Application Server instance. A Java application that is in WebSphere Application Server can access a C or COBOL application in WXTR by using the JCA interface or the SCA interface. Application errors that arise within the C or COBOL executable are propagated to the Java application as Java exceptions and are handled accordingly. User data is passed among Java, C, and COBOL applications by using COMMAREA in a character format. Popular IDEs, such as Rational Developer for Power Systems, provide a binding feature to simplify this mapping process. Data management WXTR provides support for CICS data management facilities such as files and queues that are stored in a DB2 database. It supports record-level locking on fixed-length and variable-length records, and allows Virtual Storage Access Method (VSAM)-style access to the data that is stored in DB2. WXTR also supports temporary storage and transient data queues. The temporary storage queues are for shared reading, writing, and updating of data by multiple transactions. The transient data queue service provides a generalized queuing facility for internal or external processing. Selected data that is specified in the application program can be routed to or from predefined symbolic destinations. These extra partition destinations are queues that can reside on any system resource and can be accessed by programs within and across regions. Any system file can be processed sequentially with WXTR transient data. Modernization with IBM WebSphere eXtended Transaction Runtime 4 Unified system administration WXTR works in a two-in-one mode by using a highly optimized local adapter. The WebSphere run time handles the Java EE applications, and the WXTR run time handles the COBOL and C applications. With the unified system administration, the COBOL and Java EE assets can be managed within the WebSphere Application Server administrative console. This feature reduces the learning curve for administrative personnel and allows them to easily and efficiently deploy, administer, and optimize services. Administrators can view and modify the WXTR service properties by using the WXTR administration panel in the WebSphere administrative console or by using WebSphere administration scripts. The unified administration allows for the creation of user groups with predefined privileges to run certain administrative tasks, reducing the dependence on administrative personnel and improving overall productivity. WXTR also enables nonroot users to perform a predefined set of administrative tasks without having root user privileges. Integrated application development and debugging Rational Developer for Power Systems, with WXTR, can provide a productive application development experience across Java EE and COBOL applications. By using this combination, you can develop, deploy, and debug applications within a single IDE to improve productivity. Application developers can step into and inspect a COBOL program from a Java EE application. Similarly, data exchange between COBOL and Java EE applications can be achieved by using the IBM CICS IMS™ Java Data Binding feature of Rational Application Developer. Usage scenarios A WebSphere eXtended Transaction Runtime solution is realized in various deployment scenarios (illustrated in Figure 4) and is supported by tooling options to assist with these deployment configurations. Figure 4. Types of WXTR workloads Modernization with IBM WebSphere eXtended Transaction Runtime 5 WXTR is suitable for the following cases: Existing distributed COBOL and C workloads By using WXTR, customers can retain their existing COBOL and C assets when they consolidate the infrastructure around WebSphere Application Server. The assets can be brought into an enterprise service-oriented architecture (SOA) environment by using the JCA or SCA interfaces in WXTR. The assets can then connect through an enterprise service bus to interoperate with workloads in WebSphere Process Server, WebSphere MQ, WebSphere Message Broker, or any other product that supports native MQ transport. Transaction processing workloads (COBOL and C) that are not from IBM By using WXTR, customers who are currently running transaction processing solutions (not from IBM) can modernize their COBOL and C assets and center their future IT infrastructure around WebSphere Application Server, creating an agile, flexible, SOA-centric application infrastructure. Existing COBOL and C workloads running on IBM TXSeries Existing TXSeries customers who have COBOL or C workloads extended to WebSphere Application Server can benefit from the tighter connectivity of Java workloads within WXTR. This feature enables smoother and easier integration of COBOL and C assets into the SOA environment and improved management of mixed-language applications. The unified system management between WXTR and WebSphere Application Server makes it easy for administrators to deploy, administer, and manage COBOL and C assets within WebSphere Application Server, resulting in improved efficiency. IBM System z® workloads that are moving to distributed platforms CICS Transaction Server and WebSphere Application Server for IBM z/OS® are the premium hosting environments for modern COBOL and C applications that are extended to Java EE. For customers who do not require the benefits of the System z platform and who want to continue investing in application modernization, WXTR provides a distributed alternative. Modernization with IBM WebSphere eXtended Transaction Runtime 6 Topology scenarios WebSphere eXtended Transaction Runtime can be deployed across one or more servers to meet business and user expectations. Because WXTR exists as a container in WebSphere Application Server, its deployment patterns depend on how WebSphere Application Server is deployed. WebSphere Application Server, in turn, supports many deployments, from a single, stand-alone server to more complex deployments that consist of clusters of application servers that are spread across physical systems. A WXTR deployment with a single individual (or stand-alone) WebSphere Application Server (Figure 5) can be created by using any WebSphere Application Server product that is supported by WXTR. This configuration is commonly set up as a development or test environment. Figure 5. Single (or stand-alone) server topology Modernization with IBM WebSphere eXtended Transaction Runtime 7 A more typical business deployment consists of multiple application servers that are managed under a single deployment manager as shown in Figure 6. The application servers can be grouped on the same system (vertically clustered) or across different systems (horizontally clustered). Managing a group of servers under one deployment manager requires WebSphere Application Server Network Deployment. Figure 6. Horizontal cluster topology Modernization with IBM WebSphere eXtended Transaction Runtime 8 Application interfacing scenarios WebSphere eXtended Transaction Runtime supports the following interfacing scenarios: Execution of C or COBOL applications as extensions of Java EE applications by using JCA WXTR provides JCA Common Client Interface (CCI) APIs to interact with CICS COBOL programs and data from Java EE programs. Java application developers can use the WXTR-supplied com.ibm.wxtr and com.ibm.wxtr.utils packages to create connections to and interact with CICS C or COBOL applications. Figure 7 shows an example of interfacing with a COBOL application. Figure 7. JCA interface for Java applications Modernization with IBM WebSphere eXtended Transaction Runtime 9 Execution of C or COBOL applications as web services by using SCA SCA provides a model for creating applications that follow SOA principles. WXTR exposes an SCA service, called WXTRService, with an SCA component, called WXTRService Component. Figure 8 illustrates an example of invoking a COBOL program that is deployed in WXTR. Figure 8. SCA interface for Java applications Integration WebSphere eXtended Transaction Runtime works with the following IBM products to provide and enhance the application modernization process: WebSphere Application Server and WebSphere Application Server Network Deployment WXTR is compatible with and extends either one of these application server options. Rational Developer for Power Systems Rational Developer for Power Systems provides a modern IDE on which COBOL and C applications can be developed. WXTR provides Java code templates for calling COBOL and C programs. It also provides makefile templates for building COBOL and C programs (CICS style) in Rational Developer for Power Systems. Also, you can use Rational Developer for Power Systems to debug Java EE applications, even as far as stepping into a COBOL program to provide an end-to-end debugging experience. COBOL and C applications developed in Rational Developer for Power Systems are automatically deployed to WXTR, similar to how Java EE applications are deployed automatically to WebSphere Application Server from Rational Application Developer or Rational Developer for Power Systems. Modernization with IBM WebSphere eXtended Transaction Runtime 10 Rational Application Developer The Rational Application Developer IDE provides the Importer component from the CICS IMS Java Data Binding feature that enables application developers to share mixed-type data across Java EE and COBOL or C environments. By using the Importer, you can import existing COBOL or C programs and generate metadata information about data structures (such as a COMMAREA in a CICS COBOL or C program) to the Java data binding tool through a process of data type transformation. The Importer maps data types in source files to a corresponding data type that can be accessed in a Java application, which provides a convenient and easy way to transfer data between Java EE and COBOL or C applications. WebSphere eXtended Transaction Runtime Feature Pack for modernizing Oracle Tuxedo Applications This feature pack allows for the migration of Oracle WebLogic COBOL and C applications to WebSphere Application Server to be hosted natively by using WXTR, with minimal changes. The provided runtime environment provides a mapping of functionality between Tuxedo and WXTR, simplifying application migration. The Migration Assist tool, which is also provided, aids in simplifying the entire process of migration, including application profiling to identify sections that might benefit from changes and application deployment. WebSphere Application Server Migration Toolkit This suite of tools is packaged as a feature (a collection of plug-ins) that can be installed in IBM Rational Application Developer, IBM Rational Software Architect, or Eclipse IDE, which simplifies the process of migrating to WebSphere Application Server V7 or V8 from a previous version of WebSphere Application Server or from other application servers such as Oracle WebLogic Server, Oracle Application Server, and JBOSS Application Server. These tools analyze code to identify application elements that should be updated to ensure optimal compatibility and performance. DB2 WXTR provides support for files and queues that are stored in a DB2 database. It also allows VSAM style access to stored data. COBOL for AIX, which is required for COBOL applications Supported platforms WebSphere eXtended Transaction Runtime is compatible with any IBM System p® hardware that can run IBM AIX V6.1 or V7.1. Modernization with IBM WebSphere eXtended Transaction Runtime 11 Ordering information The WebSphere eXtended Transaction Runtime product is available only through IBM Passport Advantage®. It is not available for shrink wrap. License function title: IBM WebSphere eXtended Transaction Runtime Product group: IBM Transaction Server Product category: Transaction Server Table 1 provides ordering information for WTXR. Table1. Ordering part numbers and feature codes Program name PID number Charge unit description IBM WebSphere eXtended Transaction Runtime 5725-C89 Per Processor Value Unit IBM WebSphere eXtended Transaction Runtime 5725-C89 Per Processor Value Unit for zEnterprise® BladeCenter® Extension Related information For more information, see the following documents: IBM WebSphere eXtended Transaction Runtime Sales Manual http://ibm.co/TXIxps IBM WebSphere eXtended Transaction Runtime V2.1 Announcement letter http://ibm.co/I8n7No WebSphere eXtended Transaction Runtime product page http://www.ibm.com/software/webservers/appserv/extended-transaction-runtime IBM WebSphere eXtended Transaction Runtime V2.1 Download Document http://www.ibm.com/support/docview.wss?uid=swg24032807 Modernization with IBM WebSphere eXtended Transaction Runtime, REDP-4818 http://www.redbooks.ibm.com/abstracts/REDP4818.html Modernization with IBM WebSphere eXtended Transaction Runtime 12 Notices This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. © Copyright International Business Machines Corporation 2012. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Modernization with IBM WebSphere eXtended Transaction Runtime 13 This document was created or updated on November 13, 2012. Send us your comments in one of the following ways: Use the online Contact us review form found at: ibm.com/redbooks Send your comments in an e-mail to: redbook@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400 U.S.A. This document is available online at http://www.ibm.com/redbooks/abstracts/tips0921.html . Trademarks IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol (® or ™), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX® BladeCenter® CICS® DB2® IBM® IMS™ Passport Advantage® Power Systems™ Rational® Redbooks® Redbooks (logo)® System p® System z® WebSphere® z/OS® zEnterprise® The following terms are trademarks of other companies: Java, and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Other company, product, or service names may be trademarks or service marks of others. Modernization with IBM WebSphere eXtended Transaction Runtime 14