22
© 2012 IBM Corporation SOA Integration of IMS Applications An Overview of the Options March 2012 Helene Lyon [email protected] DE, European IMS Architecture Team Technical Executive

An Overview of the Options March 2012 - IBM · PDF fileSOA Integration of IMS Applications An Overview of the Options March 2012 ... transaction program is backed-out. ... Calling

Embed Size (px)

Citation preview

© 2012 IBM Corporation

SOA Integration of IMS ApplicationsAn Overview of the OptionsMarch 2012

Helene Lyon

[email protected]

DE, European IMS Architecture Team Technical Executive

© 2012 IBM Corporation2

SOA Architecture - Principles

Business TierPresentation Tier Enterprise Tier

DB

Core Business

Services

User and Interaction Domain Core and Information Domain

Channel

Interaction

Services

Enterprise Service Bus

Integration/Process Domain

Deskto

p

Ch

an

nels

Data Services

Business

Services

Business

Processes

Integration

Services

JD

BC

Web

Serv

ices

JC

AJM

S

External Systems Applications

External Business Partners

External Services Providers

External Systems

D

B

© 2012 IBM Corporation3

DB2

What assets in IMS can be leveraged/ extended?

� IMS Transaction– No presentation layer– Very simple design

•Get Input Message

•RM calls•ISRT Output Message

– “execute” and “forget”

� IMS Batch– BMPs Msg Driven or non Msg Driven – Standalone

� Access to Resource Managers (RM)– IMS database – Hierarchical data model– DB2 database – Relational data model– MQ Queues– Web Services using WOLA – WebSphere

Optimized Local Adapter

� IMS Presentation Layer (MFS) – Description of input and output

messages and device map– Not used in client/server implementations

B

D

P

IMS ConnectWMQ

Appl. . . . “Batch”Non MD

IMS Transaction

Manager

IMS Data Comm.

APPC/IMS

APPC/MVS

VTAM(LU0 LU1 LU2 LU6.1 LU6.2) TCP/IP for zOSTelnet

B B

IMS Database Manager

D

MFS P

DB2 SP

Open Database

WMQ

Open Transaction Manager Access

IMS

Message

Queues

WOLA

External Subsystem Attachments

WOLA

“Batch”Msg Driven

B

© 2012 IBM Corporation4

IMS TM in Perspective

IMS transactions and BMPs – using MQ API (explicit)Access to WebSphere MQ under Two-Phase Commit protocol

IMS TM & IMS DB as single subsystem for transaction and database

management

Optimized integration with a database manager to optimize throughput with

low resource consumption

IMS Mashup solutionsFast integration in Web 2.0 applications

IMS support in the 3 IBM ESBs: Datapower, WESB, WMB

Support inbound or outbound integration

IBM Enterprise Service Bus & BPM Integration with IMS applications

Using Rational Asset AnalyserAsset analysis

Rational Developer for zEnterpriseTHE enhanced development platform

Access to external resource managers (in addition to IMS Databases) on same z/OS platform

MDM Server “Query” ConnectAccess to Master Data directly when hosted in DB2 for z/OS

IMS TM & WODM integrationGeneration of Business Events

IMS transactions, BMPs – using SQL or Java JDBC

IMS Batchs – using SQL

Access to DB2 data under Two-Phase Commit protocol

Online batch with BMPs / Standalone IMS BatchBatch support

IMS TM since 40+ years – Investment protectionRecognized Business Logic Container

IMS TM & WODM integrationAccess to Business Rules

Decision Support

WOLA – Inbound and outboundOptimized WAS for z/OS & IMS Integration

IMS TM Resource Adapter for JCA, MQ IMS Bridge for JMS,

IMS SOAP Gateway for web service

Access from any WAS server

MQ IMS Bridge – MQ Trigger MonitorAccess from any MQ Server

Open Transaction Manager Access / No change in IMS applicationsUniversal access to IMS Queue

Business Integration

IMS transactions and BMPs – using WOLA APIAccess to Web Services

COBOL, PLI, C, … JAVAMulti-language AD support

Application Development

IMS Shared Queue (full function and fast path)High Availability

IMS TM since 40+ yearsHigh transactional throughput

Native Quality of Services

© 2012 IBM Corporation5

SOA with IMS Applications

� When designing an SOA, much of the business logic to be deployed as services is already implemented in existing IT application systems

– And much of this runs on the mainframe - Bottom-Up approach

� New services may also be written– It might be appropriate to write this as an EJB or Web Service

• For example, using IMS JDBC to directly access the IMS Databases– But in many cases the best solution will be to create new IMS transactions – Top-Down

