CICS Web Services

Hemant Babtiwale Capgemini/GM

Monday, 13 June 2011

Agenda
 Overview of CICS Web services in CICS TS   Learn about the development, deployment, testing and debugging of CICS Web services   Demo of VOM Services implemented for Order Work Bench Mexico

06/13/11

Slid e 2

CICS Web Services
CICS Web Services provides the ability to front-end existing CICS programs with a web service interface … “exposing” the CICS program as a service.
Appl
EXCI Traditional access unaffected 3270

SOAP/HTTP

Interface

Web Service Client Program

CICS TS
CICS Web Service Front-End Existing CICS Program

Network

CICS program unchanged

New front-end allows service oriented invocation

Therefore, a traditional CICS program can be turned into a message based “service” which can then be used by “service consumers” in the enterprise

06/13/11

Slid e 3

Reactivity. other … CICS TS (Service Provider) Business Function CICS Web Services support Integration logic I Business logic B Data access D CICS TS (Service Requester) From CICS Program Business logic B CICS Web Services support Service Provider J2EE.NET. .CICS Web Services Scenarios Service Requester GM Order Work Bench OR J2EE. Portal. . Reactivity. other … Slid e 4 .NET.

CICS Resources (Provider mode) WEBSERVICE Identifies application specific processing PIPELINE Identifies shared qualities of service URIMAP Identifies the type of processing required TCPIPSERVICE The listener process (if HTTP is used) 5 of 3 7 06/13/11 WebSphere® Support Technical Exchange Slid e 5 .

The next slide depicts the arrival of an input message and the internal CICS transactions that are invoked to process this message. This resource invokes three unique transaction codes to process the message as it arrives in and out of the network. The messages all arrive and leave via a preassigned port that is unique to the CICS region. .CICS Resources TCPIPSERVICE This definition controls the IP (internet protocol) messages.

It uses the PIPELINE definition to find the name of the pipeline configuration file. CWXN finds the URI in the HTTP request and then scans the URIMAP resource definitions for a URIMAP that has its USAGE attribute set to PIPELINE. CPIH uses the pipeline configuration file to determine which message handler programs and SOAP header processing.continued •CSOL: This transaction monitors the port specified in the TCPIP resource definition for incoming HTTP requests. •CWXN: When the SOAP message arrives.CICS Resources TCPIPSERVICE. •CPIH: CPIH starts the pipeline processing. .

The Pipeline is defined in CICS.CICS Resources PIPELINE The purpose of the pipeline is to provide a path to specific resources. These resources provide instructions on how to handle the messages from the client and also the location of the file containing the web-services. .

This is dynamically built when the pipeline is scanned. There is no defined CICS resources for a webservice. WEBSERVICE This resource is used in conjunction with the WSBIND file to associate the Web-service to the URIMAP. This resource is does not require a predefined CICS definition. It is created dynamically by reading the contents of the WSBIND file.CICS Resources URIMAP The purpose of the URIMAP is to pass the incoming request to the appropriate pipeline. .

UNIX Resources WSDL The WSDL uses XML to specify the characteristics of a Webservice . . •Name of the Web service and addressing information •Protocol and encoding style to be used when accessing the public operations of the Web service •Type information: Operations. WSDL can be extended to allow descriptions of different bindings. and how it is invoked. where it resides. and data types comprising the of the Web service.what the Web service can do. regardless of what message formats or network protocols are used to communicate. parameters. plus a name for this interface.

Each program that has been converted to a web-service will have en entry in the WSBIND file. the name of the specific webservice(s). This information will be used to dynamically build the webservice and URI. .UNIX Resources WSBIND When the application runs. CICS uses the WSBIND file to transform the application data into a SOAP message on output and to transform the SOAP message to application data on input. CICS retrieves from the WSBIND file.

they stored in the shelf directory by CICS. .UNIX Resources Configuration File This file contains a series of programs (message handlers) that instruct the pipeline how to handle the messages. Shelf File As WSBIND files are installed.

.CICS Commands TCPIPSERVICE CEMT I TCPIPSERVICE(OM0TCPSV) Tcpips(OM0TCPSV) Ope Por(03151) Http Nos Tra(CWXN) Bas Con(00000) Bac( 00300 ) Max (000100 ) Urm( DFHWBAAX ) == Ensure that the resource is open and directed to the correct port.

associates them with the PIPELINE and installs them ready for use. For each wsbind file. . CICS dynamically creates a WEBSERVICE and URIMAP resource.CICS Commands PIPELINE-CEMT PERFORM PIP(OM0PIPEL) SCAN When a PIPELINE is installed or in response to a PERFORM PIPELINE SCAN command. CICS searches this pickup directory for files ending with “wsbind”.

.CICS Commands PIPELINE— CEMT I PIP(OM0PIPEL) *** This will return the following response *** ? pip(OM0PIPEL) Ena Pro Soa(1.1 ) Con(/users/gmom/owbvomws/confi) ==Place ? to the left of the pip to expand the display.

