Bru soa access-for_ims_db_customers

43
© 2010 IBM Corporation ® SOA Access for IMS DB Customers Jack Yuan – [email protected]

Transcript of Bru soa access-for_ims_db_customers

Page 1: Bru soa access-for_ims_db_customers

© 2010 IBM Corporation

®

SOA Access for IMS DB Customers

Jack Yuan – [email protected]

Page 2: 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.

Page 3: Bru soa access-for_ims_db_customers

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

Page 4: Bru soa access-for_ims_db_customers

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

Page 5: Bru soa access-for_ims_db_customers

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

Page 6: Bru soa access-for_ims_db_customers

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)

Page 7: Bru soa access-for_ims_db_customers

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

Page 8: Bru soa access-for_ims_db_customers

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

Page 9: Bru soa access-for_ims_db_customers

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)

Page 10: Bru soa access-for_ims_db_customers

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

Page 11: Bru soa access-for_ims_db_customers

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

Page 12: Bru soa access-for_ims_db_customers

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

Page 13: Bru soa access-for_ims_db_customers

13

� Open Database consists of three components:

– Open Database Manager – CSL component

– IMS Connect

– Open Database API

Open Database Topics

Page 14: Bru soa access-for_ims_db_customers

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

Page 15: Bru soa access-for_ims_db_customers

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

Page 16: Bru soa access-for_ims_db_customers

16

ODBM

IMS

Database

Control Services Database manager

DR

A

z/OS

ODBM

ODBM

SCI

Client

SCI

SCI

API

SCI

API

OM

Page 17: Bru soa access-for_ims_db_customers

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

Page 18: Bru soa access-for_ims_db_customers

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

Page 19: Bru soa access-for_ims_db_customers

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

Page 20: Bru soa access-for_ims_db_customers

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

Page 21: Bru soa access-for_ims_db_customers

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

//*

Page 22: Bru soa access-for_ims_db_customers

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

Page 23: Bru soa access-for_ims_db_customers

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

Page 24: Bru soa access-for_ims_db_customers

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

Page 25: Bru soa access-for_ims_db_customers

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

Page 26: Bru soa access-for_ims_db_customers

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

Page 27: Bru soa access-for_ims_db_customers

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)

Page 28: Bru soa access-for_ims_db_customers

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

Page 29: Bru soa access-for_ims_db_customers

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

Page 30: Bru soa access-for_ims_db_customers

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

Page 31: Bru soa access-for_ims_db_customers

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

Page 32: Bru soa access-for_ims_db_customers

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

Page 33: Bru soa access-for_ims_db_customers

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

Page 34: Bru soa access-for_ims_db_customers

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) )

Page 35: Bru soa access-for_ims_db_customers

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

Page 36: Bru soa access-for_ims_db_customers

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

Page 37: Bru soa access-for_ims_db_customers

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!

Page 38: Bru soa access-for_ims_db_customers

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

Page 39: Bru soa access-for_ims_db_customers

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

Page 40: Bru soa access-for_ims_db_customers

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

Page 41: Bru soa access-for_ims_db_customers

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

Page 42: Bru soa access-for_ims_db_customers

42

IMSIMSIMS

IMS

Mainframe

IMSIMSIMS

IMS

Mainframe

IMS Open Database

J2EE

JDBC Universal

drivers

DLI

J2EE

JDBC Universal

drivers

DLI

Demo

Page 43: Bru soa access-for_ims_db_customers

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