Sei sulla pagina 1di 32

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

CICS Web Services Scenarios


Service Requester GM Order Work Bench OR J2EE, .NET, 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, Portal, Reactivity, .NET, other

Slid e 4

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

CICS Resources
TCPIPSERVICE This definition controls the IP (internet protocol) messages. 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. The next slide depicts the arrival of an input message and the internal CICS transactions that are invoked to process this message.

CICS Resources
TCPIPSERVICE- continued CSOL: This transaction monitors the port specified in the TCPIP resource definition for incoming HTTP requests. CWXN: When the SOAP message arrives, 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: CPIH starts the pipeline processing. It uses the PIPELINE definition to find the name of the pipeline configuration file. CPIH uses the pipeline configuration file to determine which message handler programs and SOAP header processing.

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. The Pipeline is defined in CICS.

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

UNIX Resources
WSDL The WSDL uses XML to specify the characteristics of a Webservice - what the Web service can do, where it resides, and how it is invoked. WSDL can be extended to allow descriptions of different bindings, regardless of what message formats or network protocols are used to communicate. 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, parameters, and data types comprising the of the Web service, plus a name for this interface.

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. Each program that has been converted to a web-service will have en entry in the WSBIND file. CICS retrieves from the WSBIND file, the name of the specific webservice(s). This information will be used to dynamically build the webservice and URI.

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, they stored in the shelf directory by CICS.

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.

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. For each wsbind file, CICS dynamically creates a WEBSERVICE and URIMAP resource, associates them with the PIPELINE and installs them ready for use.

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.1) = Respwait( ) Configfile(/users/gmom/owbvomws/config/owbsoap11provider.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. Ciddomain(cicsts)

CICS Commands
URI CEMT I URI(*) maps. =Displays the active URI

STATUS: RESULTS - OVERTYPE TO MODIFY Uri($100370 ) Pip Ena Http

Host(* ) Path(/vom/services/retrieveTagDetails) Uri($548070 ) Pip Ena Http

Host(* ) Path(/vom/services/dealerAssignmentSu)

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

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

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.owbvomws/wsdir)

WSDIR pickup directory searchPopConfig.wsbind

WEBSERVICE(searchPopConfigt) WEBSERVICE(dispatchOrderEndpoint) PIPELINE(OM)PIPEL) PIPELINE(EXPIPE01) URIMAP($918180) PROGRAM(OM0PW534) PROGRAM(DFH0XODE) WSBIND(searchPopConfig.wsbind) WSBIND(dispatchOrderEndpoint.wsbind) ENDPOINT(http://ip:port/exampleAppdispatchOrder) BINDING(dispatchOrderSoapBinding BINDING((searchPopConfig.wsbind)

Configfile msg handlers

Message Handler
Message Handlers: Program to process a request during input or a response during output. 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.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

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.3 MexicoArchitecture Review Committee

Slid e 22 22

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. CICS Cobol programs perform all updates to VOD (DB2).

There are 2 user types for the tagging functionality Mexico dealers and GM Mexico central office (corporate) users. The Mexico dealers utilize Citrix to access the tagging functionality over internet. Corporate users utilize locally installed VB client within GM network.

OWB R2.3 Mexico project has a requirement to migrate the tagging functionality from VOM for Mexico dealers. The existing VB application will continue to serve the corporate users, however certain corporate functions will be available from OWB as well. Total Number Of Users 320 Dealer users 50 Corporate users
Slid e 23

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 faade 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.SearchAvailableConfigurations Program OM0P0534 which is used to search the available popular configurations. 2. SearchAvailableVehiclesforTagging Program OM0P0535 which is used to search the available popular configurations. 3.TagVehicle Program OM0P0536 calls a subprogram to get credit, constraint, and vehicle availability. then updates the order management tables with the appropriate tag information. 4. RetrieveTagActivityDetail OM0P0541 program selects data from the tag vehicle detail inquiry screen 5.UnTag Vehicle OM0P0537 will perform untagging of vehicles before the credit/rebill invoice 1.

06/13/11

Slide 27

Legacy Program Details


6. SearchDealerAssignmentVehicles OM0P0539 will retrieve a list of orders that are awating final dealer assignment by GMof mexico. Orders that fall into this category are employee orders which are candidates for a credit / rebill, and orders which have been rejected in the credit / rebill process because the charge to dealer's credit limit has been reached. 7. SubmitDealerAssignmentVehicles This service corresponds to the VOM CICS program OM0P0540. 1)for each order in an array of orders, apply a final dealer assigned event code . 2)for a single order, 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.ReassignDealerForVehicle Program OM0P0509 a pass through program. It calls subprogram om0s0042 to perform edit / validate reassignment input and perform reassignment updates. No updates are applied to any tables 8.
2)

2.

06/13/11

Slide 28

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

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

06/13/11

Questions

06/13/11

Slide 32

Potrebbero piacerti anche