CICS Commands PIPELINE – expanded display Pipeline(OM0PIPEL) Enablestatus ( Enabled ) = Mode(Provider) Mtomst(Nomtom) Sendmtomst(Nosendmtom) Mtomnoxopst(Nomtomnoxop) Xopsupportst(Noxopsupport) Xopdirectst(Noxopdirect) Soaplevel(1.xml) = CONFIG NAME Shelf(/users/gmom/owbvomws/shelf/) = Shelf for storing WSBIND files Wsdir(/users/gmom/owbvomws/wsdir/) = Location of WSBIND files prior to usage.1) = Respwait( ) Configfile(/users/gmom/owbvomws/config/owbsoap11provider. Ciddomain(cicsts) .

CICS Commands URI CEMT I URI(*) maps.OVERTYPE TO MODIFY Uri($100370 ) Pip Ena Http Host(* ) Path(/vom/services/retrieveTagDetails) Uri($548070 ) Pip Ena Http Host(* ) Path(/vom/services/dealerAssignmentSu) . =Displays the active URI STATUS: RESULTS .

Webs(dealerAssignmentSubmit ) Pip(OM0PIPEL) Ins Ccs(00000) Uri($548070 ) Pro(OM0PW540) Cha Xopsup Xopdir Webs (reassignDealerForVehicle ) Pip(OM0PIPEL) Ins Ccs (00000) Uri ($609400) Pro(OM0PW509) Cha Xopsup Xopdir .CICS Commands WEBSERVICECEMT I WEBS(*) = Issue this command to display active web-services.

CICS Commands WEBSERVICECEMT I WEBS(*) = Issue this command to display active web-services. Webs(dealerAssignmentSubmit ) Pip(OM0PIPEL) Ins Ccs(00000) Uri($548070 ) Pro(OM0PW540) Cha Xopsup Xopdir Webs (reassignDealerForVehicle ) Pip(OM0PIPEL) Ins Ccs (00000) Uri ($609400) Pro(OM0PW509) Cha Xopsup Xopdir .

wsbind) Configfile – msg handlers .wsbind) WSBIND(…dispatchOrderEndpoint.wsbind) ENDPOINT(http://ip:port/exampleAppdispatchOrder) BINDING(dispatchOrderSoapBinding BINDING((…searchPopConfig.wsbind WEBSERVICE(searchPopConfigt) WEBSERVICE(dispatchOrderEndpoint) PIPELINE(OM)PIPEL) PIPELINE(EXPIPE01) URIMAP($918180) PROGRAM(OM0PW534) PROGRAM(DFH0XODE) WSBIND(…searchPopConfig.owbvomws/wsdir) WSDIR pickup directory searchPopConfig.Putting it all together TCPIPSERVICE(OM0TCPSV) PORT(03151) URIMAP($918180) URIMAP($918180) PATH(/user/gmom/owbvomws/wsdir/searchPop) PATH(/user/gmom/App/dispatchOrder) PIPELINE(OM0PIPEL) PIPELINE(EXPIPE01) WEBSERVICE(dispatchOrderEndpoint) WEBSERVICE(searchPopConfig) PIPELINE(OM0PIPEL) CONFIGFILE(users/gmom/owbvomws/confi g) SHELF(users/gmom/owbvomws/shelf) WSDIR(users/gmom.

NOTE: The IBM Default Message Handlers Are used for NAOWB SOAP & XML/ COPYBOOK conversion Service Requester SOAP request SOAP response Sockets listener TCPIPSERVIC E CICS TS V3.Message Handler Message Handlers: –Program to process a request during input or a response during output.2 TAB C Pipeline 3150 CSO L Web attach task CWX N URIMA P matchin g URIMA P handlers handlers handlers STD IBMSecurity Msg handler STD IBM SOAP Msg handler HF S Pipeli ne Confi g PIPELIN E STD IBM XML/COPYBOOK Msg handler data mapping VOM WEBSERVIC E Wrapp er Progra m Slide 21 2 1 of 4 2 06/13/11 .

3 MexicoArchitecture Review Committee Slid e 22 22 .Security Planning CICS supplied security handler WebLogic Application Server Confidentiality and Integrity Authorization CICS TS App Web Service Requester SOAP/HTTPS WS-Security/ WS-Trust Dealer Pipelin e CICS Web Services support Business logic I B D Authentication Authentication? How to authenticate How to pass security credentials (in message or in transport layer) Whether identity assertion is required How to ensure confidentiality and data integrity SDP OWB R2.

Background .Vehicle Order Management • The existing VOM application has a Visual Basic front end that interacts with the VOM midrange code and Mainframe CICS code using NetEssential RPC middleware to implement vehicle tagging functionality. The Mexico dealers utilize Citrix to access the tagging functionality over internet. however certain corporate functions will be available from OWB as well. Corporate users utilize locally installed VB client within GM network. CICS Cobol programs perform all updates to VOD (DB2). Total Number Of Users – 320 Dealer users – 50 Corporate users Slid e 23  • •  . • • There are 2 user types for the tagging functionality – Mexico dealers and GM Mexico central office (corporate) users. The existing VB application will continue to serve the corporate users.3 Mexico project has a requirement to migrate the tagging functionality from VOM for Mexico dealers.  • OWB R2.

Initial State 13/06/2011 Slide 24 Slide 24 .

Creating Business Services for VOM • Business Context – GM wants to expose existing VOM functions to wide variety of internal corporate and external dealer users • Manage complexity – avoid point-to-point integration  • • Business Value – Ease integration challenge – Leverage the business value of existing legacy systems – Enhance responsiveness to business demands – Architectural Patterns – Directly expose the application as service • Direct access to CICS COMMAREA as Web services – Indirectly expose the application via service component • Create a middle-tier Web services façade for accessing CICS – CICS ECI Adapter with CICS Transaction Gateway Slide 25 • .

VOM Services Listed below are the transactions required to invoke a specific resource. OWB Screen OWB Web Service VOM Wrapper VOM Driver Test Test Program Transactio n M574 M575 M576 M581 M577 M579 M580 M569 OM0PT534 OM0PT535 OM0PT536 OM0PT541 OM0PT537 OM0PT539 OM0PT540 OM0PT509 Avail List Request Popcon Tag Vehicle View Tag Details Untag Dealer Assignment window Submit from Dealer Assignment Reassign from Dealer Assignment searchPopConfig searchVehForTagging tagVehicle retrieveTagDetails unTagVehicle OM0PW534 OM0PW535 OM0PW536 OM0PW541 OM0PW537 OM0P0534 OM0P0535 OM0P0536 OM0P0541 OM0P0537 OM0P0539 OM0P0540 OM0P0509 searchDealerAssignmentVehi OM0PW539 cles dealerAssignmentSubmit reassignDealerForVehicle OM0PW540 OM0PW509 SDP Slide 26 Slide 26 .

Legacy Program Details 1. 06/13/11 Slide 27 . and vehicle availability. • 4.  2. RetrieveTagActivityDetail OM0P0541 program selects data from the tag vehicle detail inquiry screen • 5. constraint.SearchAvailableConfigurations Program OM0P0534 which is used to search the available popular configurations. • 3.UnTag Vehicle OM0P0537 will perform untagging of vehicles before the credit/rebill invoice • • 1. SearchAvailableVehiclesforTagging Program OM0P0535 which is used to search the available popular configurations. then updates the order management tables with the appropriate tag information.TagVehicle Program OM0P0536 calls a subprogram to get credit.

Legacy Program Details 6. Orders that fall into this category are employee orders which are candidates for a credit / rebill.ReassignDealerForVehicle Program OM0P0509 a pass through program. 2)for a single order. SubmitDealerAssignmentVehicles This service corresponds to the VOM CICS program OM0P0540. apply a final dealer assigned event code . It calls subprogram om0s0042 to perform edit / validate reassignment input and perform reassignment updates. change the dealer of record bac/bfc and the charge to bac/bfc and/or ship to bac/bfc on a firm order or a tagged free order 2) 10. No updates are applied to any tables 8. SearchDealerAssignmentVehicles OM0P0539 will retrieve a list of orders that are awating final dealer assignment by GMof mexico. • 7. 06/13/11 Slide 28 . 1)for each order in an array of orders. 2) 2. and orders which have been rejected in the credit / rebill process because the charge to dealer's credit limit has been reached.

