cics connectivity
DESCRIPTION
Palestra do Latin America CICS RoadshowTRANSCRIPT
© 2009 IBM Corporation
CICS Transaction Server V4.1
CICS ConnectivityStrategic Integration Options
Tom Grieve
CICS Transaction Server V4.1
© 2009 IBM Corporation2
Introduction
Many customers want to utilize both J2EE application servers and CICS as environments to run their business applications and need to understand how applications in the two environments can invoke each other, as well as how to provide the transactional and security characteristics which they require. This presentation will focus on interoperability for the two major players – CICS and WebSphere - and the technology involved to ensure interoperability
Agenda:•SOA and the role of CICS applications•CICS application architecture •Strategic CICS integration options
•Web services•JCA
•WebSphere Process Server and ESB solutions•Recommendations for integration
CICS Transaction Server V4.1
© 2009 IBM Corporation3
CICS and SOA is big !
Source: Arcati Limited
CICS Transaction Server V4.1
© 2009 IBM Corporation4
Applications are at the Heart of SOA
App Development Tools Rational Developer for System z Debug Tools
App Runtime ContainersCICS Transaction ServerTXSeriesCICS VSE
Systems Management ToolingTivoli OMEGAMONCICSPlex SMCICS ToolsPD Tools
Modeling Tools CICS Service Flow Modeler
App Development Tools Rational Developer for System z
FoundationalExtend
End-to-EndTransform Adapt
Dynamically
CICS Transaction Server V4.1
© 2009 IBM Corporation5
CICS SOA solutions must integrate with other Service providers
Most SOA solutions are built out of multiple services, that access data and present it to end users
All of these can be found inside CICS, but more often CICS plays part of the SOA solution
ConnectivityReuse
Process
People
Information
CICS Service Flow
WebSphere Process Server
CICS BMS or Web Browser
WebSphere Portal Server
CICS VSAM
DB2
CICS ISC, CICS TG
MQ and Message Broker
WebSphere ESB
DataPower
CICS Native Web Sevices
WebSphere Application Server
FoundationalExtend
End-to-EndTransform Adapt
Dynamically
CICS Transaction Server V4.1
© 2009 IBM Corporation6
Web Services
Architecture for
– Application to application
• Communication
• Interoperation
Definition:
– Web Services are software components described via WSDL that are capable of being accessed via standard network protocols such as SOAP over HTTP
WS-I.org (Web Services Interoperability Organization)
– Ensure interoperability
The entire industry is agreeing on one set of standards !!
ClientApplication
WebService
ServiceRegistry
publishWSDL
findWSDL
bind, invoke
SOAP
BrowserSOAP
Browser SOAP
ServiceBroker
ServiceProvider
ServiceRequester
CICS Transaction Server V4.1
© 2009 IBM Corporation7
CICS application architecture – a framework for reuse
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 optimisation
CICS Transaction Server
Client3270
PresentationIntegration
logicData
access
Transaction
DIP
Business logic
B
CICS Transaction Server V4.1
© 2009 IBM Corporation8
Connectivity to CICS programs
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
Adapter can be – External or Internal
– Written or generated by tools
A
CICS TS
3270 terminal
DB
P
Transaction
Client
A
A
I
CICS Transaction Server V4.1
© 2009 IBM Corporation9
Two models for SOA integration of CICS applications
Service end-point in front-end system
– Utilizing strategic connectors between front-end and CICS (EIS)
Service end-point in CICS
– Utilizing Web Services support in CICS
– SOAP over HTTP or SOAP over MQ
Multiple choices for interoperability
– WebSphere Application Server
– WebSphere Message Broker
– WebSphere Process Server and WebSphere ESB
– WebSphere Datapower
CICS Transaction Server V4.1
© 2009 IBM Corporation10
Two models of CICS SOA integration
CICS TS
Web service Client
CICS Program
Business logic
B
Requester
connector
Web services end-point
Service Provider
DIntegration
logic
I
ASOAP
CICS TS
Web service Client
CICSWeb
servicessupport
Integration logic
Dataaccess
Business Function
DI
Business logic
B
Requester (Service Provider)
SOAPA
CICS Transaction Server V4.1
© 2009 IBM Corporation11
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
CICS Transaction Server V4.1
© 2009 IBM Corporation12
Reusing 3270 presentation logic – Link3270 bridge
Some programs combine presentation, integration, and business logic
Link3270 Bridge provides a COMMAREA interface to BMS and terminal-oriented programs
– ADS information in the COMMAREA is passed to the BMS application
– Does not use VTAM or screen scraping
– No changes required to existing BMS application
CICS TS
3270 terminal DI/BP
Transaction
I/BP
Client Link3270 Bridge
CICS Transaction Server V4.1
© 2009 IBM Corporation13
Reusing 3270 presentation logic – HATS
HATS provides an integrated approach to screen driven re-use
– Builds on Host Integration telnet/3270 technology (HOD/HACL)
– Provides for screen transformation and programmatic reuse
– Programmatic reuse via WD4Z tooling and Service Flow Modeller
CICS TS
3270 terminal
DI/BP
Transaction
A
WebSphere AppServer
Client
CICS Transaction Server V4.1
© 2009 IBM Corporation14
Service Flow Modeller
Tool is part of WD4Z
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
High productivity
CICS Transaction Server V4.1
© 2009 IBM Corporation15
Integration with CICS - Strategic options
Standard architectures
Web services over SOAP
J2EE Connector Architecture
Enterprise JavaBeans
Standard transports
HyperText Transfer Protocol
WebSphere MQ (MQ APIs or JMS)
TCP/IP sockets
1
4
5
6
3
2
Whitepaper: Delivering quick access to CICS systems using strategic integration optionsibm.com/software/htp/cics/library/indexes/whitepapers.html
CICS Transaction Server V4.1
© 2009 IBM Corporation16
CICS TS
Access to CICS - (inbound)
Web services
ServletBrowser
JCA
EJB
WebSphere MQ
TCP/IP Sockets
Web services
1
4
5
6
3
2
J2EE App Server
DB
A
I
CICS Transaction Server V4.1
© 2009 IBM Corporation17
Access from CICS – (outbound)
CICS TS
1
5
6
4
3B
A
Web services
Web server
WebSphere MQ
TCP/IP Sockets
EJB
Web services
J2EE App Server
CICS Transaction Server V4.1
© 2009 IBM Corporation18
Standard architecture - JCA
The J2EE Connector Architecture (JCA) defines the common client interface (CCI) for a Java client to drive interactions with enterprise information systems such as CICS
The CICS Transaction Gateway provides the JCA access to CICS
Client A CICS TS
DB
CCI
CICS Transaction
Gateway
JCA
J2EE Server
2
CICS Transaction Server V4.1
© 2009 IBM Corporation19
J2EE Connector Architecture (JCA)
J2EE Server(e.g WebSphere Application Server)
Application Component (e.g EJB)
Resource Adapter(e.g CICS ECI resource adapter)
Enterprise Information System (e.g CICS)
System Contracts
Container-Component Contract
ƒ Connection Managementƒ TransactionManagementƒ SecurityManagement
Common Client Interface (CCI)
EIS Specific Interface
ConnectionFactory cf =<JNDI lookup>
Connection connection =cf.getConnection();
Interaction interaction
=connection.createInteraction();
interaction.execute(<input and output data>);
interaction.close();
connection.close();
Connector/adapter code can be hand-written or built (e.g ‘J2C bean’ generation capability of Rational Application Developer)
CICS Transaction Server V4.1
© 2009 IBM Corporation20
Exposing CICS applications as Web service - Connector approach
CICS TS
Web Service Client
CICS Program
Business logic
B
Other/Any
CICS Transaction
Gateway
CICS TG
WebSphere Application Server Web
Service Support
WAS
JCA D
Wizards are available in Rational Application Developer, WebSphere Integration Developer, and WebSphere Developer for zSeries to generate the objects that do any necessary conversion and data formatting before invoking the CICS program via the CICS TG.
These tools can also take the generated objects and expose them as Web Services.
A
CICS Transaction Server V4.1
© 2009 IBM Corporation21
J2EE Connector Architecture (JCA)
CICS
NetworkHTML
WebSphere Application Server
and CICS TG on z/OS
WebSphere Application Server and CICS TG on a
distributed platform
WebSphere Application Server
on a distributed platform
CICS TGz/OS
Topology 1
Topology 3
Topology 2zSeries
CICS Transaction Server V4.1
© 2009 IBM Corporation22
CICS TS
CICS Program
Business logic
B
Web Service Client
Other/Any
CICS Transaction
Gateway
CICS TG (z/OS)WebSphere Application Server Web
Service Support
WAS (any platform)
J2C
CICS Transaction Gateway – Secure interoperation
DB2
EJB
SOAP EXCI
RRS
SSL
CICS TG supports
– SSL and SSL client authentication
– Userid and password (and passticket) authentication
– Identity assertion (when CICS TG resides on z/OS or SSL used)
Alice
Authentication
Confidentialityand Integrity
AuthorizationAuthentication
(optional)
CICS Transaction Server V4.1
© 2009 IBM Corporation23
CICS TS
Web Service Client
CICS Program
Business logic
B
Other/Any
CICS Transaction
Gateway
CICS TG (z/OS)
WebSphere Application Server Web
Service Support
WAS (any platform)
J2C
CICS Transaction Gateway – Transactional interoperation
VSAM
DB2
DB2
EJB
SOAP EXCI
IPIC
TCP/IP
XA
Global transaction
J2EE standards provide for two-phase commit recovery
WebSphere Application Server controls the transaction
– XA protocol used for syncpointing and recovery
– Two choices for XA intercommunication
– 1. CICS TG uses RRS to communicate with CICS when using EXCI• Gateway must reside on z/OS
– 2. CICS TS V3.2 provides XA support
CICS Transaction Server V4.1
© 2009 IBM Corporation24
Sample customer configuration
CICS Transaction Server V4.1
© 2009 IBM Corporation25
CICS Transaction Gateway - Capability
Capabilities
– Enabler for J2C/JCA
– Synchronous
– Inbound only
– Gateway daemon runs on many platforms
– Proprietary flows over TCP/IP or SNA
– Highly optimized transports
– Range of high availability configurations
Security to zSeries– SSL to CICS TG on z/OS or directly into
CICS TS V3.2
– Asserted Identity and Thread Identity solutions to CICS TS– Passtickets supported
Transactional scope– Wide range of transactional controls
– 2-PC (XA resource) when CICS TG on z/OS or CICS TS V3.2 is used.
– 2-PC (last participant support with WAS V6)
– 1-PC for older CICS TS/TG releases.
Interface
– J2C = Java (CICS TG)
– Other languages (direct to CICS)
– COMMAREA or Container interfaces
– ASCII to EBCDIC performed on client or CICS (zSeries)
Coupling
– Medium coupling, programs on both sides need to know data layout.
– Layout described via IBM proprietary standard (Rational tooling)
Tools
– Can generate Data binding beans or J2C beans from
• Rational Application Developer V6• WebSphere Integration Developer• WebSphere Developer for zSeries
CICS Transaction Server V4.1
© 2009 IBM Corporation26
Standard architecture – Web services
CICS provides direct access from Web service requesters and to Web service providers
WSDL is used to describe the service
Tools are typically used to generate the client proxy and message adapter
Client
A
CICS Web support
WebSphere MQ Trigger Monitor
Pipeline
CICS or custom data mapping
CICS TS
SOAP
DB
Proxy
1
CICS Transaction Server V4.1
© 2009 IBM Corporation27
Web services in CICS TS V3
CICS
CICS providedutilities
CICS Web service
conversion
WSDL
Service
Requester
IDE tools
WSBindfile
lang. structure
top down
bottom upTools
Runtime Businesslogic
CICS Web Services Assist Utilities:DFHLS2WSDFHWS2LS
SOAP
location protocol operation message format
Pipeline
CICS Transaction Server V4.1
© 2009 IBM Corporation28
Exposing CICS application as Web serviceDirect service call approach
Web Services Clients (examples):
– WebSphere BPEL process (Process Choreography)
– WebSphere Datapower
– .NET assembly
– WebSphere MQ client
– Another program in CICS (invoke Web service)
– Anything that can invoke a Web Service
CICS TS
Web Service Client
CICSWeb
Servicessupport
Integration logic
Dataaccess
Business Function
DI
Business logic
B
Other/Any (Service Provider)
A
CICS Transaction Server V4.1
© 2009 IBM Corporation29
CICS Web Services Support - outbound
Invoke Web Services from CICS programs
– Any Language (COBOL, Assembler, PL/I, C, C++, Java)
– EXEC CICS INVOKE WEB SERVICE …
Web Service Provider could be (examples):
– WebSphere BPEL process (Process Choreography)
– A CICS based Web Service
– WebSphere Datapower
– .NET assembly
– Any Web Service (SOAP over HTTP or MQ)
CICS TS
Web Service Provider
CICSWeb
Servicessupport
From CICS Program
Business logic
B
Other/Any(Service Requester)
A
CICS Transaction Server V4.1
© 2009 IBM Corporation30
CICS Web Services Support – Secure interoperation
CICS Web services can be secured using a combination of
– Transport security
– WS-Security
End to end security is possible based on WebSphere and CICS support for WS-Security and identity assertion
CICS TS
Web Service
Requester
CICSWeb
Servicessupport
Businesslogic
DB
WebSphere Application Server
(any platform)
Pipeline
I
J2EE
DB2
WS-Security
Authentication
SOAP/HTTPS
Confidentialityand Integrity
Authorization
Alice
CICS Transaction Server V4.1
© 2009 IBM Corporation31
CICS Web Services Support – Transactional interoperation
WS standards provide two-phase commit transactional support
– WS-AtomicTransaction
– WS-Coordination
All flows are via TCP/IP
WebSphere Application Server becomes the transaction manager
CICS TS
Web Service
Requester
CICSWeb
Servicessupport
Businesslogic
DB
WebSphere Application Server
(any platform)
Pipeline
VSAM
DB2I
EJB
DB2
WS-Atomic
Global transaction
SOAP
CICS Transaction Server V4.1
© 2009 IBM Corporation32
CICS Web Services - Capability
Capabilities
– Synchronous when over HTTP
– Asynchronous when over WebSphere MQ
– Inbound and outbound
– Flexible configuration using enhancedSystem Management
• Multiple protocol configurations per server
• Ease of use for header handlers
Security to zSeries
– WS-Security – point to point security
– WS-Trust - STS can exchange or issue security tokens
– Transport level security
• Basic Authentication and SSL when over HTTP• User ID and password when via MQ
Transactional scope
– Web services distributed transactions (WS-AtomicTransaction)
– CICS local transaction
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
Tools
– Tool enhancements (some CICS TS, some WebSphere Developer for zSeries)
– Broader language support (CICS TS)
– Flexible COMMAREA mapping (WD/z)
– Batch converter generation
– CICS TS Assistant will merge with WebSphere Developer for zSeries
CICS Transaction Server V4.1
© 2009 IBM Corporation33
RMI over IIOP (EJB)
CICS supports Enterprise JavaBeans (EJB 1.1 spec)
– Session beans• Stateless and stateful
– Full OTS transactionality
• Container-managed transactions
• Bean-managed transactions
– Container from WebSphere
• Leverages WebSphere Studio tooling
Entity Beans
Session Beans
EnterpriseJavaBeans
StatefulStatelessBean
ManagedPersistence
ContainerManaged
Persistence
Supported by CICS
3
CICS Transaction Server V4.1
© 2009 IBM Corporation34
Enterprise JavaBeansCICS TS
EJBBusiness
Logic
WAS
B
EJBBusiness
Logic
B
CICS TS
EJBBusiness
Logic
WAS
B
EJBBusiness
Logic
B
OR
CICS TS
Web Service Client
Other/Any
EJBBusiness
Logic
WebSphere Application Server Web
Service Support
WebSphere App Server
B
EJBIntegration
Logic
B
WAS=WebSphere Application Server
CICS Transaction Server V4.1
© 2009 IBM Corporation35
Enterprise JavaBeans - Capability
Capabilities– Synchronous (RMI over IIOP)– Inbound and outbound
– Easy deployment
– Can use LDAP or COS naming JNDI server
– Java cycles can be dispatched to zAAP processor
Security to zSeries– Method level security
– SSL
– Asserted Identity with WebSphere Application Server V5 on z/OS
Transactional scope– Can be 2pc with EJBs on other platforms
– Allows CICS resources to be in same unit-of-work with WebSphere Application Server
– CICS/COBOL can not call out to EJBs in same transactional scope
Interface
– EJB 1.1 Specification
– Session Beans only
– Stateful or Stateless
– Arguments marshalled and de-marshalled on both sides
Coupling
– Tight coupling, EJB required on both sides
– Bindings tightly coupled with interfaces
Tools
– Any tool that produces EJB 1.1 compliant session beans, includes
• WebSphere Studio Application Developer• Rational Application Developer• WebSphere Integration Developer• WebSphere Developer for zSeries
CICS Transaction Server V4.1
© 2009 IBM Corporation36
WebSphere Process Server and ESB
Process Choreography
CICS TS
CICSWeb
Servicessupport
Integration logic
Dataaccess
Business Function
DI
Business logic
B
(Service Provider)
Staff Support
Visual Composition
Editor
CICS Transaction Server V4.1
© 2009 IBM Corporation37
Advanced ESB – WebSphere Message Broker
Accepts most any input format
Delivers most any output format
Provides transformation services
Provides choreography services
Visual development environment
CICS TS
Client
CICS Program
Business logic
B
Other/Any
WebSphere Message
Broker
z/OS ordistributed
Web Service
CICS Adapter
WebSphere MQ
Web Service
Files
WebSphere MQ
Many, Many
CICS Transaction Server V4.1
© 2009 IBM Corporation38
WebSphere Datapower
WebSphere Datapower can be used for
Routing
Security functions, for example:
– Processing digital signatures
– Identity mapping
– Auditing
XML transformation
CICS TS
Client
CICS Program
Business logic
B
Other/Any
Web Service
WebSphere MQ
Web Service
XML
WebSphere Datapower
CICS Transaction Server V4.1
© 2009 IBM Corporation39
Recommendations for integrationStandard architecture Description Positioning Recommendation
1. Web services Comprehensive W3C standards for messaging over the Web supporting SOA to and from CICS
Industry-wide open standard integration technology that includes CICS connectivity. Improving QoS, features and performance
Establish plans to transform CICS apps so they can participate in a SOA pattern with Web services
2. JCA Lightweight J2EE standard for calling CICS and other EIS’s
Widely adopted precision CICS connectivity with highest qualities of service today
Continue to exploit JCA and use within an SOA and ESB
3. Enterprise JavaBeans Comprehensive J2EE standard for J2EE components including EJBs in CICS
Niche technology that provides highly functional standards-based connectivity to CICS
Limit to apps that can benefit from consistent J2EE connectivity. Continue to exploit Java as an application language
Standard transport
4. WebSphere MQ Comprehensive industry standard for assured messaging
Widely adopted B2B integration technology that includes CICS connectivity
Continue to exploit WebSphere MQ for basic messaging and flowing Web services
5. HTTP Lightweight W3C standard for communications over the web
Industry-wide open standard Ubiquitous for direct web browser and basis for web services
Use for Web services and to support browsers for niche applications
6. TCP/IP sockets Lowest common denominator for CICS connectivity
Mature technology that provides low level and flexible connectivity to CICS
Limit to specialized applications. Plan to adopt Web services where possible
CICS Transaction Server V4.1
© 2009 IBM Corporation40
Summary
CICS TS continues to add features for interoperability
Positioning CICS as a full participant in SOA solutions
alongside WebSphere Application Server
– Utilizing multiple connector technologies
– Built on standard protocols and transports