approach

� When the existing transaction does not exactly match the business requirement, the most efficient solution is to modify the existing transaction

– Modify or add COBOL or PL/I logic– Add JAVA classes to existing COBOL or PL/I programs– Take benefit of a Business Rules management system

• Business Rules mining using Rational Asset Analyzer– Take benefit of Business Event management system

• Generate events from IMS application– Study all Call in/Callout capabilities– Be creative ☺

� Rational Developer for System z (RDz) provides the best platform for IMS application program development, maintenance and renovation

“ A study of 35 SOA projects across 11 industries worldwide revealed improved flexibility (100%), decreased costs (97%), reduced risk (71%), and increased revenue (51%).”

IBM Institute for Business Value http://www-935.ibm.com/services/us/gbs/bus/html/soa-industry-series-tl.html

© 2012 IBM Corporation6

IMS TM Options

� All input messages into IMS go onto a queue– There is one input queue for each transaction code

� Output messages traditionally get put onto a queue for the destination

� But when OTMA is used (by MQ or IMS Connect), client chooses a COMMIT MODE

– Send reply directly (synchronously), bypassing the queues (called “Commit Mode 1” or

“Send then Commit”)• If SEND fails, transaction program is backed-out.• Synchronisation flow depends on sync-level (None, Confirm, Syncpt)

– Put reply on a named output queue and send it after application has committed (called

“Commit Mode 0” or “Commit Then Send”) • If SEND fails, reply is still on queue and can be retrieved later

Assured Delivery of replies is available• Sync-level is always Confirm

� IMS applications can create messages on any named output queue (using alternate PCB)

– Client can create CM0 services to read these asynchronous messages

– Integration with Business Event solutions

© 2012 IBM Corporation7

IMS TM Options …

� Messages can be segmented (input or output)– Single segment or multi-segment messages

– IMS application receives or sends individual segments

� IMS transactions can be conversational

– A scratch-pad created by one transaction is passed on to the next transaction

– A service could call one transaction – so a process would be a sequence of such

services

– A single service could call a sequence of conversational transactions

– A different approach is to write a new IMS transaction that combines the logic of an

existing set of conversational transactions, and this could be called by a service

� Input Request can be for Asynchronous Retrieval of queued output

– Failed CM0 IOPCB reply or ALTPCB output

� Transactions can be Input Only (specified by client as an input parameter)

– If transaction does create a reply, a separate service will be needed to retrieve it

© 2012 IBM Corporation8

SOA Connectivity with IMS TM - Inbound to IMS

IMS Connect

O

T

M

A

IMS DB &

XML DB

IMS

WebSphere Servers

WAS, WESB, WTX,

WMB, BPM

IMS SOAP

Gateway

WebSphere

DataPower

Connect API

(Java, C)

MQMQ Client

RYO Client

Web

Service

Consumer

IMS TM

Resource

Adapter

WAS – WebSphere Application ServerWOLA - WebSphere z/OS Optimized Local AdaptersWESB – WebSphere Enterprise Service Bus

WTX – WebSphere Transformation Extender

WMB – WebSphere Message BrokerBPM - IBM Business Process Manager (BPM) Advanced

IBM Mashup

Center /

WebSphere

sMash

Web 2.0 Client

DB2

WOLA

D

B

JCA

JMS or MQ API

SOAP over IP

WMB &

DataPower

MQ IMS Bridge

MQ Trigger Monitor

© 2012 IBM Corporation9

SOA Connectivity with IMS TM - Outbound from IMS

� Asynchronous support with– IMS API (ISRT ALTPCB)– MQ API– APPC API– TCP/IP calls with IMS Connect

� Synchronous (not in 2PC scope) support with– IMS API - New ICAL with IMS 10 – MQ API– APPC/IMS (also in 2PC scope)– SQL calls to DB2 stored procedures

B

IMSAppls.

B

IMSAppls.

B

Output Gateway

?

B

IMS

Appls.

B

Output Gateway

?

© 2012 IBM Corporation10

IMS Connect

O

T

M

A

IMS DB &

XML DB

IMS

DB2

WOLA

D

B

SOA Connectivity with IMS TM - Outbound from IMS

� Asynchronous and synchronous capabilities

IMS TM

Resource

Adapter

WAS

IMS SOAP

Gateway

MQMQ Server

RYO Server

Web

Service

Provider

Event

ProcessingWBE, WBM

WAS – WebSphere Application Server

WOLA - WebSphere z/OS Optimized Local AdaptersWBE – WebSphere Business Events

WBM – WebSphere Business Monitor