Deployed State 29 Slide 29 .

Summary  CICS provides a robust and scalable Web services infrastructure   Web services enable secure interoperability with internal systems and external business partners   Many of IBMs largest customers are using CICS Web services today   Check out the CICS Information Center and the IBM Redbooks for more information on deploying CICS Web services 06/13/11 Slide 30 .

com/abstracts/sg247206.com/infocenter/cicsts/v4r1/index.html?Open Implementation http://www.html?Open Performance http://www.wss?uid=swg24020774 Slide 31   06/13/11 .com/abstracts/sg247126.ibm.ibm.jsp IBM Web Services Red Books Architecture http://www.redbooks.com/abstracts/sg247687.html?Open Examples http://www-01.ibm.1 http://publib.redbooks.boulder.com/infocenter/cicsts/v3r2/index.2 http://publib.redbooks.ibm.Useful Resources  CICS Information Centers TS 3.redbooks.jsp TS 3.ibm.ibm.boulder.com/infocenter/cicsts/v3r1/index.ibm.ibm.com/abstracts/sg247144.com/abstracts/sg245466.html?Open Security http://www.com/support/docview.redbooks.com/abstracts/sg247658.1 http://publib.jsp TS 4.html?Open WLM http://www.ibm.boulder.redbooks.html?Open Development http://www.ibm.

Questions 06/13/11 Slide 32 .