IBM Software Group IBM CICS® Transaction Server for z/OS™ V3.1 technical overview GSE/CICS working group Brussels, 26.10.2006 ibm.com/software/ts/cics refer to IBM Software Announcement 204-285 K-H Marquardt IBM Deutschland SWG MarquKH@de.ibm.com © 2006 IBM Corporation IBM Software Group Acknowledgements § The following are trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM, CICS, CICS TS, CICS Transaction Server, DB2, MQ, OS/390, S/390, WebSphere, z/OS, zSeries, Parallel Sysplex. § Java, and all Java-based trademarks and logos, 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. § Other company, product, and service names and logos may be trademarks or service marks of others. 2 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Agenda qCICS Transaction Server Evolution qStrategic options to integrate CICS applications qExtentions for the CICS Web Support qChannel & Container (“big Comarea”) qOTE TCBs, XPLINK qEnterprise Management qDiscontinued function qPrerequisites, packaging qSummary 3 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CICS today… Pervasive Devices üOver 35 years and $1 Trillion invested in Applications ... IDC üOver $1 trillion processed/day üOver 30 billion transactions/day üMost people use CICS Combining the reliability and security of CICS software with the flexibility of e-business technology Evolution, NOT Revolution 4 | Technical Overview © 2003 IBM Corporation IBM Software Group CICS Transaction Server Evolution (Highlights) Integration CICS TS V1 CICS TS V2 CICS TS V3 CICS BTS CICS Web Support 3270 Bridge, EXCI Interface Java Support, SDK 1.4.1 JCICS APIs ECI over TCP/IP Link3270 Bridge OTS support for EJBs SOAP for CICS Feature Web Services Support Containers & Channels OTE TCBs open for Appl. XPLINK for C,C++ improved codepage conversion Transformation VSAM RLS CFDT, shared TSQs OTE TCBs for DB2 App JDBC 2.0 WLM for Link Bridge End-to-End Debugging XML Parser in Cobol + PL/I HTTP 1.1 in/outbound TLS, 256-bit encryption SSL performance System Management CPSM WUI System Logger Macro Tables CF Structure rebuild EJB Deployment simplified DB2 Group Attach WUI includes Definitions CPSM new function support Mon/Stats extended Info Center CPSM WUI improvements, flexible Customizing CPSM- and RDO-Extentions for new functions simplified CPSM migration in parallel: - further improvements in CICS Trx.Gateway and Universal Client - comprehensive tools portfolio (AD, PD, CICS tools) 5 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Strategic Options for Integration § Standard Architectures provide comprehensive development tools and runtime support in CICS 1 2 3 Web services using SOAP (Simple Object Access Protocol) Enterprise JavaBeans (J2EE EJB) JCA (J2EE Connector Architecture) § Standard Transports are suitable for use by applications that require greater control of the protocol and do not need the development tools or qualities of service provided by the standard architectures. These applications will assume more responsibility for systems management, security, and recovery 4 5 6 6 HTTP (HyperText Transfer Protocol) WebSphere MQ (MQ APIs or JMS - Java Messaging Service) TCP/IP sockets (CICS socket feature of z/OS communication manager) IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Strategic Options - Access into CICS CICS TS A Web services SOAP 1 J2EE App Server Web services JCA 3 I Browser Servlet http 7 EJB D 2 4 WebSphere MQ 5 TCP/IP Sockets 6 | Technical Overview B © 2003 IBM Corporation IBM Software Group Strategic Options - Access from CICS CICS TS A SOAP 1 Web services J2EE App Server Web services B 2 4 8 | Technical Overview EJB http Web server 5 WebSphere MQ 6 TCP/IP Sockets © 2003 IBM Corporation IBM Software Group CICS Web Services Support 1 CICS TS Service Provider Service Requester WSDL Client Application http://www.../example/myService HTTP listener Transport WebSphere MQ trigger monitor Server Application CPIH Pipeline Handler chain HTTP or WebSphere MQ SOAP body XML dynamic resource install CICS as Service Provider Data Mapping WSBind CSD Endpoint = /example/myService IBM CICS TS for z/OS V3.1 | Technical Overview HFS files URIMAP Pipeline config PIPELINE WSDL WEBSERVICE 9 Language structure 0101001 WSBind © 2003 IBM Corporation IBM Software Group CICS web services => access to/from CICS via SOAP protocol 1 Øbest suited for integration in an SOA (service oriented architecture) 4CICS can be service provider and/or service requester 4 loose coupling 4service description, message layout and transport in WSDL document 4plattform and language independance through XML ØWeb services standard support for inbound and outbound 4SOAP 1.1 and 1.2, WS-I Basic profile 1.0a, WS-Security, WS-Atomic Trx. ØHTTP/1.1 or WebSphere MQ transport 4transport mechanism is transparent to CICS applications Øextensive tooling available 4WD/z – IDE for host application development and debugging 4CICS provides Utilities to generate WSDL from language structure 4CICS service flow feature 4Design and generate component in WD/z 4Runtime component in CICS 10 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CICS Web Services Support … CICS TS Client Application Exec cics invoke webservice(x) 1 Service Requester Service Provider Handle response Pipeline Transport HTTP Handler chain Server Application WebSphere MQ HTTP or WebSphere MQ Language structure 0101001 SOAP body XML Data Mapping Dynamic resource install 11 HFS CSD Pipeline config URIMAP WSDL PIPELINE WSBind WEBSERVICE IBM CICS TS for z/OS V3.1 | Technical Overview CICS as Service Requester © 2003 IBM Corporation IBM Software Group CICS EJB Container Java Client RMI/IIOP Java IDL Client RMI/IIOP 2 session bean in CICS (local / remote) CICS EJB Server CICS Corba Server / EJB Container CICS-Pgm(DPL) via Java Connector (CTG) EJBHome EJB EJBObject CORBAO R Client B IIOP session + entity bean in other EJS Cobol JCICS: Link / Start + CICS Ress.Access JDBC, SQLJ "any Java", e.g. XML, java.net, etc. Ø CICS supports subset of EJB 1.1 specification ð see http://java.sun.com/products/ejb P Session Beans ð statefull and stateless o Entity Beans are not supported in CICS ð solution is method calls to remote Entity Beans or local DB access o certain J2EE APIs are not implemented in CICS (e.g. mail APIs) ð not suitable for CICS Ø existing procedural logic can be reused 12 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Java Evolution qIBM SDK for z/OS, Java™ 2 Technology Edition (1.4.2) JVM pool in CICS ƒfull function JVM, Java compatible logo ƒdownload from http://www.s390.ibm.com/java/ JVM Class Cache 2 Worker JVM JVM Shared Class Cache JVM classes Class Cache Middleware Application Worker JVM Worker JVM SDK 1.4.2 delivers many enhancements in the areas of security, XML,networking and debugging as well as fixes Master JVM CShared class cache ƒseveral worker JVMs share the class cache ƒJVM base classes, trusted middleware, sharable appl. classes ƒMaster JVM (runs on JM TCB) ƒone per CICS region, owner of shared class cache and Jitcompiled code ƒpool of n worker JVMs (run on J8/J9 TCBs) ƒexecute Java application 13 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Introduction to J2CA terminology J2EE Application Server Container-Component Contract Connection Pooling Transaction Manager Security Manager New in JCA 1.5 14 3 Application Component Common Client Interface (CCI) System Contracts Connection Management Transaction Management Security Management Life Cycle Management Work Management Message Inflow Transaction Inflow IBM CICS TS for z/OS V3.1 | Technical Overview Resource Adapter EIS Specific Interface Enterprise Information System © 2003 IBM Corporation IBM Software Group CTG for Multiplatforms 3 Distributed platform CICS TG JNI module Java Client ctgclient.jar cicseci.rar cicseciXA.rar cicsepi.rar TCP or SSL z/OS, OS/390 VSE, TxSeries Gateway daemon Protocol handler ctgjni.dll ctgserver.jar Client daemon APPC TCP62 TCP/IP CICS Server AIX, Linux/Intel, Linux/Power, z-Linux, HP-UX, Sun Solaris, Windows XP&2000 15 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CTG for z/OS 3 z/OS CICS TG TCP or SSL Java Java Client Client JNI module Gateway daemon Protocol handler libctgjni.so ctgserver.jar ctgclient.jar cicseci.rar cicseciXA.rar 16 IBM CICS TS for z/OS V3.1 | Technical Overview CICS TS MRO EXCI IRC © 2003 IBM Corporation IBM Software Group Channel & Containers § more flexible alternative to comarea –data exchange between CICS programs and transactions –logically related data in separate containers –helps to avoid overlays •reduces complexity •simplify application changes § Container: CICS maintained storage –dynamically allocated by CICS –deletion after last program returns –no size limitation § a channel can hold 1 to n containers –unit for data exchange –only 1 channel can be transferred Existing COMAREA application Program A Program B EXEC CICS LINK PROGRAM(‘PROGRAMB’) COMMAREA(structure) EXEC CICS ADDRESS COMMAREA(structure-ptr) Appl. using Container and Channel Program A Program B EXEC CICS PUT CONTAINER(container name) CHANNEL(channel-name) FROM(structure) EXEC CICS GET CONTAINER(container name) INTO(structure) EXEC CICS LINK PROGRAM(‘PROGRAMB’) CHANNEL(channel-name) EXEC CICS GET CONTAINER(container name) INTO(structure) EXEC CICS PUT CONTAINER(container name) FROM(structure) § efficient data transport –only changed data is transferred § flexible codepage conversion –CP can be defined in PUT/GET commands 17 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Channel & Containers ... § Container: can be compared to a „named Comarea“ – storage allocation above 16MB, below 2GB – allocation, access and lifetime managed by CICS • allocation at time of PUT command execution – non-persistent storage § Channel: can be compared to a “named parm list” – one to many containers per channel (no limitation) – a server program may receive different channels • processing logic depending on channel name – only one channel can be passed • DPL, XCTL, START, RETURN § dynamic codepage conversion – Exec CICS GET / PUT Container (a) … INTOCCSID(x) / FROMCCSID(x) – overrides static definition in URI resource – requires z/OS conversion support 18 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Channel & Containers – “best practices” § reduced complexity, optimal performance – separate containers for Input and Output – dedicated container for error information – separate containers for different structures • no overlays – separate containers for different data types • e.g. character / binary data – separate containers for “read only” vs. read/write data – separate container for large amount of data – define channel and container names in copybook 19 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CICS web support extentions § URIMAP resource definition – associates URI with corresponding CICS processing • CICS as web service provider – associates URI with PIPELINE and WEBSERVICE definitions • CICS as web service requester or HTTP client – avoids hardcoding of server URLs • CICS as HTTP server – can replace the analyser exit § CICS TS 3.1 HTTP listener extentions – conditionally conforms to HTTP/1.1 specifications • persistent connections • pipelining (send several requests without waiting for acknowledgement) • chunking (separates a message in smaller pieces for performant transport) – static response – e.g. DOCTEMPLATE or HFS file returned as static page – dynamic response - using Exec CICS Web APIs in application – redirection – redirects request to different server 20 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CICS web support extentions … § DOCTEMPLATEs – can now be stored in HFS files § Codepage conversion – CICS can use the Unicode™ conversion services of z/OS • Converts character data between UTF-8, UTF-16, ASCII CPs and EBCDIC • for setup see z/OS manual SA22-7649 – Codepage conversion can be specified in • Exec CICS Web API • Analyser programm • URIMAP resource definition • Container API 21 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Utilisation of OTE TCBs and XPLINK for C, C++ §API=OPENAPI – program resource definition –for Cobol, PL/I, ASM, C, und C++ programs (C without XPLink ! ) –programs must be reentrant and threadsafe !! –program execution on new L8 / L9 TCBs §Compile/Link of C, C++ programs with XPLINK option –provides performance improvements and page protection –programs must be reentrant and threadsafe !! –program execution on new X8 / X9 TCBs §OTE TCBs used for SSL connection management –new SP mode TCB, owns shared LE enclave and SSL cache –new S8 TCBs allocated from SSL-TCB pool for duration of SSL operation • reduces storage demand, allows more parallel SSL sessions 22 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group TCB switching CICSAPI vs. OPENAPI THREADSAFE + CICSAPI THREADSAFE + OPENAPI (as in V2) QR TCB L8 TCB Program start QR TCB L8 TCB Program start after task start immediate switch to L8 EXEC CICS threadsafe EXEC CICS threadsafe EXEC CICS threadsafe EXEC CICS threadsafe EXEC SQL EXEC SQL EXEC SQL EXEC SQL EXEC CICS threadsafe EXEC CICS threadsafe EXEC CICS non-threadsafe EXEC CICS non-threadsafe syncpointing EXEC SQL EXEC SQL EXEC RETURN EXEC CICS threadsafe syncpointing EXEC SQL EXEC SQL EXEC RETURN Caution: user key programs with DB2 + OpenApi: user key = L9 TCB, but DB2 must execute on L8 TCB 23 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Security Updates § Support of Transport Layer Security TLS 1.0 (based on SSL 3.0) § Selection of new cipher suites – support of AES cipher suites (128-bit, 256-bit) – can now specify min. / max. encryption levels • SIT parm, suitable level is negotiated with clients § Performance improvements for SSL – SSL cache in local storage or coupling facility (sysplex) – support for more parallel SSL sessions through S8 TCB pool § Certificate Revocation list (CRL) processing – allows checks against the CRL during SSL handshake with clients – new transaction CCRL allows updates to CRL in an LDAP server § Revoked User now results in USERIDERR § Support for case sensitive passwords 24 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Architectural patterns – new sample application § new CICS Sample Application – demonstrates “best practices” • separation of presentation logic, business logic and data access • usage of channel and containers • CICS web services with SOAP over http – Catalog and Order Application • executables and source code available • Cobol • data access to VSAM data sets – illustrates end-to-end scenario 25 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CPSM WUI Single point of control and definition, many usability enhancements § Improved panels Collapsible Filters – more information Ability to add a view to favourites – multi column details – display filter § User favorites and group profiles Reduction in white space § Result set warning § Confirmation for used filter § dynamic selection lists § improved BAS admin views Favourite views Improved visual presentation User Profiles § Support for new resources in CICS 3.1 § Batchrep improvements 26 Selection lists IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Simplified CICSPlex SM Setup and Configuration Ø CAS and TSO Component no longer needed MVS1 1. install and activate new CMAS 2. Configure MP CMAS a. define CICSplex b. define regions c. define WUI server d. link to partner CMAS CPSM WUI Server CPSM Repository MVS2 Sysplex information MP CMAS CMAS CPSM Repository 3. configure second CMAS - define link to MP CMAS 4. install agent code (MASs) CICS CICS CICS CICS CICS CICS 5. Install and activate WUI Server 6. Auto-import WUI views 27 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CICS Information Center The Eclipse framework reflects strategic direction for delivering IBM documentation § New search engine § Consistent look and feel § Integration with other product information § Customizable – add your own information § Improved navigation § Available on the IBM Web site, installable on your workstation, or servers; – – – – – – – – 28 Windows 2000, XP Linux Red Hat Enterprise 3.0 Linux SUSE Enterprise 8 and 9 AIX® V5.2 and V5.3 For server installation only: z/OS V1.4, or later z/Linux Red Hat Enterprise 3.0 z/Linux SUSE Enterprise 8 and 9 | Technical Overview © 2003 IBM Corporation IBM Software Group Discontinued functions N OS/VS COBOL – programs abend ALIK V 1 byte console ids V High Performance Java (HPJ) V ECI Base Classes (ECIREQUEST) C recommendation: use CCI Connector for CICS V Common Connector Framework (CCF) C recommendation: use CCI Connector for CICS V TCAM TOR V CPSM remote MAS agent for Windows V CICS Transaction Affinities Utility has only Scanner component C 29 Detector and Reporter have moved to IBM CICS Interdependency Analyzer for z/OS IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group CICS TS V3.1 packaging § CICS TS V3.1 elements – CICS Transaction Server – CICSPlex System Manager – Information Center – REXX Development and runtime for CICS – CICS Application Migration Aid – CICS Integrator Adapter § WebSphere Developer for z (WD/z) promotion – Integrated development environment for CICS and WebSphere • COBOL, PL/I, Java and J2EE development • z/OS file system integration – One license included, no service entitlement 30 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Prerequisites § z/OS Version 1 Release 4 (5694-A01) + § IBM SDK for z/OS Java 2 Technology Edition, V1.4.2 • • Prerequisite for CICS Web services assistant (DFHLS2WS / WS2LS) Java programs and EJBs in CICS benefit from many improvements § for WS-Security support § IBM XML Toolkit for z/OS V1.7 (no charge, Pnr.5655-J51) § latest compilers supported § 31 – IBM Enterprise COBOL for z/OS and OS/390 V3 (5655-G53) – IBM Enterprise PL/I for z/OS and OS/390 V3 (5655-H31) – z/OS C/C++ (component of 5694-A01) see announcement letter (204-285) for a complete list of HW/SW prerequisites and supported compilers IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Planning § CICS TS V1 went out of service in April 2006 § SOAP for CICS Feature can coexist – still supported to ease migration to CICS Web Services – message adapters need modification • Channel & Container interface § Statement of direction for discontinued functions – CPSM TSO User Interface after CICS TS 3.1 – in a future Release • ONC RPC feature • CICS Web Interface COMMAREA interfaces • CICS Web Server plug-in 32 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Summary § CICS TS and WebSphere Application Server are IBM's strategic middleware products that together support practically any mission critical solution – Interoperate well using Web services and connectors to support end-to-end on demand systems – Complement z/OS QoS such as high availability, scalability, low cost per transaction, security § CICS TS provides the base for the majority of mainframe applications today – An efficient and optimized runtime for the reuse and transformation of existing CICS applications – Provides easy to use services that exploit new technologies by building on CICS skills – First class support and management of mixed application types and workloads Increased ease of CICS Integration Enhanced Application Transformation Improved performance & Enterprise Management 33 | Technical Overview § Web services capabilities to extend CICS applications to a Services Oriented Architecture § Support for industry-leading SSL and TLS protocols § § § § § § Ability to leverage single development tool for application transformation and integration Service Flow Feature Optimized CICS data exchange capabilities Improved workload throughput Enhanced C and C++ programs performance Extension of the CICSPlex SM Web User Interface © 2003 IBM Corporation IBM Software Group Further Information § IBM CICS Transaction Server for z/OS V3.1 – IBM Software Announcement 204-285, Transaction Servers & Tools e-newsletter, education, and services - see ibm.com/cics – Release Guide, Migration Guide, Books and Manuals, Brochures, Demos, and Technical documents – see ibm.com/cics/library/ § IBM CICS Tools - see ibm.com/cics/tools § IBM Websphere Enterprise Developer see ibm.com/software/awdtools/studioenterprisedev/ § IBM SDK for z/OS, Java 2 Technology Edition V1.4 go to ibm.com/servers/eserver/zseries/software/java § IBM z/OS - see ibm.com/servers/eserver/zseries/zos thanks for your attention 34 IBM CICS TS for z/OS V3.1 | Technical Overview © 2003 IBM Corporation IBM Software Group Web services terminology § Extensible Markup Language (XML) – A standard for document markup, which uses a generic syntax to mark up data with simple, human-readable tags. The standard is endorsed by the World Wide Web Consortium (W3C). § Service provider – The collection of software that provides a Web service. § Service provider application – Service requester – The collection of software that is responsible for requesting a Web service from a service provider. § Service requester application – An application that is used in a service requester. Typically, a service provider application provides the business logic component of a service requester. SOAP – Formerly an acronym for Simple Object Access Protocol. A lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: • An envelope that defines a framework for describing what is in a message and how to process it. • A set of encoding rules for expressing instances of application-defined data types. • A convention for representing remote procedure calls and responses. – § § 35 § Web service – A software system designed to support interoperable machine-to- machine interaction over a network. It has an interface described in a machineprocessable format (specifically, Web Service Description Language, or WSDL). § Web service binding file – A file, associated with a WEBSERVICE resource, which contains information that CICS uses to map data between input and output messages, and application data structures. § Web service description – SOAP node Processing logic which operates on a SOAP message. IBM CICS TS for z/OS V3.1 | Technical Overview An XML document by which a service provider communicates the specifications for invoking a Web service to a service requester. Web service descriptions are written in Web Service Description Language (WSDL). § WSDL - Web Service Description Language – An XML application for describing Web services. It is designed to separate the descriptions of the abstract functions offered by a service, and the concrete details of a service, such as how and where that functionality is offered. § XML – Extensible Markup Language. § XML namespace – A collection of names, identified by a URI reference, which are used in XML documents as element types and attribute names. § XML schema – An XML document that describes the structure, and constrains the contents of other XML documents. § XML schema definition language – An XML syntax for writing XML schemas, recommended by the World Wide Web Consortium (W3C). SOAP can be used with other protocols, such as HTTP. SOAP intermediary – A SOAP node that is both a SOAP receiver and a SOAP sender and is targetable from within a SOAP message. It processes the SOAP header blocks targeted at it and acts to forward a SOAP message towards an ultimate SOAP receiver. – UDDI - Universal Description, Discovery and Integration – Universal Description, Discovery and Integration (UDDI) is a specification for distributed Web-based information registries of Web services. UDDI is also a publicly accessible set of implementations of the specification that allow businesses to register information about the Web services they offer so that other businesses can find them. An application that is used in a service provider. Typically, a service provider application provides the business logic component of a service provider. § § § © 2003 IBM Corporation