cics connectivity

40
© 2009 IBM Corporation CICS Transaction Server V4.1 CICS Connectivity Strategic Integration Options Tom Grieve [email protected]

Upload: cics-roadshow

Post on 14-Jan-2015

4.623 views

Category:

Education


3 download

DESCRIPTION

Palestra do Latin America CICS Roadshow

TRANSCRIPT

Page 1: Cics Connectivity

© 2009 IBM Corporation

CICS Transaction Server V4.1

CICS ConnectivityStrategic Integration Options

Tom Grieve

[email protected]

Page 2: Cics Connectivity

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

Page 3: Cics Connectivity

CICS Transaction Server V4.1

© 2009 IBM Corporation3

CICS and SOA is big !

Source: Arcati Limited

Page 4: Cics Connectivity

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

Page 5: Cics Connectivity

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

Page 6: Cics Connectivity

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

Page 7: Cics Connectivity

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

Page 8: Cics Connectivity

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

Page 9: Cics Connectivity

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

Page 10: Cics Connectivity

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

Page 11: Cics Connectivity

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

Page 12: Cics Connectivity

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

Page 13: Cics Connectivity

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

Page 14: Cics Connectivity

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

Page 15: Cics Connectivity

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

Page 16: Cics Connectivity

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

Page 17: Cics Connectivity

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

Page 18: Cics Connectivity

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

Page 19: Cics Connectivity

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)

Page 20: Cics Connectivity

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

Page 21: Cics Connectivity

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

Page 22: Cics Connectivity

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)

Page 23: Cics Connectivity

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

Page 24: Cics Connectivity

CICS Transaction Server V4.1

© 2009 IBM Corporation24

Sample customer configuration

Page 25: Cics Connectivity

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

Page 26: Cics Connectivity

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

Page 27: Cics Connectivity

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

Page 28: Cics Connectivity

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

Page 29: Cics Connectivity

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

Page 30: Cics Connectivity

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

Page 31: Cics Connectivity

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

Page 32: Cics Connectivity

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

Page 33: Cics Connectivity

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

Page 34: Cics Connectivity

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

Page 35: Cics Connectivity

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

Page 36: Cics Connectivity

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

Page 37: Cics Connectivity

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

Page 38: Cics Connectivity

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

Page 39: Cics Connectivity

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

Page 40: Cics Connectivity

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