Comments
Description
Transcript
2010-05-04 © 2007 IBM Corporation
Integrating CICS Applications in an SOA Environment Leigh Compton CICS Technical Support ATS - Dallas 2010-05-04 © 2007 IBM Corporation Trademarks Trademarks The following are trademarks of the International Business Machines Corporation in the United States and/or other countries. For a complete list of IBM Trademarks, see www.ibm.com/legal/copytrade.shtml: AS/400, CICS, DB2, e-business logo, ESCON, eServer, FICON, IBM, IBM Logo, iSeries, MVS, OS/390, pSeries, RS/6000, S/30, VM/ESA, VSE/ESA, Websphere, xSeries, z/OS, zSeries, z/VM The following are trademarks or registered trademarks of other companies Lotus, Notes, and Domino are trademarks or registered trademarks of Lotus Development Corporation Java and all Java-related trademarks and logos are trademarks of Sun Microsystems, Inc., in the United States and other countries LINUX is a registered trademark of Linux Torvalds UNIX is a registered trademark of The Open Group in the United States and other countries. Microsoft, Windows and Windows NT are registered trademarks of Microsoft Corporation. SET and Secure Electronic Transaction are trademarks owned by SET Secure Electronic Transaction LLC. Intel is a registered trademark of Intel Corporation * All other products may be trademarks or registered trademarks of their respective companies. NOTES: Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput improvements equivalent to the performance ratios stated here. IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply. All customer examples cited or described in this presentation are presented as illustrations of the manner in which some customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics will vary depending on individual customer configurations and conditions. This publication was produced in the United States. IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject to change without notice. Consult your local IBM business contact for information on the product or services available in your area. All statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. Information about non-IBM products is obtained from the manufacturers of those products or their published announcements. IBM has not tested those products and cannot confirm the 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. Prices subject to change without notice. Contact your IBM representative or Business Partner for the most current pricing in your geography. References in this document to IBM products or services do not imply that IBM intends to make them available in every country. Any proposed use of claims in this presentation outside of the United States must be reviewed by local IBM country counsel prior to such use. The 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. 2 2010-05-04 © 2007 IBM Corporation Abstract This session addresses common architectural decisions you will have to make as you move your CICS applications to a Service Oriented Architecture. Areas discussed will include service granularity, where and when to use the CICS Transaction Gateway, tight coupling versus loose coupling, where to expose your services, and where to process XML. Integration into the Enterprise Service Bus and integration with WebSphere Application Server, along with availability, transactionality, and security, are of prime importance. This session will include a discussion of strategic CICS connectivity options, and when each of these options is appropriate. 3 2010-05-04 © 2007 IBM Corporation Agenda CICS Strategic Interoperability Options – Where and when to use – Service Granularity – Tight vs. Loose Coupling – Where to expose your services Agenda – Where to process XML – Security and Transactionality Other SOA Enablers 4 2010-05-04 © 2007 IBM Corporation CICS and Business 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 5 Combining the reliability and security of CICS software with the flexibility of SOA 2010-05-04 © 2007 IBM Corporation Integration Complexity Service Multiple APIs Service Service Service Service Service Hidden Interfaces Custom coded connections Mainframe apps - Blue PC/NT apps - Green Unix apps - Yellow 3rd party interface - Orange Lines: Colors have no special meaning. DRAFT Vendor Setup They are to help make the diagram easier to read. For More Information: See the database containing information about each application: Application V4.mdb AIS Reports Budget Analysis Tool Vendor Maintenance Insertions Orders AIS Calendar Due Dates General Maintenance Broadcast Filter Stores & Mrkts Best Buy - Application Diagram V4 November 10, 1999 Process Servers (Imaging) NEW Soundscan NPD Group AIG Warranty Guard Mesa Data Printer Maintenance S20-Sales Polling Printer PO Service DRAFT UAR - Universal Account Reconcilliation Sterling VAN Mailbox (Value) Roadshow I17 Customer Perceived In-Stock I13- Auto Replenishment I06 - Customer Order S01 - Sales Corrections Service Page 1 of 2 Depository Banks I15 Hand Scan Apps I06 Warehouse Management Print Costing Invoice App E13 E3 Interface Fringe PO Smart Plus M03 - Millennuim 3.0 Smart Plus Launcher S04 - Sales Posting S07 - Cell Phones P16 - Tally Sheet I03 Return to Vendor D01 Post Load Billing M02 - Millennium S06 - Credit App Equifax Stock Options L02-Resource Scheduling (Campbell) A04 - Cust Refund Chks E01-EDI P14 On-line New Hire Entry Resumix Frick Co CTS ACH V02-Price Marketing Support CTO2.Bestbuy. com V04-Sign System Prodigy Banks - ACH and Pos to Pay I10 Cycle Physical Inventory I04 Home Deliveries U18 - CTO I02 Transfers Spec Source SKU Tracking Intercept E02-Employee Purchase S08 - Vertex Sales Tax B01 - Stock Status I11 Price Testing I09 Cycle Counts S02 Layaways NPD, SoundScan Spec Source Scorecard - HR S03-Polling K02 Customer Repair Tracking ASIS I18 SKU Rep SKU Selection Tool Arthur Planning I35 Early Warning System I55 SKU Information ELT PowerSuite SKU Performance L60 MDF Coop I05 Inventory Info V01-Price Management System I35 - CEI Rebate Transfer X92-X96 Host to AS400 Communication Supplier Compliance I01 PO Receiving V03- Mkt Reactions P09 Bonus/HR Washington, RGIS, Ntl Bus Systems S11 - ISP Tracking POS Plan Administrators (401K, PCS, Life, Unicare, Solomon Smith Barney) Store Monitor L01-Promo Analysis 1 AAS P01Employee Masterfile P09 - P17 Cyborg Cobra S09 - Digital Satellite System I12 Entertainment Software P15 EES Employee Change Notice I07 Purchase Order Ad Expense G02 - General Ledger Store Scorecard Sign System Texlon 3.5 NARM I14 Count Corrections Store Budget Reporting Valley Media U16-Texlon B02 Merchandise Analysis CopyWriter's Workspace BMP - Bus performance Mngt EDI Coordinator Merch Mngr Approval Batch Forcasting Ad Measurement AIMS Admin Ad Launcher AIMS Journal Entry Tool Kit A05 - AP Cellular Rollover AIMS Reporting S05 - House Charges Optika PSP C02 - Capital Projects Data Warehouse (Interfaces to and from the Data Warehouse are not displayed on this diagram) Connect 3 ICMS Credit SiteSeer In-Home Repair Warranty Billing System OTHER AP PS - PC AP - Collections/Credit TM - Credit Card DB US Bank Recon File F06 - Fixed Assets Star Repair Connect 3 PDF Transfe Connect 3 Reports Cash Over/ Short Cash Receipts/Credit Misc Accounting/Finance Apps - PC/NT COBA (Corp office Budget Assistant) PCBS(Profit Center Budget System) Merchandising Budget INVENTORY CONTROL APPS - PC Code Alarm Debit Receivings Devo Sales Display Inventory In Home Junkouts Merchandise Withdrawl Promo Credits RTV Accrual Shrink AP Research - Inv Cntrl AP Research-Addl Rpts Book to Perpetual Inventory Close Out Reporting Computer Intelligence Data Count Corrections Cross Ref for VCB Dnlds Damage Write Off Debit Receivings DFI Vendor Database Display Inventory Reconcil Display Inventory Reporting INVENTORY CONTROL APPS - PC DPI/CPI IC Batching Inventory Adj/Count Correct Inventory Control Reports Inventory Levels Inventory Roll Merchandise Withdrawl Open Receivings PI Count Results PI Time Results from Inv Price Protection Sales Flash Reporting Shrink Reporting S KU Gross Margin SKU Shrink Level Detail USM VCB Downloads ACCTS REC APPS - P C 990COR Bad Debt Benefical Fees Beneficial Reconcil JEAXF JEBFA JEBKA JEDVA JE SOA JEVSA JEVSF NSF TeleCredit Fees Prepared by Michelle Mills RESULT Greater Business Responsiveness Actual application architecture for consumer electronics company 6 2010-05-04 © 2007 IBM Corporation SOA (Service Oriented Architecture) Align with Business processes to respond faster to Business needs Composing new applications by combining Services SOA Levels Service Enablement - Transform existing applications to services Service Integration –Align with business, abstract integration layer, look into ESB Process Integration – Composite applications with process choreography and service aggregation 7 2010-05-04 © 2007 IBM Corporation CICS: Designed for mixed transformation and workload styles Key Benefits Standards based integration enables: CICS TS Web services Programmatic integration with minimal change to existing applications J2EE App Server Web services J2C Browser Servlet EJB High Qualities of Service (QoS) Integration logic Business logic Data access Broader range of tooling options WebSphere MQ System managed business workflow TCP/IP Sockets Technology Characteristics The scope of the application solution is limited by the capabilities of the connector This may not satisfy the business drivers 8 2010-05-04 © 2007 IBM Corporation CICS Application Architecture CICS TS Transaction 3270 or Client HTML Presentation P Integration logic Business logic Data access I B D Best practice in CICS application design is to separate key elements of the application, in particular: – Presentation logic eg. - 3270, HTML, XML – Integration or aggregation logic - Menu, router, tooling – Business logic - Reusable component – Data access logic - VSAM, DB2, IMS, … Provides a framework for reuse and facilitates separation of concerns, clear interfaces, ownership, and optimization Allows callable business logic – parameters passed via COMMAREA 9 2010-05-04 © 2007 IBM Corporation 3270 Based Program Reuse CICS TS Transaction 3270 terminal Client P I/B D Link3270 Bridge Some programs combine presentation, integration, and business logic Service Flow Modeler (SFM) and Link3270 Bridge provide a callable, COMMAREA interface to many BMS and terminal-oriented programs – Information in the COMMAREA is passed to the BMS application – Does not use VTAM or screen scraping – No changes required to existing BMS application 10 2010-05-04 © 2007 IBM Corporation Service Flow Modeler Tool is part of WDz Can graphically choreograph 3270 transactions and/or COMMAREA based programs into callable COMMAREA programs Can generate artifacts necessary to expose the choreography as a Web Service in CICS Extreme productivity 11 2010-05-04 © 2007 IBM Corporation Connectivity to CICS CICS TS Transaction 3270 terminal P Client A I B D A Typical clients… – Web service requester – Java servlet or EJB running in a J2EE app server – C# application running in a Microsoft .NET VM – Web browser – Messaging middleware 12 Transforming technologies… – External connectors A– Internal adapters (user written or generated by tools) – Standard IP-based protocol 2010-05-04 © 2007 IBM Corporation Models for SOA Integration of CICS Applications Service end-point in CICS – Utilizing Web Services support in CICS – SOAP over HTTP or SOAP over MQ/JMS Service end-point in intermediary system – Multiple choices for intermediary system • WebSphere Application Server • WebSphere Message Broker • WebSphere Process Server – Utilizing strategic connectors between front-end and CICS 13 2010-05-04 © 2007 IBM Corporation The Two CICS Models of SOA Integration Other/Any CICS TS (Service Provider) Business Function Web Service Client Other/Any CICS Web Services support Integration logic Business logic Data access I B D Intermediary CICS TS CICS Program Web Service Client 14 Web services end-point connector A Business logic B 2010-05-04 © 2007 IBM Corporation Strategic Connectors Standard architectures provide comprehensive development tools and runtime support in CICS 1 Web services over SOAP (Simple Object Access Protocol) 2 J2C (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 3 HTTP (HyperText Transfer Protocol) 4 WebSphere MQ (MQ APIs or JMS - Java Messaging Service) 5 TCP/IP sockets 15 2010-05-04 © 2007 IBM Corporation Connecting to CICS – CICS as the server/provider CICS TS A 1 WAS z/OS V7 Web services J2C 2 I Client 16 WOLA 3 HTTP 4 WMQ 5 Sockets 6 2010-05-04 B D © 2007 IBM Corporation Connecting from CICS – CICS as client/requester CICS TS A 1 WAS z/OS v7 Web service B 17 2 WOLA 3 HTTP 4 WMQ 5 Sockets Service 2010-05-04 © 2007 IBM Corporation Factors Influencing your Integration Choices Business factors – Agreed company standard or reference frameworks – Preferred application development environment and tools – Availability of skills Technical factors – Security – Transactional scope – Performance – Reliability, availability and scalability (RAS) – Application interface consumability – Synchronous or asynchronous invocation – Inbound and outbound capability – Client/server coupling – Data conversion – State management Applications today are typically delivered across several e-business clients 18 2010-05-04 © 2007 IBM Corporation CICS Web Services Support Other/Any CICS TS (Service Provider) Business Function Web Service Client Other/Any CICS Web Services support Pipeline Integration logic Business logic Data access I B D Intermediary CICS TS CICS Program Web Service Client 19 Web services end-point SOAP/XML Pipeline Business logic B 2010-05-04 © 2007 IBM Corporation Web Service Capability Capabilities – – – – Synchronous when over HTTP Asynchronous when over WebSphere MQ Inbound and outbound Flexible configuration using enhanced System Management • Multiple protocol configurations per server • Ease of use for header handlers Security to zSeries – Web services security (WS-Security) – Transport level security Interface – Language structure (COBOL, C, C++, PL/I) in a COMMAREA – Web services body message (XML) in a CONTAINER – XML transformation performed on zSeries Coupling – Loose coupling and interoperability are inherent in a service-oriented architecture (SOA) and make it a natural choice for many enterprise applications • Basic Authentication and SSL when over HTTP Tools • User ID and password when over WebSphere – Tool enhancements (some CICS TS, some MQ Transactional scope – Web services distributed transactions (WSAtomicTransaction) – CICS local transaction 20 – – – – Rational Developer for System z) Multiple anguage support (CICS TS) Flexible COMMAREA mapping (RDz) Batch converter generation CICS TS Assistant will merge with Rational Developer for zSeries 2010-05-04 © 2007 IBM Corporation WAS=WebSphere Application Server J2EE Connector Architecture via CICS TG WAS CICS TG Servlet, JSP, J 2 EJB C Applet, Any Java Pgm J 2 C CICS TS CICS Program CICS Transaction Gateway Business logic B Many Languages, Many Platforms Other/Any WAS CICS TG CICS TS CICS Program Web Service Client 21 WebSphere Application J Server Web 2 C Service Support CICS Transaction Gateway Business logic B 2010-05-04 © 2007 IBM Corporation CICS Transaction Gateway Capabilities – – – – Enabler for J2C (J2EE Connector Architecture) Synchronous Inbound 32K COMMAREA Limit prior to CICS TG 7.1 and CICS TS 3.2 – CICS TG daemon runs on many platforms – Highly optimized, very fast Interface – – – – – J2C & Java (CICS TG daemon) Other languages (direct to CICS) COMMAREA-like interface Containers supported in CICS TG 7.1 ASCII to EBCDIC performed on client or in CICS (zSeries) Coupling Security to zSeries – SSL to CICS TG daemon – Userid and trusted relationship from CICS TG daemon to CICS TS – Medium coupling, programs on both sides need to know data layout. Layout not described via industry standard Tools Transactional scope – 2-PC (XAResource) when CICS TG daemon on z/OS – 2-PC (last participant support with WAS V6) – 1-PC when CICS TG daemon on a distributed platform 22 – Can generate J2C capable object to use the CICS TG from Rational Application Developer (RAD), WebSphere Integration Developer (WID) or Rational Developer for System z (RDz) 2010-05-04 © 2007 IBM Corporation WebSphere MQ e-business client WMQ CICS TS A (JMS) WebSphere MQ trigger monitor WebSphere MQ MQ API Message adapter Other/Any WAS B WMQ D CICS TS CICS Program Web Service Client 23 WebSphere Application J Server Web M Service S Support A Business logic B 2010-05-04 © 2007 IBM Corporation WebSphere MQ Capabilities – – – – – Asynchronous Assured Delivery Inbound and outbound Flexible configuration Large message sizes Interface – – – – JMS MQ API COMMAREA when used with DPL Bridge Web Service Coupling Security to zSeries – Userid / password as specified in the queue definition – SSL – Medium coupling, Both sides need to know message format Tools – WID can generate Transactional scope – Unit-of-work includes GET and PUT 24 2010-05-04 © 2007 IBM Corporation HTTP (aka CICS Web Support) CICS TS Web Browser HTTP Application Other/Any Business Function with Browser Interface CICS HTTP Listener support Interface logic Business logic Data access I B D WAS CICS TS CICS Program Web Service Client 25 WebSphere Application Server Web Service Support H T T P A Business logic B 2010-05-04 © 2007 IBM Corporation HTTP Capabilities – – – – – – Synchronous Inbound and outbound HTTP 1.0 Conditionally compliant with HTTP 1.1 Allows Interaction with Web browser Uses z/OS conversion services Interface – – – – – CICS WEB API CICS DOCUMENT API HTTP 1.0 and 1.1 Chunking, Pipelining New URIMAP Definition Coupling Security to zSeries – Basic Authentication – SSL – Medium coupling, both sides need to know message layout. Layout not documented with WSDL. Tools Transactional scope – Local CICS Transaction – Many tools to design Web pages, graphics, CSS, JavaScript, etc. including • Rational Application Developer • WebSphere Integration Developer • Rational Developer for System z 26 2010-05-04 © 2007 IBM Corporation TCP/IP Sockets e-business client CICS TS TCP/IP A CICS Sockets listener Child server Message adapter Other/Any B WAS D CICS TS CICS Program Web Service Client 27 WebSphere Application Server Web Service Support S O C K E T S A Business logic B 2010-05-04 © 2007 IBM Corporation TCP/IP Sockets Capabilities – – – – Synchronous, possibly Asynchronous Inbound and outbound Flexible Programming model Code your own listener and dispatcher Interface – CICS Sockets API (variant of Berkeley Software Distribution 4.3 Sockets) – Flexible – do anything you can program – You handle conversion when required Coupling Security to zSeries – Userid / password – SSL – Very tight coupling – low-level API required on both sides, although various languages can be used Tools Transactional scope – Local CICS Transaction 28 – Some tools exist depending on chosen language • IDE coding assistance • No tools to generate code CICS Sockets provides a completely programmable solution where other access options are not suitable 2010-05-04 © 2007 IBM Corporation CICS Interoperability Summary Standard architecture Capabilities Security to zSeries Transactional scope Interface Coupling 1. Web Services Synchronous (HTTP) User ID + password CONTAINER Loose Asynchronous (WebSphere MQ) SSL Local CICS transaction Global transaction COMMAREA XML Inbound and outbound 2. J2C Inbound only User ID + password Local transaction Synchronous and Async Thread identity Global transaction COMMAREA Medium WebSphere MQ API or Medium SSL Standard transport 4. WebSphere MQ Inbound and outbound User ID + password Asynchronous SSL CICS transaction COMMAREA Assured delivery 5. HTTP 6. TCP/IP sockets Inbound and outbound User ID + password Synchronous SSL Inbound and outbound User ID + password CICS transaction CICS WEB API Medium CICS transaction CICS sockets API Tight Synchronous and Async 29 2010-05-04 © 2007 IBM Corporation WebSphere Message Broker z/OS or distributed Other/Any CICS TS CICS Program Web Service Client Files WebSphere MQ Many, Many WebSphere Message Broker Web Service CICS Adapter Business logic WebSphere MQ B Accepts most any input format Delivers most any output format Provides transformation services Provides choreography services Visual development environment 30 2010-05-04 © 2007 IBM Corporation WebSphere Process Server Visual Composition Editor Staff Support CICS TS (Service Provider) Business Function CICS Web Services support Integration logic Business logic Data access I B D Process Choreography 31 2010-05-04 © 2007 IBM Corporation Summary CICS Strategic Interoperability Options – Where and when to use – Service Granularity – Tight vs. Loose Coupling – Where to expose your services – Where to process XML – Security and Transactionality Other SOA Enablers 32 2010-05-04 © 2007 IBM Corporation SG24-5466-05 33 2010-05-04 © 2007 IBM Corporation SG24-5456-01 34 2010-05-04 © 2007 IBM Corporation