WMB – WebSphere Message Broker

RYO Server - .Net, BizTalk, Oracle SP, SAP, PayPal

services, and any application server, etc.

WMB

© 2012 IBM Corporation11

IMS SOA Solutions & Development Tools

� WebSphere using IMS Resource Adapter– WebSphere Application Server (WAS) – Rational Application Developer (RAD)

– WebSphere ESB (WESB) – WebSphere Integration Developer (WID)

– WebSphere Message Broker (WMB) – WTX Design Studio

– IBM Business Process Manager (BPM) Advanced, including IBM Integration Designer

– WebSphere Transformation Extender (WTX) – WTX Design Studio

– WebSphere Application Server Community Edition (WASCE)

� WebSphere DataPower – WTX Design Studio

– DataPower offers many built-in functions, e.g. WS-security, WS-management,

firewalling, XML performance, etc

� IMS SOAP Gateway – Rational Developer for System z (RDz)

– Direct SOAP connectivity for IMS (not an Application Server)

© 2012 IBM Corporation12

Comparison of 3 Scenarii

YesN/ASomezIIP/zAAP support

YesNo, CICS support based on MQ todayNo but comparable with CICS Web Services

Compatibility with CICS & IMS

Full-fledge capability supportFor performance, security and MIPS reduction

Light weight solution, with "limited" functions – Included in IMS product

Positioning

Rational Application Developer (RAD)Or IBM Integration Developer

WTX Design StudioRational Developer for System z (RDz)Development Tool

Not plannedPlannedAvailable for PL/I , planned for CobolTop-Down Support

YesYesYesCOBOL Redefine support

Run in any OS (Linux, Unix, Windows, zLinux, z/OS) + IMS Connect (ICON)

Appliance, standalone or in zBX

+ IMS Connect (ICON)

Run on Windows, zLinux, z/OS

+ IMS Connect (ICON)

Hardware & Software Platform

YesNo support for IMS conversational transaction

No support for IMS conversational transaction

IMS Conversational transaction support

OTMA Commit Mode 0 support

OTMA Commit Mode 1 support with sync-level= None, Confirm or Syncpt (Global Transactionality)

No OTMA Commit Mode 0 support

OTMA Commit Mode 1 with sync-level=None and Confirm

No OTMA Commit Mode 0 support

OTMA Commit Mode 1 with sync-level=None

OTMA Protocol Support

NO maximum message size: IMS Connect supports multi segment message (32K limit for one single segment)

NO maximum message size: IMS Connect supports multi segment message (32K limit for one single segment)

NO maximum message size: IMS Connect supports multi segment message (32K limit for one single segment)

Message size

Synchronous and Asynchronous Inbound and outbound

Synchronous and AsynchronousInbound

Synchronous access over HTTPInbound and outbound

Data Flow

WAS + JCA ConnectorWebSphere Datapower ApplianceIMS SOAP Gateway (ISG)

© 2012 IBM Corporation13

Leveraging the Best of Traditional and New Approaches

� Traditional Environment

– IMS TM/DB applications

•Existing applications

•New applications in Cobol, PLI, Java, ...

� Integration Project for smooth evolution

– Taking the best of the 2 worlds!

� New Environment

– JavaEE applications

– Data server on DB2 on z/OS

D

P

BIMS Trans

IMS DB

JavaEE Trans

DB2

Traditional New

© 2012 IBM Corporation14

Coexistence of 2 Worlds - Solutions

� When building a new integration layer– ESB1 – Integration layer to call both business logics

– For flexibility

� When IMS is the integration focal point– IMS1 – Calling web service from the IMS application (sync. or async)

– IMS2 – Piloting the DB2 update from the IMS application

� When WAS is the integration focal point– WAS1 – Access to IMS logic using JavaEE standards

• JCA for synchronous access• JMS for asynchronous access

© 2012 IBM Corporation15

ESB1 – Running Both Business Logics

� Integration (ESB) layer to access both environments– Call IMS transaction as a service– Call JavaEE application as a service– 3 scenarii: IMS only, JavaEE only, both

� Capabilities– In theory, Two phase commit between the 3 Logics

•Overhead due to TPC process, XA syncpoint manager, RRS

– In practice, possible if everything on z/OS (same or different LPARs)

z/OS

IMSConnect

IMS TM RA TCP/IP

WAS / WESB /

WPS

IMS

Appls.

OTMA

IMS DB

DB2

B D

I

z/OS

JavaEE

ApplicationsTCP/IP

WASDB2

DB2

DB

SOAP or ?

B

D

B

I

D

© 2012 IBM Corporation16

