Redbooks Paper Chris Rayns Madhu B Ananthapadmanabh Andrew Bates Iain Boyle TXSeries for Multiplatforms Version 6 Revealed! The Next Generation of Distributed CICS This IBM Redpaper provides a high-level introduction to TXSeries® for Multiplatforms V6. In this Redpaper we describe the value proposition of this product and how you can use it to build robust enterprise middleware solutions. We cover the following topics: What is new in Version 6? Common deployment scenarios. Deployment, development, and administration choices. Comparing Mainframe Transaction Processing Monitors with Distributed Transaction Processing Monitors. © Copyright IBM Corp. 2006. All rights reserved. ibm.com/redbooks 1 Introduction to TXSeries for Multiplatforms V6.0 TXSeries for Multiplatforms is IBMs premier distributed transaction processing software for business critical applications. Being part of the CICS® family of products, it shares the same value proposition: robust, secure, extendable, and scalable. You can use it to write new business applications, reuse existing applications, access data from a variety of enterprise information systems (EIS), and even extend your applications to the web and web services. As a true distributed transaction processing system, it allows you to distribute both data and function across heterogeneous systems. TXSeries integrates well with other IBM® and IBM Business Partner products allowing you to develop numerous different types of business solutions. The latest version, TXSeries for Multiplatforms Version 6, provides the base CICS functionality of previous versions of distributed CICS, but without the DCE or Encina® prerequisites. This vastly simplifies the installation, configuration, and administration of your TXSeries systems. Introduction to distributed transaction processing Every enterprise has a requirement for concurrent access to shared resources and data. Most often, these shared resources are distributed across geographies and even heterogeneous platforms. Applications written to do operations on shared resources must maintain data integrity and consistency. To achieve this, it may be required that a group of operations on shared resources be treated as a single unit of work. This grouping is also called a transaction or a logical unit of work (LUW). Transaction is defined as a set of operations that transforms data from one consistent state to another, and it has the following properties, popularly known as ACID properties: Atomicity: A transaction's changes are atomic: either all operations that are part of the transaction happen or none happen. Consistency: A transaction moves data between consistent states. Isolation: Even though transactions can be executed concurrently, no transaction sees another transaction's work in progress. The transactions appear to run serially. Durability: After a transaction completes successfully, its changes survive subsequent failures. 2 Revealed! The Next Generation of Distributed CICS Some examples of business transactions are banking, stock trading, a railway reservation system, and so on. Let us consider a railway reservation system. Following are the steps involved to make a reservation: 1. Verify the seat availability. 2. Get payment clearance from the bank. 3. Update seat availability information. 4. Print and mail the ticket. You can group the above steps as a single transaction. The following issues are involved when building a transactional application: The application should ensure atomicity by reverting the whole operation if there is a failure in any one of the above steps. For example, if there is a system failure while updating the seat availability information, the system rolls back step 2, that is the payment received has to be credited back to the requester. The application and database servers should implement a mechanism whereby changes to databases are undone without loss of consistency of data. If a reservation failed for some reason, the user should see the correct information (bank balance and seat availability) during his next attempt. If there are multiple reservation requests for the same train, the system ensures isolation by letting only one transaction update the seat availability information at a time. The changes made by the application must be durable, meaning that it should survive subsequent failures. If the business logic and data are distributed, it has to deal with network protocols and inter system communications. As we can see, it is very complex to build a transactional application from scratch. Distributed transaction processing system provides a framework for writing business applications. As part of the framework it provides the following functions: System runtime functions: An execution environment that ensures the integrity, availability, and security of data; fast response time; and high transaction throughput. System administration functions: Administrative support that lets users configure, monitor, and manage their transaction systems. 3 Application development functions: Transaction processing monitors provide functions for use in custom business applications, including functions to access data, to perform inter-system communications, and to design and manage the user interface. By utilizing all the functionalities provided by a distributed transaction processing system an application developer can better concentrate on business logic without having to worry about other issues. 4 Revealed! The Next Generation of Distributed CICS Technical value of TXSeries for Multiplatforms TXSeries is positioned as an entry-level transaction server as well as a rapid deployment, transactional integration platform. It can provide the critical transaction and integration capabilities required to support your business goals. As the IBM premier middleware product for distributed transaction processing in traditional programming languages, TXSeries can serve as a critical component of your SOA by enabling you to connect otherwise disparate applications and data—helping you to run your business more smoothly and serve your customers more effectively. TXSeries delivers a managed environment for enterprise applications, enabling developers to focus on business logic rather than failure detection, failure recovery, and synchronizing access to shared data. It is the ideal program for both stand-alone deployments, and also larger solutions that require tight integration with other enterprise information systems such as CICS Transaction Server, WebSphere® Application Server, and centralized System z9™ or zSeries® infrastructures. It is the only distributed transaction-processing solution designed to enable you to scale your applications to CICS Transaction Server on the mainframe if your business requirements grow. And because it follows the CICS programming paradigm, it is an ideal companion product for mainframe CICS users with distributed application or integration requirements. As part of the CICS family of products, TXSeries shares the value proposition of being robust, secure, extendable, and scalable. You can build new applications using procedural or object-oriented programming models across a range of supported programming languages. It also provides a set of tools to debug your applications including source level debugging. TXSeries is designed to do distributed transaction processing. It runs on a wide range of distributed platforms, giving you the flexibility to choose the most suitable platform for your business. It runs on AIX®, Solaris™, HP-UX, and Microsoft® Windows®. It supports full CICS intersystem communication with high-data integrity. You can distribute both function and data across platforms. TXSeries enables transactional access to external resource managers for database and messaging systems. It supports a number of databases such as DB2®, Oracle, Informix®, Microsoft SQL server, and Sybase. Full-data integrity is provided through support of the XA interface, the industry-standard interface defined by X/Open for managing commitment and recovery of transactional data, including the two-phase commit process. For more information about XA and X/Open standards refer to the following Web site: http://www.opengroup.org 5 TXSeries is positioned as both a rapid deployment non-J2EE integration server, and an entry-level non-J2EE transaction server. Inter-operability with other CICS family of products lets you optimize your applications’ cost, performance, and qualities of service by choosing the appropriate set of CICS clients, gateways, and servers to match your business needs. It is the ideal program for both stand-alone deployments, and also larger solutions that require tight integration with other enterprise information systems such as CICS Transaction Server, WebSphere Application Server, and centralized System z9 or zSeries infrastructures. You can re-platform applications developed in TXSeries to CICS Transaction Server for z/OS® if your business requirements demand it. To summarize, you can use TXSeries for Multiplatforms to do the following: Build new applications using both traditional and modern languages like C, C++,PL/I, COBOL and JAVA. Reuse existing applications and application programming skill sets in your organization. Extend CICS applications to the Web and Web services via the CICS Transaction Gateway and WebSphere Application Server. Access data and applications in various distributed and back-end systems including CICS and IMS™. What is different about TXSeries for Multiplatforms Version 6.0 TXSeries for Multiplatforms V6.0, the next generation of distributed CICS, removes all dependencies on separate Encina and DCE technologies. Equivalent function is now provided in the following two core components: Entry-level CICS On-Line Transaction Processor (OLTP) Integrated CICS Structured File Server (SFS) Product simplification The core theme of TXSeries for Multiplatforms Version 6.0 is simplification. All CICS users, especially the System Administrators, can now benefit from a significantly simplified environment enabling them to be considerably more productive. CICS processes now communicate using secure shared memory, which enhances performance and security with zero configuration or administration required. Another core part of the product simplification is the Encina component integration. The Encina prerequisite was removed and is no longer required or 6 Revealed! The Next Generation of Distributed CICS supplied with TXSeries. Major functionality is now fully integrated with the base CICS OLTP server that is supplied with the TXSeries product. As a result of Encina integration and DCE removal, the product install is simplified. It is now a single product install. Simplified security Security handling was also simplified, when using TXSeries in conjunction with a mainframe, by introducing a new External Authentication Manager (EAM) module that uses the Lightweight Directory Access Protocol (LDAP) to integrate with Resource Access Control Facility (RACF®). You can now centrally define and maintain all of the system users in a RACF repository. Enhanced installation Installation and version-to-version migration is now significantly enhanced by utilizing Install Shield Multiplatform (ISMP) as the installer on all platforms. This simplifies the installation process and, using an industry standard installation program, allows quick and easy customization of the installation. There is an optional installation verification procedure (IVP) that creates and starts a region with SFS as a file manager. The results of IVP are communicated to the user. Overhauled documentation library Major revision to the documentation library provides a much clearer product overview that leads to faster and easier product deployment and administration. This documentation library was fully incorporated into the standard Eclipse based information center, which provides many benefits including the ability to search all installed Eclipse based IBM information centers in one search. Extended product support TXSeries for Multiplatforms Version 6.0 extends support for the most recent versions of other products that are commonly used by TXSeries customers, including databases, communications subsystems, and system compilers for all supported programming languages. Also added is support for Acucorp open systems COBOL, ACUCOBOL-GT. ACUCOBOL-GT is a COBOL development system that includes a compiler, a source-level interactive debugger, and nearly a dozen support utilities. ACUCOBOL-GT lets you write a program once, and run it in any other TXSeries platform without recompiling. Other enhancements include a new system function diagnostic facility that provides additional internal state information than was previously available. This helps with problem determination by assisting IBM support representatives to remotely diagnose potential problems. 7 Core components of TXSeries TXSeries for Multiplatforms provides the following two core components: An entry level CICS Online Transaction Processor An integrated CICS Structured File Server Entry-level CICS Online Transaction Processor The entry-level CICS Online Transaction Processor (OLTP) supports the base level CICS application programming interface (API) that provides the ACID properties of atomicity, consistency, isolation, and durability. By delivering these, TXSeries allows developers to focus on the application logic, rather than failure detection, failure recovery, and synchronizing access to shared data. Without the ACID properties, the integrity of the organizations data cannot be guaranteed. Integrated CICS Structured File Server The integrated CICS Structured File Server (SFS) is a VSAM emulating record- oriented file system that can provide indexed, relative, and sequential access to file based data. It allows developers to store fully recoverable file based data that can be processed in a batch environment. The CICS SFS files can be shared among TXSeries, CICS Transaction Server and non-CICS applications, such as IMS. This maximizes the ability to interoperate in an enterprise environment. 8 Revealed! The Next Generation of Distributed CICS Common TXSeries deployment scenarios TXSeries for Multiplatforms is ideally suited to deployment in two common business-value scenarios: TXSeries as a rapid deployment, transactional integration server TXSeries as a transaction server TXSeries as a rapid deployment transactional integration server TXSeries for Multiplatforms has extensive support for many enterprise information systems (EIS) including IBM CICS Transaction Server, IMS, DB2, WebSphere MQ, and WebSphere Application Server. It can use both TCP/IP and SNA based communication protocols. The ability to run intelligent business logic in a mid-tier environment that supports the same languages and APIs as the systems that require the integration enables a complex integration solution to be deployed extremely rapidly. Following are the three most common integration server deployment scenarios: A consolidating mid-tier terminal server An intelligent mid-tier gateway between a J2EE™ application server and more than one EIS A comprehensive mid-tier integration server A consolidating mid-tier terminal server In this scenario TXSeries acts as a relatively simple terminal concentrator between conventional terminal based end-users and an Enterprise Information System such as CICS. TXSeries supports a number of locally connected industry standard graphical or screen based terminals, providing users with fast responses and reduced network traffic. Any transactions or requests for work that the users submit are simply routed to the EIS for execution. In general all data and business logic remains on the EIS. The only exceptions are routing data required by TXSeries to make routing based decisions and local transactions involved in routing the requests to the EIS. If we consider a banking solution where all of their applications run on Mainframe, TXSeries can be used as a client concentrator in every branch office of the bank. See Figure 1 on page 10. Bank staff or Client Service Representatives (CSRs) in the branch office use industry specific graphical or screen-based terminals connected to the local TXSeries server. Any transactions the users enter are routed to the CICS Transaction Server located in the bank’s central data centre for execution. 9 TXSeries is effectively taking the entire client load and reducing the number of connections to mainframe. Key features of this deployment are as follows: Reduced number of connections to the EIS, since many terminal connections are replaced with one connection from TXSeries. EIS is protected from client originated network disruptions. Takes advantage of the wide range of terminals supported by TXSeries. No duplication of business data on the TXSeries environment. TXSeries CICS TS CUC SNA HOD TCP/IP TN3270 CORBA Figure 1 Consolidating mid-tier terminal server An intelligent mid-tier gateway TXSeries can provide excellent integration with one or more EIS. Its ability to handle transactions makes it an ideal intelligent mid-tier gateway. There is a vast range of business application intelligence that you can build into TXSeries; for example, it can perform security checks, do smart routing based on client request, and it can even run decision making transactions to achieve intelligent routing. The conventional terminal-based client interfaces can be extended to the Internet using the facilities of WebSphere Application Server and CICS Transaction Gateway. This scenario is widely used in very large deployments, where a number of the mission critical applications run on Mainframe. 10 Revealed! The Next Generation of Distributed CICS This scenario builds upon the previous scenario in three important areas. 1. Using the facilities offered by WebSphere Application Server and CICS Transaction Gateway, organizations can extend the conventional terminal- based interfaces provided by TXSeries to include intuitive and rich World Wide Web interfaces on the Internet. 2. Acting as an entry level online transaction processing system, TXSeries is capable of making intelligent business decisions on its own. 3. TXSeries has the ability to access and update multiple EIS systems in a transactional coordinated manner without loosing or corrupting data. By coupling these three capabilities with the previous scenario, refer to Figure 2 on page 12, TXSeries can act as an intelligent gateway between many different users and multiple EIS systems. TXSeries can now make business decisions based upon business data retrieved from multiple EIS systems and present the decisions to users in a number of different ways. Consider an insurance company where most of the critical data is stored on Virtual Storage Access Manager (VSAM) and Information Management System (IMS). All the vital business logic runs on CICS TS, as shown in Figure 2 on page 12. This company can provide a rich web interface for customers to transact business such as getting insurance quotes or paying premiums online. We can have WebSphere manage the presentation logic giving the users rich Web interface. Agents could use conventional terminals connected directly to TXSeries and get access to a greater range of business transactions such as listing their client portfolio. TXSeries plugs into the middle tier and performs intelligent routing to either IMS or CICS TS. For intelligent routing, TXSeries does the following things before routing the request: Authenticates clients Caches data locally on a DB2 server to do data validation Routes to IMS or CICS TS based on client request Key features of this deployment: Reduced resource consumption on the EIS as TXSeries takes over a number of business operations. Intuitive and rich Web based interfaces are now available to users. Consolidated data from multiple EIS systems before presentation to users. 11 IMS Web browsers WebSphere+CTG HTTP TXSeries SNA CICS TS CUC DB2 DB2 HOD TN3270 VCAM Figure 2 An intelligent mid-tier gateway A comprehensive mid-tier integration server As organizations change and evolve either organically or through mergers and acquisitions, the location of critical business data may become dispersed on a number of heterogeneous EIS systems. TXSeries is an effective mid-tier integration solution for consolidating, summarizing, and presenting essential business information to parts of the organization. Information can be seamlessly summarized in a single location avoiding the need to consolidate existing EIS systems or duplicate essential business data across multiple systems. Consider a large bank, “Bank A”, that decides to acquire two other banks, “Bank B” and “Bank C”. “Bank A” has more than 3000 branches across the country. Most of the critical business logic runs on CICS TS. It also provides rich Web interface for its customers. “Bank B” also runs its core business on CICS TS but supports only 3270 client-based terminals. “Bank C” has a total non-IBM solution. Because of the acquisition, there is a a requirement to provide senior management with consolidated data and information taken from all three existing heterogeneous EIS. 12 Revealed! The Next Generation of Distributed CICS The extensive integration capabilities of TXSeries makes it an ideal choice as a mid-tier integration server. As shown in Figure 3, TXSeries integrates with CICS TS on z/OS (“Bank A” and “Bank B”), MQSeries®, and a non-IBM solution (“Bank C”) to fulfill all the requirements. Bank A CICS TS Bank B Websphere + CTG Web browsers CICS TS 3270 Terminals Bank C TXSeries M Q S e r i e s Non-IBM Solution Clients Figure 3 A comprehensive mid-tier integration server Key features of this deployment: Essential business information taken from multiple EIS systems are consolidated, summarized, and made available in one place. Rapid integration of heterogeneous EIS systems without the need to consolidate these systems. TXSeries as a transaction server TXSeries for Multiplatforms provides the base level CICS programming interfaces, enabling industry specific COBOL, C, C++, PL/I, and Java™ specialists to create simple solutions for transaction processing. It is the only distributed OLTP that IBM designed to enable you to scale up to CICS Transaction Server on the mainframe if your business requirements grow. TXSeries supports screen-based interfaces and graphical user interfaces, 13 depending on the business requirement. You can access data from the integrated CICS Structured File Server, from a local or remote Relational Database Management System (RDMS) such as IBM DB2, or from a messaging product such as MQSeries. With excellent enterprise integration support, TXSeries is ideal for creating mainframe value-add or stand-alone distributed transaction processing solutions. The three most common application server deployment scenarios are as follows: An entry level, stand-alone transaction server Non-J2EE server in a mixed workload environment A distributed server with mainframe connectivity An entry level, stand-alone transaction server In this scenario, TXSeries acts as an entry level online transaction processing system running applications written in Cobol, C, C++, PL/I, and Java. See Figure 4 on page 15. All application data is stored locally in one of the supported Relational Database Management Systems or the CICS Structured File Server. Any CICS internal data required for operational integrity of the CICS system is stored in the Structured File Server, DB2, or Oracle. TXSeries has full responsibility for applications running on the system and is not dependent on any other EIS for data or transactional work. TXSeries provides a wide range of functions, tools, and facilities to help users and system administrators run their applications and manage the environment. This scenario has access to all the features of TXSeries including transactional capabilities, authentication and authorization security, and data access. It is ideally suited for small scale deployments such as a small finance company, automobile dealers and container shipping companies. As an example, consider a business solution for a small automobile dealer operating a number of franchises in a city. Assume the dealer has one central office and a number of car showrooms. Some of the requirements that TXSeries can satisfy might include the following: Most users of the system are located in a limited number of locations and use 3270 based terminals. Any client orders are tracked and managed from the time the order is placed to delivery of the car. An inventory of spare parts stored in the various workshops with the ability to reorder parts from the car manufacturers. The automotive dealer either writes their own applications or, more likely, purchases a custom-built application based upon TXSeries and DB2. 14 Revealed! The Next Generation of Distributed CICS Key features of this deployment: Cost effective and robust solution for deploying and running business transactions. Ideal solution for customers who do not have CICS or large scale EIS systems but require the transaction handling qualities of service offered by CICS. CUC DB2 HOD Oracle TCP/IP TXSeries TN3270 CORBA Figure 4 Entry-level, stand-alone transaction server A non-J2EE server in a mixed workload environment TXSeries provides support for a wide range of industry specific graphical or screen-based terminal interfaces, allowing users to exploit the exceptional transaction handling properties. Integrating TXSeries with WebSphere Application Server using the CICS Transaction Gateway enables composite applications with sophisticated feature-rich user interfaces to become the front end of TXSeries applications. The CICS Transaction Gateway even connects TXSeries to the latest WebSphere based Service Oriented Architecture (SOA) products, such as WebSphere ESB, enabling TXSeries applications to become endpoints in a SOA. This enables the TXSeries infrastructure, to be extended to access new markets and new types of users. See Figure 5 on page 16. Continuing our previous example of an automobile dealer. The company can provide a Web interface for its customers to book a slot for servicing their car, view bills online, or order spare parts. With minimum changes to the existing applications, the dealer can extend to the Web by writing some presentation logic running on WebSphere application server and connect to TXSeries via the CICS Transaction Gateway. All existing employees and users can still continue to access the system using terminal interfaces. 15 Key features of this deployment Access to TXSeries applications from a Java-based environment. Transactional integrity is propagated automatically by the CICS Transaction Gateway from WebSphere Application Server to TXSeries. This ensures that Web-based users receive the same, or better, qualities of service from TXSeries as conventional terminal-based users. Business applications are written using a combination of J2EE and traditional CICS programming languages. Web browsers WebSphere+CTG HTTP TXSeries CUC DB2 HOD TN3270 Figure 5 Non-J2EE server in a mixed workload environment A distributed server with mainframe connectivity This scenario covers almost the complete spectrum as it utilizes the integration of TXSeries with WebSphere Application Server, other members of the CICS family, and other EIS systems. TXSeries can be used as full transactional system running applications on behalf of conventional users and internet based users via WebSphere Application Server. In either an online or batch capacity, TXSeries can communicate with other CICS or EIS systems to synchronize data or invoke mission critical functions only available on an EIS. See Figure 6 on page 17. 16 Revealed! The Next Generation of Distributed CICS An example for this deployment is a very large retail organization that sells a variety of goods through outlets and shops while also providing Internet-based shopping. TXSeries can act as a server in each shop or outlet managing all local transactions such as order processing, inventory management, and shop specific data. All shop sales representatives use terminal-based interface to interact with the system. Each of these shop or outlets is connected to a single mainframe in the headquarters. The EIS manages the entire business including tasks such as corporate level data, corporate report generation, invoicing, and salary processing. Any retail related data such as product pricing and promotional information is synchronized between the shops and the EIS by overnight batch updates. Internet-based users connect via a Web-based interface directly to the main EIS, but information is distributed to local shops allowing customers the option of collecting their orders from a shop rather than waiting for delivery. Branch Office Headquarters TXSeries CICS TS on zOS VSAM DB2 Figure 6 Distributed server with mainframe connectivity 17 Key features of this deployment There is full end-to-end integration between WebSphere Application Server, CICS Transaction Gateway, CICS, other EIS systems, and TXSeries. Solutions can be simple or complex depending upon the needs of the organization and the demands of the users. As the organization grows or changes the architecture can remain constant while utilizing the flexibility of the CICS family to select the most appropriate combination of products for the users’ needs. 18 Revealed! The Next Generation of Distributed CICS Deployment, development, and administrative choices TXSeries, being a true distributed transaction processor, allows both data and functions to be distributed across heterogeneous systems. This allows you to use TXSeries in a number of different architectures. To enable this flexibility, TXSeries provides architects, developers, and administrators with a number of choices. This section describes some of the choices available to TXSeries customers in the areas of deployment, development, and administration. Deployment choices This section discusses some of the choices and options available to architects of a TXSeries based solution. Choosing a VSAM file system For VSAM data, Transient Data, and Temporary Storage queues, TXSeries can either use the integrated CICS Structured File Server (SFS) provided with TXSeries, or it can use a Relational Database Management System (RDBMS). Currently DB2 and Oracle are supported databases for VSAM data. TXSeries does support a wider range of RDBMS for conventional database data. Once deployed, it is possible to change a TXSeries system from using the CICS SFS for VSAM data to RDBMS and vice-versa. Clearly, this is not something you should attempt on a regular basis, so the best option is to make a decision and stick with it. The following sections briefly summarize the advantages and disadvantages of using the SFS for VSAM data compared to RDBMS. Advantages of SFS Ships with TXSeries and does not require any additional licenses. Very easy to create the initial configuration and deploy VSAM files. Supports all File options (KSDS, ESDS, RRDS), TS and TD queues. Supports both recoverable and unrecoverable files. Disadvantages of SFS Requires additional skills to manage and tune. 19 Options for data backup and restoration to media outside of SFS control are limited. Advantages of RDBMS As it is widely used skills are easily available. Easy to backup and restore data. Disadvantages of RDBMS DB2 or Oracle licenses have to be purchased separately from TXSeries. No concept of unrecoverable files. Both SFS and RDBMS are capable of storing large volumes of data and both allow batch programs to access the data. Both options have their own advantages and disadvantages. Your choice probably depends on a number of factors such as licences and availability of the necessary skills within your organization. Location of file system Previous versions of TXSeries allowed the SFS server to reside on physically separate machines to the CICS system. With version 6.0 of TXSeries, this option of a remote SFS is no longer supported, it has to physically exist on the same machine as the TXSeries server. This does leave a number of options for physically locating CICS regions and RDMS servers. Depending on the capacity of the server and the skill set available in the organization, RDBMS can either run on the same machine as TXSeries or remotely. Choosing the type of Security TXSeries provides the flexibility of choosing between CICS integrated security features or user plugable external modules for authentication and authorization. With TXSeries integrated security, each CICS region authenticates users and incoming communication and authorizes access to the resources of that system. All the authentication and authorization depends on the user definition in the runtime database. You can enhance or replace authorization services by using an external security manager (ESM) that is called from CICS. Similarly, you can enhance or replace authentication services by using an external authentication manager (EAM) that is called from CICS. With EAM and ESM the possibilities for security 20 Revealed! The Next Generation of Distributed CICS management and integration are greatly increased. Starting with TXSeries Version 6, an EAM module is shipped that uses LDAP to integrate with RACF. With RACF integration all the user authentication and authorization can be centralized on an EIS. Your choice of integrated security or external modules depends on a number of factors including the need to centralize user authentication and authorization. Choosing the network protocol for intersystem communication (ISC) TXSeries supports intersystem communication between a local TXSeries region and the following: Other TXSeries regions, CICS for MVS/ESA™, CICS/MVS®, CICS/VSE®, CICS OS/2™, and CICS/400® regions. TXSeries can communicate with remote systems using either TCP/IP or SNA protocol. ISC over TCP/IP or SNA can be used between two TXSeries regions. As ISC over TCP/IP is not supported by Mainframe, ISC over SNA is the only option when communicating with Mainframe regions. Synchronization levels 1 and 2 are available on both TCP/IP and SNA. Synchronization level 2 across an SNA connection requires a separately purchased communications product such as IBM Communications Server to be installed on the same machine as TXSeries. Your final choice of protocol for ISC depends on factors such as the need to access remote systems, existing networks, and required synchronization levels. Choosing an operating system for deployment TXSeries is supported on UNIX® style systems (AIX, Solaris and HP-UX) and Microsoft Windows. As with all production systems, the final choice on which operating system to run TXSeries depends on a number of factors that include the following: Number of physical machines required for functions such as production usage, testing, backup, and development. Number of physical locations, such as separate data centres for locating machines. Ability to consolidate separate machines into a smaller number of large machines. Operating system features such as security and backup required by the administrators and users. 21 Availability of third-party software required by the organization. Number and type of systems already deployed within the organization. Due to the prevalence of existing machines, the choice of an operating system may be straight forward for some organizations. For others it may be more difficult. Development choices When designing and developing a TXSeries based CICS application, developers have a large number of choices over how a CICS application behaves. In many cases, poor performance and behavior in CICS can usually be traced back to an inappropriate design decision at development time. This section offers some of the choices and options available to developers of a TXSeries based solution. In general the choices offered here are not exclusive to TXSeries. They apply to all CICS based applications regardless of the CICS product at which the application is targeted. Separation of logic An important principle of business application design is to separate the application logic into components. For example, a broad level of separation could be presentation logic, business logic, data handling, communications, error handling, and so forth. with good componentization you can enhance and change a business application quickly and easily. Componentization also helps in reuse of business logic. By reusing well designed business logic an application can be opened up to different client channels with minimum effort and no rework of the existing server components. The CICS API provides a number of facilities to simplify the separation of application logic into components, for example, the COMMAREAS and the LINK and XCTL commands. Error handling Error handling within an application is very important. Categorize errors into the following, and decide in advance how to handle each type of error: Conditions that are not normal from TXSeries point-of-view but are anticipated in program. Conditions caused by user and input data errors. Conditions caused by omissions or errors in application code. 22 Revealed! The Next Generation of Distributed CICS Errors caused by mismatches between applications and TXSeries resources, for example, when a file is not found. Errors relating to hardware or other system conditions beyond application program control. Common data structure It is a good idea to store common structures in a shared library so that multiple programs can access the structure. It also eases program maintenance and management. Testing Testing is a very important phase of the application development cycle. We always recommend doing rigorous stress testing with good code coverage before deploying the applications to production systems. Data choices When recoverable resources, such as files and queues, are updated, additional logging is required, which incurs additional I/O and processor overhead. Resources defined as unrecoverable incur less logging. Because of this, define resources as recoverable only if they really need to be. Short LUW It is important to keep ACID transactions as small as possible in terms of time. Longer transactions mean longer Logical Units of Work that increase the duration of locks on recoverable resources. Locks can be for Storage, Updated data, and so on. A good example for a long LUW is a conversational program, where the LUW extends for the duration of the conversation; hence, all data is locked for the duration of the conversation. The longer locks are held, the greater the possibility of another transaction wanting access to the same resource, which leads to a wait situation. Therefore it is important to keep LUWs as short as possible. Update close to sync point A sync point in a CICS transaction is the point at which updated resources are committed. After this point, the changes to the data cannot be undone or rolled-back. Once a resource is updated, the data is locked to prevent access by other transactions. Updating the resource as close as possible to the sync point 23 in terms of time minimizes the possibility of locks affecting other users and transactions in the system. Use pseudo-conversation programs Programs that interact with a terminal based user are known as conversational. Any resources updated early in the conversation will require locks to be in place whilst the program solicits input from a user. If a user takes time to respond, or even fails to respond, data previously updated will remain locked, possibly for extended periods of time. To avoid this problem of locking data while waiting for user input, programs should use a technique called pseudo-conversational programming. At the end of every conversation with the user, the program terminates, updates any data and releases data locks. The key here is that the program ends rather than waiting for user input. Once the user inputs more data, the program restarts and continues processing. Data conversion TXSeries is an ASCII based system, while CICS Transaction Server is an EBCDIC based system. This means data manipulated by both types of CICS system could require data conversion as it is moved between systems. Though not difficult to set up it is an extra overhead and one which must be considered by application developers. Choosing an operating system for development Since TXSeries is supported on UNIX style systems (AIX, Solaris and HP-UX) and Microsoft Windows, there are two main choices when it comes to deciding on a development environment. There are a number of factors to consider when choosing an operating system for development. Following is a list of some of those considerations: Number of physical machines required. Operating system features such as security and backup required by the administrators and users. Availability of third-party software required by the organization. Number and type of systems already deployed within the organization. Whether or not developers require access to individual CICS systems for their own testing, or whether they can share systems? 24 Revealed! The Next Generation of Distributed CICS Due to the prevalence of existing machines, the choice of operating system may be straight forward for some organizations. For others it may be more difficult. Administration choices TXSeries provides system administrators a number of facilities for controlling and managing a TXSeries environment. Unlike the previous two sections, where a decision can have serious effects on the overall behavior and performance of the system, administration choices describe a number of facilities and functions available within TXSeries for helping to administer the system. These facilities can be enabled or disabled as and when they are required, for example to help diagnose a problem or provide some additional reporting. User exits TXSeries provides a very powerful customization option called user exits. A user exit (also referred to as a user exit point) is the point in a CICS program at which CICS can transfer control to a program you wrote (a user exit program), and can then resume control when your program completes its work. There are a number of points in CICS where a user program can be hooked, for example: Task termination, Syncpoint, and so on. By effectively using user exits one can extend the functionality of TXSeries. Transaction Classes (T-Class) You can control the number and priority of transactions running in a region at any one time by using transaction classes. Every transaction is given a T-Class number in the range of 0 to 10. Administrators can then define the number of transactions in a particular class allowed to execute concurrently. Using T-Class is an effective way of making sure high priority transactions take precedence over lower priority ones. Number of application servers TXSeries uses application server processes to execute transactions. Administrators can control the minimum and maximum number of application servers available in a CICS region to process transactions and hence control the number of concurrent transactions CICS is able to run. The minimum and maximum numbers should be carefully tuned. If too small, processing time can be wasted because there is not enough work in the system for disk read/write operations to be overlapped with other transactions. If this is 25 too large, the system can spend more time managing the servers and their memory than running the transactions. Monitoring and statistics CICS provides statistics and monitoring tools that you can use to gain information about the running of a CICS system. Data provided by these tools can be used to provide information about any resource contention or other problems that can affect the performance of your CICS system. You can tailor these tools to provide information at certain event points or at certain time intervals in the running of the CICS system. You can also tailor them to specify the types of data on which CICS is to provide the information. Dump and trace TXSeries provides a lot of problem determination tools including dump and trace utilities. There are the following two kinds of dumps: transaction dump and system dump. A transaction dump writes specified areas of memory to a file to assist you in debugging an application program or to identify why an abnormal termination or storage violation occurred. System dump gives a snapshot of the entire CICS region with a lot of details at the time of dump. This is very useful is analyzing a system wide problem. Tracing can assist both application developers and system administrators, and it is often crucial when asking for product support. TXSeries divides trace data into two broad categories, application trace and system trace. Application trace refers to trace data generated from application-specific code, which programmers use to debug applications. System trace refers to traces generated from the CICS product itself, which system administrators and product-support staff use to analyze and diagnose system-wide problems. 26 Revealed! The Next Generation of Distributed CICS Mainframe transaction processing monitors versus distributed transaction processing monitors It is generally fairly well understood that distributed transaction processing monitors (TPMs) are usually less expensive for smaller workloads and that mainframe TPMs provide better price performance as the workload increases. Also, it is generally accepted that TPMs on the mainframe platform provide significantly better Qualities-of-Service than do their counterparts on distributed platforms; however, some application requirements do not require the best-of-the-best qualities that the mainframe offers, so they can be satisfied by a distributed TPM. Consider the following example of a company with a branch/office configuration that does not require a mainframe in each of their 100 branches to do local processing; however, the same company may likely have one or more mainframes in their head office that connect to these satellite servers. So, although different business and technical requirements exist, it is important to have an understanding of what both mainframe and distributed TPMs can offer. Due to the nature of hardware and operating systems, there are many differences between mainframe transaction processing monitors (TPMs), such as CICS Transaction Server for z/OS, and distributed transaction processing monitors (DPMs), such as TXSeries. Comparing two transaction processing products, one from the mainframe and one from a distributed environment, at a functional level is relatively straightforward. At a high-level, the API for TXSeries Version 6.0 is somewhere in between CICS MVS/ESA V4.1 and CICS Transaction Server for OS/390® V1.3—or about the same as CICS Transaction Server for VSE V1.1. Product documentation is usually available and generally provides the necessary information and so a feature/function comparison is not the focus of this section. The intention of this section of the Redpaper is to give you an impression for some of the differences in the wider business, technical, application development, and skills enablement perspectives. This section is not intended to be an exclusive or exhaustive comparison of the two TPM paradigms; however, it can serve as a useful starting point for those making comparative assessments or evaluations. Business considerations The following is a number of comparisons between mainframe and distributed transaction processing systems from an organizations’ business perspective. 27 Enterprise security requirements Security integrity and integration with the rest of the organization (and beyond) is critical to most businesses. Mainframe security has a long and well established track record, often being described as ‘unbreakable’. In the mainframe environment, security management and integration is engineered into every part of the hardware architecture, operating system, networking capabilities, data, and application management software—right through to user identity management and privacy of information. Distributed systems have evolved differently with more of a focus on flexibility and speed to market. The hardware, operating environments, and runtime software are very often developed and marketed by different vendors. Providing mainframe level of security management and integration in distributed systems can be extremely difficult or even impossible. Engineering security across a highly-distributed, heterogeneous, and loosely coupled environment can be a high-risk strategy. As the distributed environment grows, complexity is added, and thus the risk of security breaches and the risk of duplicating data increases. Scalability and workload management requirements As organizations grow, the demands on their transaction processing environment also increases. Scalability is the ability to scale the system to meet these increased demands. Mainframe systems can readily scale vertically (within the machine) and horizontally (across machines). Distributed transaction processing systems can traditionally scale vertically with few problems; however, they frequently lack similar horizontal scaling capabilities to dispatch transactional requests from clients, with affinity between two or more machines. With increased scalability comes increased workload management requirements. Mainframe systems are capable of effectively managing complex and high-volume workloads of hundreds of millions of transactions per day. While processor speeds of distributed systems can execute instructions very fast within the same machine, comparable workload management facilities from distributed solutions are either present, but a lower level of functionality, or not available at all. In order to achieve a similar level of functionality to a mainframe system requires several distributed systems coupled together to give the appearance of a harmonized environment. This increases not only the complexity but the cost of people to manage the environment and the likelihood of networking outages. Distributed environments excel where the requirement for administration and workload management is lower. 28 Revealed! The Next Generation of Distributed CICS Core and supplementary functional requirements Both the mainframe and distributed platforms offer a choice of transaction processing monitors that all deliver the core managed transactional attributes of atomicity, consistency, isolation, and durability. More advanced capabilities depend upon the maturity and quality of the software combined with the capabilities of the underlying hardware and operating environment. Technical considerations The following is a number of comparisons between mainframe and distributed transaction processing systems from a technical perspective. Administrative and workload management requirements Mainframe systems are capable of effectively managing complex and high volume workloads. Comparable facilities from distributed solutions are now exhibiting similar behaviors, but often present a lower level of functionality. Hence, in order to achieve the same functionality of a mainframe system requires several, if not many, distributed systems coupled together to give the appearance of a harmonized environment. This increases complexity. Core and supplementary functional requirements Both the mainframe and distributed platforms offer a choice of transaction processing monitors that all deliver the core managed transactional attributes of atomicity, consistency, isolation, and durability. More advanced capabilities depend upon the maturity and quality of the software, combined with the capabilities of the underlying hardware and operating environment. Due to the differences between hardware and operating environments, distributed offerings only provide a subset of the Application and System Programming Interfaces offered by mainframe transaction processing systems. Unsupported capability can sometimes be written manually in distributed environments. The mainframe has consistently innovated for over forty years, and distributed platforms cannot match the combinations of hardware resilience, functionality, and near zero downtime. There is also a comprehensive range of supporting software offerings designed around mainframe based mission critical transaction processing monitors. This is largely absent from the distributed transaction processing market. 29 Total cost of ownership In general, economies of scale in mainframe transaction processing provide that the price and performance per transaction significantly improves as the quantity of workload being managed increases. This is especially true of IBM z/OS systems over 150 MIPS. Distributed transaction processing systems are generally less expensive in terms of entry costs, but as they grow, expansion and people management costs grow in parallel. For new deployments that have entry level transaction processing requirements, distributed transaction processing monitors provide an ideal option. The IBM TXSeries is uniquely designed to prove a base CICS API that enables skills and applications to be reused in a mainframe CICS Transaction Server for z/OS environment should the business requirement to grow arise. For existing mainframe customers, a re-platforming exercise to a distributed transaction processing monitor is not generally a cost effective approach. Unless the mainframe capacity is very small and the applications were written to use only the base CICS API, re-platforming exercises are too costly and risky to be of value. Savings are more likely to be achieved by exploring options such as server consolidation, Sysplex Aggregation, Sub Capacity Pricing, Speciality engines, or other such techniques for improving cost. These options enable a solution that does not significantly increase risk or significantly reduce the qualities of service. Technical considerations The following is a number of comparisons between mainframe and distributed transaction processing systems from an technical perspective. Operational requirements Mainframe hardware sets the reference standard when it comes to tasks such as administration, systems management, monitoring, security integration, high availability and supporting software. The hardware and operating system is designed for high availability, failover, and workload management. With mainframe transaction processing software, there is a whole industry of available software to help support, manage, and control the environment. A distributed transaction processing environment provides a sub-set of the operational facilities available on a mainframe system. As a general rule, some of the more fundamental capabilities may be built into the operating system. Others are procured via additional software. Some can be developed specifically for particular applications, and others are simply not reproducible on a 30 Revealed! The Next Generation of Distributed CICS non-mainframe platform. Most operational requirements always struggle to match the facilities offered by the mainframe in a number of key areas. Presentation management features Mainframe transaction processing has defined the reference for Basic Mapping Support (BMS) including associated presentation APIs. Distributed transaction processing systems generally only support “minimum” or possibly parts of “standard” BMS. “Full” BMS is rarely available because of the limitations of 3270 terminal emulators used in a distributed environment. Many existing terminal and printer devices are mainframe oriented. New devices use the existing mainframe paradigm. Distributed systems do support printers and terminals, but their operation, support, and behavior is different. Additional software is sometimes available to support these devices; however, mapping between mainframe supported devices and distributed devices can be difficult due to hardware dependencies. Data services features Mainframe Operating Systems provide the real VSAM file system. Distributed transaction processing systems use various emulation strategies when compared to real VSAM. This means the basic facilities of Key, Entry, and Relative Sequenced VSAM files are available through emulation, but the performance and functionality of these systems is often lacking when compared to VSAM. Mainframe transaction processing systems frequently use techniques for splitting application behavior between different CICS regions. For example, one region handles only terminals (known as the terminal owning region), while another handles only application code (known as the application owning region). CICS intersystem communication is then used between the two regions. Such setups are more difficult to achieve with distributed environments, where network communications and affinity between different regions becomes an issue. Hardware and software infrastructure support Mainframe product is perceived as late to TCP/IP but makes up for it in other areas and benefits from cross-IBM SNA simplification efforts. Though other implementations support TCP/IP they were never used with real volumes until very recently. SNA remains the best option for server interactions and TCP/IP for clients. 31 Synchronization Level (SL) is the ability to coordinate the updates to multiple resources across a network. SNA on the mainframe supports SL0 (lowest), 1, and 2 (highest). In distributed environments full SL2 support can only be achieved with additional communications software. When it comes to JCL scripting and batch processing, Mainframe defines the standard. Distributed environments either rely on the Operating System or emulation software to provide similar facilities. System monitoring and management This area is one of the key strengths of the mainframe that provides a lot of very powerful system management utilities. CICSPlex® System Manager is fully integrated with CICS Transaction Server. Its role is to reduce the complexity of operating multiple CICS regions by providing access to all major CICS management functions such as resource definition, operation, monitoring, real time analysis, workload management, as well as services at the business application level, through an easy to use Web User Interface (WUI). Access is provided from a single point of control where resources are manipulated irrespective of their physical location. A comprehensive API is also provided to enable automation and scripting of system management tasks. It also cooperates with the Tivoli® suite of products to meet the needs of end-to-end application management and automation of the CICS workload on z/OS. In addition to CICSPlex Manager, which is provided with CICS Transaction Server for z/OS, there is a wide range of Systems monitoring and management tooling offered by IBM and by third party vendors for mainframe based transaction processing monitors. For example, IBM Tivoli OMEGAMON® for CICS is designed to help you proactively manage your CICS systems. With a flexible easy-to-use browser interface, IBM Tivoli OMEGAMON XE for CICS helps you clearly see and understand application and system events. You can monitor and manage CICS transactions at the big picture and granular levels, as well as interaction with other applications, within a single interface. IBM Tivoli OMEGAMON XE for CICS is designed to enable you to detect problems quickly and take action in real time to speed problem resolution. Distributed implementations have very basic and minimum tools for system management of distributed transaction processing systems, which cannot be compared with Mainframe. High availability, failover, and disaster recovery The mainframe architecture, from the hardware, the operating environment and the software that runs on them, is designed for high availability, failover, and disaster recovery. Its leadership in delivering world-class application availability 32 Revealed! The Next Generation of Distributed CICS and overall business resiliency is 40 years in the making. With the IBM Parallel Sysplex® technology, you can harness the power of up to 32 z/OS systems, yet make these systems behave like a single, logical computing facility. What's more, the underlying structure of the Parallel Sysplex remains virtually transparent to users, networks, applications, and even operations. An extension to Sysplex is the Geographically Dispersed Parallel Sysplex™ (GDPS®). It is a multi-site or single-site end-to-end application availability solution that provides the capability to manage remote copy configuration and storage subsystems (including IBM TotalStorage® Enterprise Storage Server®) to automate Parallel Sysplex operation tasks and perform failure recovery from a single point of control. GDPS helps automate recovery procedures for planned and unplanned outages to provide near-continuous availability and disaster recovery capability. In addition to Sysplex and GDPS there are other features, such as dynamic disk-swapping capabilities that keep applications and data available and makes system failures invisible. Distributed systems rely on operating systems and other software solutions for high availability, failover, and disaster recovery. In some of the latest distributed UNIX systems, some high availability features were introduced in order to monitor the entire system and to automatically restart an application on designated backup hardware in the event of failure or service degradation. Some high availability features must be implemented in every part of the software stack to work in practice. For smaller application workloads, with more flexible service level agreements, the availability levels of distributed platforms are acceptable; however, they cannot match the facilities and services offered by the mainframe. Workload management Mainframe product stack is well integrated into system-provided workload management and has plenty of documentation and tooling. One of the strengths of mainframe hardware and operating systems is the ability to run multiple workloads at the same time within one machine or across multiple machines. The function that makes this possible is dynamic workload management, which is usually implemented in the Workload Manager component of the operating system. With Workload Manager, you define performance goals and assign a business importance to each goal. You define the goals for work in business terms, and the system decides how much resource, such as CPU and storage, should be given to it to meet the goal. Workload Manager constantly monitors the system and adapts processing to meet the goals. Distributed systems rely on operating system and other software solutions for workload management. In the UNIX based environment, a number of solutions can be engineered to enhance the workload management capabilities of small clusters of similar servers. There are fewer workload management facilities 33 available for Windows-based systems. Generally, any workload management technology needs to be supported by the core software components that are driving the workload that need managing, and there is not yet a universally adopted workload management solution that works across all distributed servers. In most cases, the workload management capabilities of distributed systems are sufficient for entry-level workloads, but they cannot match the facilities and services offered by the mainframe. Problem determination Mainframe products generally provide a wide variety of problem determination tools such as monitoring, journaling, tracing, dumps, and user exits that are available to administrators when problems occur. To further help the users, operating system and additional software facilities are also available to help users pin point the exact cause of a problem. With distributed transaction processing systems, IBM debuggers enable users to locate and understand errors in their applications running on various platforms. Other debugging tools are available from third party application development vendors, primarily for their own AD implementations. In general, distributed debugging facilities are available to some extent but can be less sophisticated then some of the more mature and established mainframe problem determination tooling that is available from a variety of vendors. Development requirements The following is a number of comparisons between mainframe and distributed transaction processing systems from a development perspective. Programming features Mainframe transaction processing defined the reference for the CICS Application and System Programming Interfaces (API and SPI). Distributed transaction processing systems only implement a subset of the full CICS interfaces. Mainframe transaction processing has the broadest range of integration options, such as greater than 32K inter-program data passing, Web support, and Web services. Distributed transaction processing monitors like TXSeries provide a subset of CICS capabilities that are upwardly compatible with CICS Transaction Server on the mainframe. Other third-party implementations provide a proprietary solution, with no upgrade path that lacks core facilities or relies on third-party products for the support. 34 Revealed! The Next Generation of Distributed CICS CICS Transaction Server for z/OS provides extensive Java support including Enterprise Java Beans (EJBs) and the CICS API accessible from Java (JCICS). Distributed transaction processing systems only implement a subset of the full Java interfaces that CICS offers. Product connectivity and integration features Mainframe provides ultimate internal (using cross memory calls) and external (via External Call Interface) integration scalability with other systems and environments. Other implementation provide platform specific internal integration and some basic external integration facilities. Mainframe transaction processing has a lot of future integration options such as more than 32kb data passing, web support, and web services. Distributed systems often lack the facilities or rely on third-party products for the support. Skills enablement Mainframe products come with comprehensive product documentation sets. A great deal of practical assistance is also available through channels such as Redbooks™, user groups, white papers, and support organizations. When it comes to education and access to skilled people, there are plenty of options and alternatives available to an organization. With distributed transaction proceeding monitors, the support ecosystem and education infrastructure is less well developed and not as readily available as the mainframe skills enablement materials 35 Summary From the comparison we presented it is clear that the mainframe is a superior product from both a business and a technical perspective. It has a number of unparalleled features that make it an ideal choice for large scale enterprise deployment. CICS Transaction Server for z/OS, for example, has evolved over the last 35 years to become the worlds leading transaction processing monitor– processing tens of billions of transactions with a value of over a trillion US dollars every day. For companies that cannot afford to compromise on their high volume, mission-critical applications, CICS Transaction Server for z/OS is the only answer. Although distributed transaction processing solutions are not able to match the mainframe levels of quality and service for high-volume transaction processing, they are the perfect solution for smaller scale business critical deployments, or for applications that can tolerate lower service level agreements. One of the largest advantages of TXSeries for Multiplatforms is that it can be deployed as an entry-level CICS system in circumstances where the requirements for growth may mandate moving an application to a mainframe based system in the future. In general, distributed transaction processing monitors provide a subset of the mainframe features and benefits with a subset of their qualities of service but at a subset of the price. Note that at a certain point, the improved price, performance, and quality of a mainframe makes it a more cost-effective solution for high-volume workload requirements than a number of connected distributed servers. 36 Revealed! The Next Generation of Distributed CICS Conclusion TXSeries for Multiplatforms is part of the industry leading CICS family of products by IBM. It is production proven for over a decade in providing a powerful online transaction processing environment for the distributed platform. With the release of TXSeries for Multiplatforms, Version 6, IBM offers the next-generation of distributed IBM CICS transaction servers. This version delivers the base CICS functionality of previous versions of distributed CICS transaction servers, but without the distributed computing environment (DCE) or IBM Encina prerequisites. This provides a vastly simplified environment where the installation, configuration, and administration are simplified, enabling increased system programmer and administrator productivity. TXSeries software is designed to help you deploy application and integration programs that are written in enterprise programming languages like COBOL, C, C++, PL/I, and Java. By providing services that interact with the underlying hardware and software, TXSeries hides the complexity of your IT systems without compromising their functionality—enabling enterprise developers to concentrate on solving tangible business problems with innovative technical solutions. It delivers a transactional online and batch processing environment that supports critical applications written in enterprise programming languages. The online transaction processing (OLTP) environment supports the base-level CICS application programming interface (API). The integrated CICS structured file server (SFS) delivers a record-orientation file system. TXSeries for Multiplatforms is ideally suited to deployment in two common scenarios. Due to its extensive support for many enterprise information systems (EIS)—such as CICS Transaction Server, IMS, DB2, WebSphere MQ, and WebSphere Application Server—TXSeries is very commonly used as a rapid deployment transactional integration server. Also, due to its wide range of support for enterprise programming languages and data access services, combined with TXSeries ability to scale up to CICS Transaction Server on z/OS, it is commonly used as an entry-level transaction server. When comparing distributed transaction processing solutions to mainframe transaction processing solutions, mainframes remain the undisputed leader in terms of both quality of service and functional capability. Distributed transaction processors, however, are the perfect solution for smaller scale business-critical deployments or for highly-distributed applications where the lower service level agreements that come with the more open, decentralized environment are acceptable. One of the largest advantages of TXSeries for Multiplatforms is that customers have a platform for the future. TXSeries provides interoperation with the latest IBM WebSphere and mainframe technologies. It also has the ability to scale up 37 to the worlds leading mainframe transaction processing solution, CICS Transaction Server for z/OS, if required. 38 Revealed! The Next Generation of Distributed CICS The team that wrote this Redpaper This Redpaper was produced by a team of specialists from around the world working at the International Technical Support Organization, Poughkeepsie Center. Chris Rayns is the CICS/Security Project Leader at Poughkeepsie and writes extensively on all areas of z/OS security. He is an IT Specialist at the International Technical Support Organization, Poughkeepsie Center. Before joining the ITSO, Chris worked in IBM Global Services in the UK as a CICS IT Specialist in Poughkeepsie. Madhu B Ananthapadmanabh is a TXSeries Developer in India. He has over four years of experience in TXSeries. He holds a degree in Electrical and Electronics from Bangalore University. His areas of expertise also include Distributed computing. Iain Boyle is a Senior IT Specialist working for Software Group Services in IBM Hursley, UK. He has 17 years of experience in the software industry. For the last 7 years, he worked as a client-focused consultant specializing in WebSphere Application Server, TXSeries, and CICS Connectors. He holds a degree in Computer Science from the University of Manchester and an MBA from the University of Southampton. Andrew Bates is the Product Line Manager for TXSeries and CICS Transaction Gateway. He is responsible for delivering on-going versions and releases of these products that continue to meet the growing needs of IBM clients. He has worked in the CICS organization since the start of his IBM career in 1999. He graduated with a Business degree from the University of Plymouth BUsiness School in the United Kingdom. Thanks to the following people for their contributions to this project: Innes Read International Technical Support Organization, Poughkeepsie Center Dept. HYJ; HYJ Mail Station P099, 2455 South Road Poughkeepsie, NY 12601-5400 U.S.A. 39 40 Revealed! The Next Generation of Distributed CICS 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. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrates 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. 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 IBM's application programming interfaces. © Copyright IBM Corp. 2006. All rights reserved. 41 Send us your comments in one of the following ways: Use the online Contact us review redbook form found at: ibm.com/redbooks Send your comments in an email to: redbook@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HYJ; HYJ Mail Station P099, 2455 South Road Poughkeepsie, NY 12601-5400 U.S.A. ® Trademarks The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX® CICS OS/2™ CICS/MVS® CICS/VSE® CICS/400® CICS® CICSPlex® DB2® Encina® Enterprise Storage Server® Eserver® Eserver® GDPS® Geographically Dispersed IBM® Informix® IMS™ Intel® MQSeries® MVS/ESA™ OMEGAMON® OS/2® OS/390® Parallel Sysplex® Pentium® Redbooks™ Redbooks (logo) RACF® System z9™ Tivoli® TotalStorage® TXSeries® WebSphere® z/OS® zSeries® z9™ ™ The following terms are trademarks of other companies: Java, J2EE, Solaris, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, or service names may be trademarks or service marks of others. 42 Revealed! The Next Generation of Distributed CICS