Bru soa access-for_ims_db_customers
Transcript of Bru soa access-for_ims_db_customers
2
Acknowledgements
� Special thanks to
– Suzie Wendler and Ken Blackman
for sharing their IMS SOA knowledge
and foils with me.
3
The Technology Evolution
Access Publish TransactIntegrate
Internally
Integrate
Externally
Adopt
Dynamically
COBOL
32703270
Access
“Get on the Net”
COBOL
XML
DB
IMS Connect
IMS
Java EJB
WWWWWWWWWWWW
XMLSOAP
32703270
On Demand
“…Optimize operations
dynamically respond to the needs of customers,employees, partners.
”
Simplification …….
OpenDatabase
Web 2.0
Publish IMS resources as
feeds
4
..to Service Oriented Architecture (SOA)
� Figuring out how to access IMS
– “Exposing” the IMS resources as web services
� Deciding how to create the web service
� Figuring how to access web services from
IMS
IMS?
Service
Provider WebService
bind, invoke
SOAP
WSDLpublish
UDDI
BrokerService
Registry
WSDLfind
ServiceRequester
Application
Client
REQUIREMENTS
• Provide access to IMS resources as web services
• Provide access from IMS transactions to web services
5
IMS recognizes a variety of requirements
� Application requirements
– Access to IMS transactions
• Direct connection model
• Messaging and Queuing model– Access to IMS data
• Inquiry (read-only), Update, 2PC
• Access across LPARs
• Access from distributed environments– Access from IMS applications
• To web services– Applications and data on distributed
servers
– Replicating IMS data
6
And provides a variety of new IMS Solutions
Web Service
Web Service
Web Service
Web Service
.NET Client
Client Developer
Application developer
SAP Client
Web service clients
Java/J2EE Client
Java dev
Direct Database access
Developers
Java /J2EE Developer
CICS Developer
DB2 Developer
Java
class Library
Direct
SOAP
IMS SOAP
Gateway
RDz
Solutions
WID RAD
IMS TM
Resource
Adapter
MFS SOA
WebSphere
Solutions
DLI
Model
Utility
DLI
Model
Utility
DB2
SP/CICS
WebSphere
IMS
Universal
DB
Resource
Adapter
IMS
Database
IMS Connect
SQLXQuery
DL/I
DL/ISOAP
TCP/IP
Transaction
manager
IMS APP
Database
manager
DLI
Model
Utility
OT
MA
OD
BM
IMS
Universal
JDBC
Driver
IMS
Universal
JDBC
Driver
TCP/IP
DRDA
OD
BA
/DR
A
IMS
JDR
Resource
Adapter
Web 2.0 Mashup
HTTP
IMS
Web 2.0
WebSphere
REST Service
REST Service
REST Service
REST Service
InfoSphere Mashup
(includes new IMS 11 components)
7
IMS Integration Suite
� IMS TM Resource Adapter
� IMS Web 2.0
� IMS MFS Web Enablement
� IMS SOAP Gateway
� IMS DB Resource Adapter
– IMS JDBC Connector
� IMS DLIModel utility
� IMS XML DB
� Open Database Manager (IMS 11)
IMS Connect-based solutionsfor IMS transaction access
IMS DB access
8
Application Requirement – Access to Data
� Direct Connection (database)
– Characteristics
• Access to data without invoking an IMS transaction
– ODBA interface (Open DataBase Access)
• Programs that issue database calls must reside on the same MVS as IMS
9
IMS Solutions
� JDBC access to IMS DB (delivered by IMS)
– WebSphere z/OS and IMS Java support
– Support with IMS V9 – IMS Java Remote Data Services
z/OS
WAS for z/OS
EJB
(JDBC calls)
EJB
(JDBC calls)
IMSDB
(ODBA)
IMSDB
(ODBA)
IMS JDBC
adapter
IMS JDBC
adapterHTTP
Server
WAS for z/OS
EJB(CM)
EJB(CM) IMS DB
(ODBA)
IMS DB
(ODBA)IMS JDBCadapter
IMS JDBCadapter
EJB
(BM)
EJB
(BM)
Client side
EJB
application
Client side
EJB
application
DistributedIMS JDBC
adapter
DistributedIMS JDBC
adapter
z/OS
WAS Distributed
CM: container managed (supports global transaction semantics)
BM: bean managed (supports local transaction semantics)
10
… And XML DB
� Storage and retrieval of XML documents in IMS databases
– Composition of XML documents from existing IMS databases
• Creation of IMS segments from XML documents (decomposition)
• Intact storage of XML documents (without decomposition)
– Tooling assistance to define metadata for mappings
– IMS Java application programming support
� Benefits
– Easy exchange of data between IMS databases and XML documents
• Existing IMS databases may be used to create XML documents
• Existing applications are unaffected
IMS JavaApplication
IMS DBXML Document
XML Schema
<?xml version=‘1.0’?><customer xmlns=‘http://www…/PSB/PCB’><cust> …<name> … </name> </cust> <?xml version=“1.0”’
encoding=“UTF-8”?><xsd:schema xmlns:xsd= ……<xsd:element name=“cust”>…
APIs:
IMS 9 – XML API
IMS 10 – XQUERY API
11
DLIModel Utility
� Generates the DB metadata and XML Schema
IMS Java
Metadata classes(HFS)
IMS Java
Report(HFS)
DLIModel
UtilityPSB
DBD
package samples.dealership;
import com.ibm.ims.db.*;
import com.ibm.ims.base.*;
public class AUTPSB11DatabaseView extends DLIDatabaseView {
// The following DLITypeInfo[] array describes Segment: DEALER in PCB: AUTOLPCB
static DLITypeInfo[] AUTOLPCBDEALERArray= {
new DLITypeInfo("DealerNo", DLITypeInfo.CHAR, 1, 4, "DLRNO"),
new DLITypeInfo("DealerName", DLITypeInfo.CHAR, 5, 30, "DLRNAME"),
new DLITypeInfo("DealerCity", DLITypeInfo.CHAR, 35, 10, "CITY"),
new DLITypeInfo("DealerZip", DLITypeInfo.CHAR, 45, 10, "ZIP"),
new DLITypeInfo("DealerPhone", DLITypeInfo.CHAR, 55, 7, "PHONE")
};
static DLISegment AUTOLPCBDEALERSegment= new DLISegment
("DealerSegment","DEALER",AUTOLPCBDEALERArray,61);
...
// An array of DLISegmentInfo objects follows to describe the view for PCB: AUTOLPCB
static DLISegmentInfo[] AUTOLPCBarray = {
new DLISegmentInfo(AUTOLPCBDEALERSegment,DLIDatabaseView.ROOT),
new DLISegmentInfo(AUTOLPCBMODELSegment,0),
new DLISegmentInfo(AUTOLPCBORDERSegment,1),
new DLISegmentInfo(AUTOLPCBSALESSegment,1),
new DLISegmentInfo(AUTOLPCBSTOCKSegment,1),
new DLISegmentInfo(AUTOLPCBSTOCSALESegment,4),
new DLISegmentInfo(AUTOLPCBSALESINFSegment,5)
};
...
}
DLIModel IMS Java Report
======= ===== ==== ===== ===
Class: AU TPSB11DatabaseView in package: sampl es.deal ership generated for PSB: AUTPSB11
======= ===== ==== ===== ===== ===== ===== ==== ===== =====
PCB: Deal er
======= ===== ==== ===== ===== ===== ===== ==== ===== =====
Segment: Dealer Segment
Field: DealerNo Type=C HAR Start=1 Length=4 ++ Pri mar y Key Field + +
Field: DealerName Type=CHAR Start=5 Length=30 (Sear ch Field)
Field: DealerCity Type= CHAR Start=35 Length=10 (Search Field)
Field: DealerZip Type= CHAR Start=45 Length=10 ( Search Field)
Field: DealerPhone Type=CHAR Start=55 Length=7 (Sear ch Field)
======= ===== ==== ===== ===== ===== ===== ==== ===== =====
Segment: ModelSegment
Field: M odelKey Type=CHAR Start=3 Length=24 ++ Pri mar y KeyFiel d ++
Field: M odelType Type=CHAR Start=1 Length=2 (Search Field)
Field: M ake Type=CH AR Start=3 Length=10 (Search Fi eld)
Field: M odel Type=C HAR Start=13 Length=10 (Search Field)
Field: Year Type=CH AR Star t=23 Length=4 (Search Fiel d)
Field: M SRP Type=C HAR Start=27 Length=5 (Search F ield)
Field: C ount Type=C HAR Start=32 Length=2 (Search Fi eld)
===== ===== ===== ===== ==== ===== ===== ===== ===== ==== ==
Segment: Or derSeg ment
Field: Order No Type=CHAR Start=1 Length=6 ++ Pri mar y Key Fiel d ++
Field: LastN ame Type=CH AR Start=7 Length=25 (Search Fi eld)
Field: FirstN ame Type=C HAR Start=32 Length=25 (Search Field)
Field: Date Type=C HAR Start=57 Length=10 ( Search Field)
Field: Ti me Type= CHAR Start=67 Length=8 (Search Field)
==== ==== ===== ===== ===== ===== ==== ===== ===== ===== ===
Segment: SalesSeg ment
Field: SaleN o Type=CHAR Start= 49 Length=4 ++ Pri mar y Key Fiel d ++
...
(PDS)XMI
(HFS)
COBOLcopybooks
(HFS or PDS)
XML Schema(s)(HFS)
GUI(Eclipse Plug-in)
PSB
DBD
Control statementsOPTIONS PSBds=psbfiles DBDds=dbdfiles
GenJavaSource=YES JavaSourcePath=test/tooling/f101/testPackage=test.db.psb1 ReportPath=test/tooling/f101/testGenXMI=YES GenTrace=YESGENXMLSchemas=storeXMLSchemaPath=testschemaOutpath=test/tooling/f101
INCLUDE Dataset=include/dealerIncls
PSB psbName=autpsb1 JavaName=NewPSB1DBViewPCB pcbName=PCB1 JavaName=DealerPCB pcbName=PCB2 JavaName=Employee
COBOLXMI’s
(HFS or PDS)
New
IMS 11
Import XML
Generate DBD
12
IMS Open Database
� Solution Statement
– Offer scalable, distributed, and local access to IMS database resources
� Value
– Business growth
• Allow more flexibility in accessing IMS data
– Market positioning
• Enable IMS databases as a standards-based data server
� Key differentiators
– Standards-based approach
• Java Connector Architecture
• JDBC
• SQL
• DRDA
– Solution packaged with IMS
� Enables new application design frameworks and patterns
– Java EE
– Web 2.0
13
� Open Database consists of three components:
– Open Database Manager – CSL component
– IMS Connect
– Open Database API
Open Database Topics
14
DB2 SP
Appl Pgm
JDBC
Address
Space
Using RRS
CCTL B
Appl Pgm
D
R
A
CICS A
Appl Pgm
JDBC
D
R
A
WAS z/OS
Appl Pgm
JCA
Address
Space
Using RRS
O
D
B
A
O
D
B
A
CCTL ODBA and DRA Application Review
IMS
Database
DB
Services
DR
A
Application ProgramCTL
Services
RRS=Y|N
TM
Services
Thread 1
Thread 2
Thread 1
Thread 2
z/OS LPAR
15
�� Open Database ManagerOpen Database Manager (ODBMODBM) is a Common Service Layer component
–– ReceivesReceives database connection requests from IMS Connect
–– TranslatesTranslates incoming database requests from the DDM protocol into DLI calls
expected by IMS
–– TranslatesTranslates responses to the client into the DDM protocol
–– ManagesManages connections to IMS DB
• Implements the DRA interface
– Supports Two-phase commit semantics
• RRS=Y RRS provides sync point coordinator role
– Supports Single-phase commit semantics
• RRS=N ODBM provides CCTL sync point coordinator role
Open Database Manager
16
ODBM
IMS
Database
Control Services Database manager
DR
A
z/OS
ODBM
ODBM
SCI
Client
SCI
SCI
API
SCI
API
OM
17
CSL ODBM CCTL ODBA and DRA
IMSplex
Database
DB
Services
DR
A
Application Program
CTL
Services
RRS=Y|N
TM
Services
Thread 1
Thread 1
ODBM
CCTL
RRS=N
D
R
A
ODBM
RRS=Y
O
D
B
A
SCIOM
z/OS LPAR
SCI
API
SCI
API
18
IMS Open Database
� Distributed Syncpoint (global transaction) requires RRS on z/OS
� Use of RRS with ODBM is optional
– RRS=Y|N parm for ODBM start-up
• If RRS=Y (also the default), ODBM will use the ODBA interface (i.e. AERTDLI)
• If RRS=N, ODBM will use the DRA interface like CICS
– Global transactions are not supported if RRS=N)
LPAR A
LPAR B
z/OS
Distributed
J
D
B
C
T
C
P
I
P
WAS
IMS ConnectT
C
P
I
P
S
O
A
P
SCI
Start UOW
IMS DB
IMSSCI
O
D
B
A
ODBM
RRS
RRS
Parent UOR
Child
Coordinated
19
ODBM auto-(re) connect
IMS2
OD
BA
IMS1
SCI
ODBM
IMS4
LPAR 1
IMSPLEX(NAME=PLEX1)
PLEX1
PLEX1
PLEX1
PLEX1
SCI notification for IMS2ODBM re-connects
No notification for IMS4 ODBM does not re-connectmust use an ODBM command
20
And … for Compatibility
� ODBA application programs can use the ODBM address space
– “Compatibility Mode”
– Gives protection from potential U113 abends when ODBA applications are stopped during DLI processing
– No changes required to ODBA applications
– Need to update and recompile DFSPRP macro to build new DRA Startup
Table
21
DFSPRP Macro
FUNCLV=2
DBCTLID=
MAXTHRD=
MINTHRD=
.
.
.
IMSPLEX=
ODBMNAME =
ODBA Compatibility Support
Causes ODBA
requests to be routed via ODBM
(Optional)
//DFSIVP10 EXEC PROC=ASMDRA,MBR=DFSIMSA0
//ASM.SYSIN DD *
DFSIMSA0 CSECT
DFSPRP DSECT=NO, X
FUNCLV=2, ODBA FUNCTION LEVEL X
DDNAME=DFSDB2SP, DDNAME FOR DRA RESLIB X
DSNAME=IMS110P.SDFSRESL, DSNAME FOR DRA RESLIB X
DBCTLID=IMSA, DBCTL IDENTIFIER X
USERID=, USER IDENTIFIER X
MINTHRD=1, MINIMUM NUMBER OF THREADS X
MAXTHRD=1, MAXIMUM NUMBER OF THREADS X
TIMER=60, IDENTIFY TIMER VALUE DEFAULT X
FPBUF=, NUMBER OF FP BUFFERS PER THREAD X
FPBOF=, NUMBER OF FP OVERFLOW BUFFERS X
SOD=A, SNAP DATASET OUTPUT CLASS X
TIMEOUT=60, DRATERM TIMEOUT VALUE X
IDRETRY=0, IDENTIFY RETRY COUNT X
CNBA=, TOTAL FP NBA BUFFERS FOR CCTL X
IMSPLEX=PLEXA, IMSPLEX NAME X
ODBMNAME=OD0A
END
//*
22
ODBM ODBA Compatibility Support
IMS2
V10
OD
BA
IMS1
V9
WASz/OSODBAClient
SCI
ODBM
02
DB2SPODBAClient
IMS3
V11
ODBM
01
OD
BA
z/OS LPAR 1
PK66020
PK66022
ODBMNAME=ODBM02IMSPLEX NAME=PLEX1
IMSPLEX NAME=PLEX1
IMSPLEX(NAME=PLEX1)
CSL will choose an ODBM
OR
23
ODBM – Security
� ODBM does not perform any user authentication or authorization
– Assumes the end Client Userid associated with an allocate PSB request
has been authenticated.
– IMS Connect does the authentication
– IMS does the authorization
� For ODBA DRA DFSPBxxx
– ODBASE= APSB security and ISIS= IMS RAS security
• ODBM creates ACEE for ODBM Thread TCB
� For CCTL DRA DFSPBxxx
– ISIS= IMS RAS security
• ODBM passes Client UserID/GroupName to access the PSBs
24
ODBM
RRS=Y
SAF APSB Security
ACEE
Userid
PSB Schedule Time
PSB 1 Userid
�ODBASE=Y
�ACEE - Authenticated USERID
�The IMS application group resource class (AIMS or Axxxxxxx)
IMS
Connect
ODBM
Client
Open DB API Type 4
TCP/IPConnection
USERID
Password
IMS
Authenticated
USERID
25
ODBM
RRS=N
RAS PSB Security
ACEE
Userid
ACEEUserid
PSB Schedule Time
PSB 1 Userid
� ISIS=R or A
�ACEE - Authenticated USERID
�The IMS application group resource class (IIMS or Ixxxxxxx)
IMS
Connect
ODBM
Client
Open DB API Type 4
TCP/IPConnection
USERID
Password
IMS
Authenticated
USERID
USERID
Group
26
ODBA Enhancements
� New CIMS CONNECTCIMS CONNECT call which allows ODBA applications to connect to multiple IMS multiple IMS
subsystemssubsystems with a singlesingle callcall
– Previously CIMS INIT was the only function available, which only allowed the
caller to connect to a single IMS
• Multiple CIMS INIT calls were required to connect to multiple IMS DB systems
� ODBA application programs can use the ODBM address spaceODBM address space to manage the ODBA
interface
– Gives protection from potential U113 abendsprotection from potential U113 abends when ODBA applications are
stopped during DLI processing
• No changes required for ODBA applications
– Need to add the IMSplex and ODBMNAME keywords to DFSPRP macro
• Recompile and rebind the DFSxxxx0 load module
�� Reduces complexityReduces complexity and increases availabilityavailability
27
ODBM ODBA Compatibility Support
IMS2
V10
OD
BA
ODBM
03
IMS1
V9
•WAS•z/OS•ODBA•Client
SCI
ODBM
02
OD
BA
•DB2•SP•ODBA•Client
IMS3
V11
ODBM
01
OD
BA
LPAR 1
PK66020
PK66022
ODBMNAME=ODBM03
IMSPLEX NAME=PLEX1
IMSPLEX NAME=PLEX1
IMSPLEX(NAME=PLEX1)
28
IMS Open Database – IMS Connect�� IMS ConnectIMS Connect has the following enhancements in support of IMS Open Database:
– IMS Connect Configuration member HWSCFGxx
• New ODACCESSODACCESS statement– DRDA ports, timeout value, IMSplex name etc.
– Changes to existing commandscommands
• VIEWHWS, VIEWDS, VIEWPORT
–– New CommandsNew Commands
• STARTOD, STOPOD, STARTIA, STOPIA, VIEWIA, SETOAUTO
–– New User ExitsNew User Exits
• HWSROUT0 – Routing Exit for ODBM– can override the IMS alias and/or select the ODBM target
• HWSAUTH0 – Security Exit for ODBM– can perform the authentication of the userid
29
Timeouts
� ODBMTMOT= Defines the amount of time that IMS Connect waits::
– A response message on connections with ODBM
– An initial input message from TCP/IP client application
Type 4
TCP/IP
DRDA
Application
Program
Requestor
TCP/IP
DRDA
IMS
Connect
DRDA
PORT
ODBM
Type 4
TCP/IP
DRDA
Application
Program
Requestor
TCP/IP
DRDA
HWSJ2530W
Back out In-Flight work
IMS
DR
A
30
IMS Connect and ODBM as DRDA Application Server
IMS
Database
Control Services Database manager
DR
AODBM
IMS
Connect
DRDA
PORT
Open DB API
Type 4
TCP/IP
DRDA
Application
Program
Requestor
TCP/IP
DRDA
z/OS
31
IMS Connect HWSCFGxx Configuration Member . . .
HWS=(ID=HWS1,XIBAREA=100,RACF=N)
TCPIP=(HOSTNAME=TCPIP,PORTID=(9999,9998,LOCAL),
EXIT=(HWSSMPL1,HWSCSLO1,HWSSOAP1))
DATASTORE=(ID=IMS1,GROUP=XCFGRP1,MEMBER=HWS1,
TMEMBER=IMS1,DRU=HWSYDRU0,
APPL=APPLID1,RRNAME=RTPIPE)
IMSPLEX=(MEMBER=IMSPLEX1,TMEMBER=PLEX1)
ADAPTER=(XML=Y)
� Example of ODACCESS statement
ODACCESS=(ODBMAUTOCONN=Y,ODBMTMOT=6000,DRDAPORT=(ID=1111,KEEPAV=5,PORTTMOT=50),
IMSPLEX=(MEMBER=ICON1,TMEMBER=PLEX2))
OTMA
OM
ODBM
32
IMSPLEX = CSLPLEX1 and CSLPLEX2
IMS
CTL
DR
A/O
DB
A
ODBM
OM
9999
9998
IMS
CONNECT
DRDA
PORT
1111
SCI
DR
A/O
DB
A
OTMA
•ODBM01OD
•PLEX2
•B1OM
•PLEX1
•IMSPLEX1
•PLEX1
•IMS2
•PLEX2
•HWS1
•XCFGRP1
•ICON1
•PLEX2
z/OS B
ODBM
OM
SCI
•SCB1SC
•PLEX1
IMS
CTL
•IMS1
•PLEX1
•XCFGRP1
•SCB2SC
•PLEX2
OM
•B2OM
•PLEX2
33
IMS Open Database – IMS Connect
�� IMS Connect Workload DistributionIMS Connect Workload Distribution
–– ODBM clientsODBM clients can specify an IMS ““ALIASALIAS”” in the message
• Alias represents the IMS datastore that the client wants to access
– Multiple Alias names for an IMS datastore can be defined in the ODBM configuration
member
– If the client sends a message with a blank alias, IMS Connect will route the
message to all ODBM using a round robin algorithm
– If an alias points to multiple ODBMs, IMS Connect will route the message to
one of those ODBMs using a round robin algorithm
34
ALIAS Example
IMS2
TM/DBO
DB
A
ODBMB1
IMS1
TM/DB
•ALIAS IO2A only routes to IMS2
ODBMB2
DR
A
•ALIAS IO3A only routes to IMS3)
IMSConnect A
LPARA
LPARB
ODBM(NAME=ODBMB1
DATASTORE(NAME=IMS1,
ALIAS(NAME=IM1A, IO1A))
DATASTORE(NAME=IMS2,
ALIAS(NAME=IM1A, IO2A)) )
•ALIAS IO1A only routes to IMS1
IMSConnect B
IMSPLEX1
TC
P/IP
ACCESS DB
using
ALIASIM1AAnd usingIMS ConnectHostnameport
•ALIAS IM1A is
routed to ODBMB1
for either IMS1 or
IMS2
DB
DB
IMS4
DBCTLDB
•IMS4 has no alias, applications can use the DATASTORE name IMS4
IMS3
DBCTL
ODBM(NAME=ODBMB2
DATASTORE(NAME=IMS3,
ALIAS(NAME= IO3A, IMS3))
DATASTORE(NAME=IMS4) )
35
No ALIAS Example
IMS2
TM/DB
OD
BA
ODBMB1
IMS1
TM/DB
ODBMB2
DR
A
IMS3
DBCTL
IMSConnect A
LPARA
LPARB
ODBM(NAME=ODBMB1
DATASTORE(NAME=IMS1,
ALIAS(NAME=IM1A, IO1A))
DATASTORE(NAME=IMS2,
ALIAS(NAME=IM1A, IO2A)) )
ODBM(NAME=ODBMB2
DATASTORE(NAME=IMS3,
ALIAS(NAME= IO3A, IMS3))
DATASTORE(NAME=IMS4) )
IMSConnect B
IMSPLEX1
DB
DB
TC
P/IP
ACCESS DB
using a blank
ALIAS
And usingIMS ConnectHostname and Port
IMS4
DBCTL
•A blank alias is routed to either
ODBMB1 or ODBMB2
(assumes that any route
can access the DB)
Data SharingEnvironment
36
Java DL/1 Access
� The IMS Universal DL/1 DriverIMS Universal DL/1 Driver provides a DL/1 Call interfaceDL/1 Call interface for java applications in a Non-JEE environment
– Completely re-architected and rewritten
– Rich in function
– Usable in distributed or z/OS environments
� The IMS Universal DB Resource AdapterIMS Universal DB Resource Adapter not only supports JDBC,
but also fully supports the JCA 1.5 CCI DB interactionJCA 1.5 CCI DB interaction specification
– SQLInteractionSpec class provides simple SQL calls
– DLIInteractionSpec class provides simple DL/1 calls
• RETRIEVE, CREATE, UPDATE, DELETE functions
37
IMS Open Database
� IMS Open Database offers access to IMS database IMS database resources anywhere anywhere in the IMSplex IMSplex directly directly from z/OS z/OS and distributed distributed environments
– Using industry standardindustry standard Distributed Relational Database ArchitectureDistributed Relational Database Architecture
(DRDA) to communicate with IMS ConnectIMS Connect
– Different API layers are provided to leverage the DRDA protocol
•• IMS Universal DB Resource Adapter IMS Universal DB Resource Adapter - to use JDBC SQL access to IMS data in a JEE environment such as WebSphere Application Server (WAS) on any platform
•• IMS Universal JDBC driver IMS Universal JDBC driver - to use JDBC SQL access to IMS data in a Non-JEE environment such as stand-alone java, DB2 SP, IMS TM, CICS
•• IMS Universal DL/I driver IMS Universal DL/I driver - to issue calls that are similar to DL/I directly to IMS from a Non-JEE Java environment
•• RYORYO - Use a programming language of your choice to issue DRDA commands directly to IMS Connect
–– IMS ConnectIMS Connect becomes the gatewaygateway to IMS TransactionsIMS Transactions andand IMS DataIMS Data
�� Makes Application development and Connectivity much simpler!Makes Application development and Connectivity much simpler!
38
IMS Open Database
� Comparison of programming approaches for accessing IMS:
Scenario
Accessing IMS data through TCP/IP from a non-Java application that resides on a distributed non-z/OS platform or a z/OS platform that is on a different LPAR from the IMS subsystem.
Accessing IMS data through TCP/IP from a Java application (non-J2EE) that resides on a distributed non-z/OS platform or a z/OS platform that is on a different LPAR from the IMS subsystem.
Accessing IMS data through TCP/IP from a J2EE application that resides on a distributed non-z/OS platform or a z/OS platform that is on a different LPAR from the IMS subsystem.
Approach
Use your language of choice to issue DRDADDM commands
Use the type-4 JDBC driver or the DL/I for JavaAPI
Use the JCA 1.5-compliant IMS distributedDB resource adapter
39
Universal DB
Resource Adapter
JCA 1.5
WAS (any platform)
Universal Drivers
Distributed
DLI
JDBC
IMS Universal Drivers
System z
z/OS A
z/OS B
IMS DB
IMS
ODBM
IMS DB
IFL Linux
WAS/zUniversal
DB ResourceAdapter
JCA 1.5
IMSIMS
ConnectConnect
T
C
P
I
P
UniversalDB
ResourceAdapter
JCA 1.5
WAS
Linux z
Any Java Runtime Platform
CICS
DB2
UniversalJDBC
DLI
UniversalJDBC
DLI
IMS TM
IMS
ODBM
IMS
Appl
IMS DB
Network Clients
SNA
TCP/IPUniversal
JDBC
Type 4
Type 4
Type 4
Type 4
Type 2
Type 2
Type 2
Type 2
40
IMS DB as a service
� Web 2.0 support for IMS data
– Develop an IMS RESTful
service / feed
• Generate Meta files from
IMS DB
• IMS Web 2.0 Editor in
InfoSphere MashupHub
41
Running an IMS 11 database Feed
� Invoking an IMS 11 DB feed
– IBM Mashup Center Enterprise database feed generator
– Mashup editing tools in IBM Mashup Center
– IMS 11 Universal DB resource adapter
42
IMSIMSIMS
IMS
Mainframe
IMSIMSIMS
IMS
Mainframe
IMS Open Database
J2EE
JDBC Universal
drivers
DLI
J2EE
JDBC Universal
drivers
DLI
Demo
43
� Open Database Capabilities
– Supports open-standards for connectivity to online IMS databases
– Across z/OS LPARs
– Across networks
– Direct access from distributed platforms
– Provides an environment that manages access to online IMS databases
– Provides Open Database APIs
• Ease application development access to IMS databases
Summary