Post on 11-Mar-2018
© 2012 IBM Corporation
SOA Integration of IMS ApplicationsAn Overview of the OptionsMarch 2012
Helene Lyon
helene.lyon@fr.ibm.com
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 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.