� Transactionality support – Thru distributed XA Transaction when WAS distributed

•Increase the length of the two-phase commit process•Increase the time the z/OS resources are locked

– Based on z/OS Resource Recovery Services (RRS) on z/OS when WAS and IMS are on z/OS•Optimal distributed Two-Phase Commit

Distributedz/OS

JavaEE

Appli.

TCP/IP

WAS

DB2DB2

DB

z/OS

IMSConnect

TCP/IP

IMS

Appls.

OTMA

IMS DBB D

WebSphere Application Server

Transaction Attribute = TX_REQUIREDTransaction Attribute = TX_REQUIRED

XA TransactionManager

XA TransactionManager

Call IMS service

Call new service

EnterpriseBean

JCAJCA

XA

Proxy ?Proxy ?SOAP or ?

SOAP or ?

IMS TM RA

RRSRRS

RRSRRS

ESB1 – Running Both Business Logics …

© 2012 IBM Corporation17

IMS1 – Calling web service from the IMS application

� IMS Asynchronous Callout – Enable IMS applications to act as a client to asynchronously invoke Java EE applications

and Web Services

– Receiving output from external application is possible

� IMS Synchronous Callout

– Enable IMS applications to invoke Java EE applications and Web Services, and

synchronously wait for the response

B*

DB

D

IMS

IMS App 1

z/OS

Initiating Client

IMS App 2

(ISRT ALTPCB) Request

Response

HoldQ

IMSConnect

OTMA

EJB/ MDB

WAS

Web Service

RYO

IMS TMRA

IMS SOAP Gateway

IMS

IMS App

z/OS

Initiating Client

DL/I callIMS

Connect

OTMA

EJB/ MDB

WAS

Web Service

RYO

IMS TMRA

IMS SOAP Gateway

© 2012 IBM Corporation18

IMS2 – Piloting the DB2 update from the IMS application

� Change in IMS application to add a call to a DB2 Stored Procedure

– Thru DRDA or thru MQ

� Capabilities with DRDA – Sync interface (hard interface)– Two phase commit capability– Need a DB2 on IMS LPAR to transmit DRDA request

� Capabilities with MQ – ASync interface (Soft interface)– No need for DB2 on IMS LPAR– MQ Listener to pass the messages to a stored

procedure

z/OS

z/OS

DB2 or

MQ

DB2Stored

ProcD

IMS IMS

Appls.

IMS DB

B

D

B

B

D

B

D

© 2012 IBM Corporation19

WAS1 – Access to IMS logic using JavaEE standards

� Starting an existing IMS logic or creating a new one to update existing IMS DB

– Synchronously using JCA• Two-phase commit capability

– Asynchronously using JMS

JCA Connector:IMS Connect / IMS TM

Resource adapter

IMSConnect

IMS TMRA

TCP/IP

WASIMS

Appls.

OT

MA

IMS DBB D

B

JMS Connector:MQ to IMS Bridge MQ-IMS

Bridge

(XCF)

MQJMS to MQ

MQ QueuesWASIMS

Appls.

OTMA

IMS DBB D

B

B

D

B

D

© 2012 IBM Corporation20

Summary - Architectural characteristics & Non Functional Requirements (some)

JCA: IMS Connect

JMS: IMS MQ Bridge

IMS DB2 ESAF for non-java apps or

IMS DB2 RRSAF for java apps or

IMS MQ API support

IMS Connect

IMS SOAP Gateway or WAS

IMS Connect & OTMA & RRS

Based Middleware

No performance with TPCJCA: yes in theory

JMS: No

Access to IMS logic using JavaEE standards (sync. or async. IMS Callin)

WAS1

IMS2

IMS1

ESB1

With DRDA, DB2 activity

added

With MQ, no impact on IMS

response time

Yes with DRDA

No with MQ

Piloting the DB2 update from the IMS application

Async: No impact

Sync: IMS resource contention

NoCalling web service from the IMS application (sync. or async IMS Callout)

No performance with TPCYesIntegration layer to call both business logics

Performance & ScalabilityTransactionality (TPC)

© 2012 IBM Corporation21

http://www-01.ibm.com/software/data/ims/toolkit/

© 2012 IBM Corporation22

Summary

� Core Business applications are critical to enterprise customers

– Business Integration need to consider them– Maintain forward progress (preserve

customer investments)– Applications must live for a long time!

� IMS ecosystem is ready to help you!

An on demand business is an enterprise

whose business processes — integrated

end-to-end across the company and with

key partners, suppliers and customers —

can respond with speed to any customer

demand, market opportunity or external

threat.