ims open database best practices...open database components ims sci odba/cctl ddm tcp/ip drda/ ddm...
TRANSCRIPT
![Page 1: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/1.jpg)
IMS Open Database Best Practices
Kenny BlackmanIBM IMS ATS
March 16, 2012
10817 - Birch
![Page 2: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/2.jpg)
Open Database Components
IMS
SCI
OD
BA
/CC
TL
DDM
TCP/IP
DRDA/DDM
DLI
IMSOpen DBUniversal
Type-4Drivers
z/OS LPAR 2 z/OS
LPAR 1
Operations
Manager(OM)
SCI
API
Structured
Call
Interface
(SCI)
SCI
API
IMSConnectODBM
Client
SC
I
DR
DA
PO
RT
Open DBManager(ODM)
SCI
DR
A
![Page 3: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/3.jpg)
IMS DBJava App
DL/I
IMS
Open DatabaseManager(ODBM)
PCTCP/IP
LPAR 1
SCI
IMS
Open DatabaseManager(ODBM)
PCIMS DB
LPAR 2
IMS
Open DatabaseManager(ODBM)
PCIMS DB
LPAR 3
IMS Connect
SCI
SCI
DDM
DL/I
DDM
DDM
DL/I
DL/I
DDM
Open Database request flow
![Page 4: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/4.jpg)
CSL IMSPlex startup/shtudown• Start as a z/OS started procedure or as JCL
• Start all SCIs. • Start all OMs. • Start CQS if using a resource structure. • Start all RMs. • Start all IMS control regions
• Stop all IMS control regions • Stop all RMs.• Stop CQS• Stop all OMs• Stop all SCIs.
• STOP CSLjob command
• STOP (P) cslobname
• CSL SHUTDOWN command
• F scijobname, SHUTDOWN …
• CSLZSHUT API
• Programming interface
![Page 5: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/5.jpg)
Reminder of BPE Address Space Setup
BPE Address Space JCL
// EXEC PGM=BPEINI00, ....
PARM= …
BPECFG=
BPEINIT=specific module
xxINIT=suffix
PARM1=initialisation overrides
BPE Configuration Member
• Shared or dedicated
• Details of traces
• Pointers to Exit Lists
BPE Configuration Member
• Shared or dedicated
• Details of traces
• Pointers to Exit Lists
BPE Configuration Member
• Shared or dedicated
• Details of traces
• Pointers to Exit Lists
Exit List Member
by exit type and component
• Dedicated or shared
Exit List Member
by exit type and component
• Dedicated or shared
Exit List Member
by exit type and component
• Shared or dedicatedInitialization Member
CSLDIxxx
• Name of BPE Address Space
• Plex name
• Other parameters
“Configuration” Member
• Configuration parameters
• CSLDCxxx
DFSPBxxx
![Page 6: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/6.jpg)
ODBM BPE Trace Tables• CSL
• used for routines that are common to all CSL managers
• ERR
• used to trace errors that occur within the ODBM address space
• ODBM
• used for general ODBM processing flow
• PLEX
• used for ODBM processing for a specific IMSplex
• BPE Commands
F ODBM,DISPLAY TRACETABLE NAME(*) OWNER(ODBM)
F ODBM,UPDATE TRACETABLE NAME(*) OWNER(ODBM) LEVEL(HIGH) EXTERNAL(YES)
![Page 7: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/7.jpg)
ODBM BPE Configuration PROCLIB Member Example
TRCLEV=(*,LOW,ODBM) /* DEFAULT ODBM TRACES TO LOW */TRCLEV=(CSL,HIGH,ODBM) /* CSL TRACE ON HIGH */TRCLEV=(ODBM,HIGH,ODBM) /* ODBM GENERAL TRACE ON HIGH */TRCLEV=(PLEX,HIGH,ODBM) /* IMSPLEX TRACE ON HIGH */
# # USER EXIT LIST PROCLIB MEMBER SPECIFICATION #
EXITMBR=(CSLEXOB0,BPE) /* SPECIFY PROCLIB DATASET *//* MEMBER CSLEXOB0 AS BPE'S *//* USER EXIT LIST MEMBER */
EXITMBR=(CSLEXDM0,ODBM) /* SPECIFY PROCLIB DATASET *//* MEMBER CSLEXDM0 AS ODBM'S *//* USER EXIT LIST MEMBER */
![Page 8: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/8.jpg)
ODBM User Exit List PROCLIB Member • EXITMBR= specifies PROCLIB member to define ODBM user exits
• User Exit List Statement
• EXITDEF = (TYPE=type, EXITS=(exitname1, exitname2, ...) [,ABLIM=limit], COMP=ODBM)• TYPE=type (CLNTCONN, INITTERM, INPUT, or OUTPUT)
• EXITS=(exitname)
• list of one or more user exit module names.
• ABLIM=limit
• limit for the exit type being defined.
• decimal number from 0 to 2147483647
F ODBM,DISPLAY USEREXIT …
F ODBM,REFRESH USEREXIT …
![Page 9: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/9.jpg)
ODBM Interfaces: ODBA and DRA
IMSplex
IMS DB
DBServices
DR
A
Application Program
CTLServicesRRS=Y|N
TMServices
Thread 1
Thread 1
ODBMCCTL
RRS=N
DRA
SCI
ODBMRRS=Y
ODBA
SCI
• ODBM can be started with either RRS=Y or RRS=N• RRS=Y for coordinated update• RRS=N for inquiry only and use PCB with PROCOPT=G or use for
Local transaction
OperationsManager
(OM)
SCIAPI
StructuredCall
Interface(SCI)SCIAPI
![Page 10: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/10.jpg)
THREADS and PSTs
IMSplex
IMS DB
DBServices
DR
A
CTLServicesRRS=Y|N
TMServices
Thread(PST)
Thread(PST)
CCTL
ODBA
BMP/JBP
Application Program
ODBMThread (PST) MPP/JMP/IFP
Application Program
PSTs
![Page 11: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/11.jpg)
IMS Open Database and Distributed Sync Point• Use of RRS with ODBM is optional
• RRS=Y|N parm for ODBM start-up• RRS=Y is needed to supported Distributed Two-Phase Commit
• RRS=Y in IMS Connect and ODBM and IMS Control Region
LPAR A
LPAR B
z/OSDistributed
J
D
B
C
T
C
P
I
P
WebSphereIMS Connect
T
C
P
I
P
S
O
A
P
SCIStart UOW
IMS DB
IMSSCI
ODBA
ODBM
RRS
RRS
Parent UOR
Child
Coordinated
Note: An individual ODBM has either RRS=Y or RRS=N, but can not
support both concurrently
RRS=Y
RRS=Y
RRS=Y
![Page 12: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/12.jpg)
12
ODBM Availability
IMS2
IMS1
IMSConnect02
ODBM
02
IMSConnect01
ODBM
01
z/OS LPAR 1
IMSPLEX(NAME=PLEX1)
![Page 13: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/13.jpg)
13
ODBM Availability
IMS2
IMS1
IMSConnect02
ODBM
02
IMSConnect01
ODBM
01
z/OS LPAR 2
IMSPLEX(NAME=PLEX1)
z/OS LPAR 1 Data Sharing
ODBM cannot cross
LPARS
![Page 14: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/14.jpg)
IMS 11 Connect and ODBM DRDA Server
DRDA
IMS Application
Server
ODBM
IMS Universal DriverDRDA
ApplicationRequestor
TCP/IPClient z/OS
TCP/IPDDM
IMS Connect
TCPIP
DRDAPORT
IMS
SCI
DRDA DLIcalls
DRA
CCTL
ODBA
SCIOM
![Page 15: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/15.jpg)
IMS Connect Startup Proc
HWSCFG00******************************************************** * IMS Connect example for IMS Universal drivers
and DRDA client support********************************************************HWS (ID=IMSCON01,PSWDMC=R,RRS=Y,RACF=Y,XIBAREA=20)TCPIP (HOSTNAME=ZOSTCPIP,MAXSOC=2000,ECB=Y,IPV6=Y,NODELAY=Y, RACFID=RACFID)ODACCESS (DRDAPORT=(ID=1111,KEEPAV=5),DRDAPORT=(ID=2222,KEEPAV=10,PORTTMOT=500)),IMSPLEX=(MEMBER=IMSPLEX1,TMEMBER=PLEX1),ODBMAUTOCONN=Y,ODBMTMOT=50000
![Page 16: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/16.jpg)
IMS Connect HWSCFGxx Example …
IMS2
CTLD
RA
/OD
BA
ODBM
OM
9999
9998
DRDA
PORT
1111
SCI
DR
A/O
DB
A
OTMA
ODBM02OD
B1OM
• ICONCC1• PLEX1
IMS2
• HWS1• XCFGRP1
• ICONOD2• PLEX2
ODBM
OM
SCI
SCB1SC
IMS1
CTL
IMS1XCFGRP1
SCB2SC
OM
B2OM
PLEX2 PLEX1IMS CONNECT
(belongs to both plexes)
For
Transaction
Processing
For
ODBM
Usage
For
IMS Control
Center Usage
![Page 17: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/17.jpg)
PORT 1111 TCP IMSCON01 NODELAYACKS
PORT portnum TCP imsconnectname NODELAYACKS|DELAYACKS
Configure TCP for z/OS …
• PROFILE.TCPIP• PORT - Reserves a PORT for a specified Jobname
In general, use NODELAYACKS• Eliminates delay in sending ACK response back to client• “Essential” if an input message is sent with multiple WRITEsGlobal default can be set on TCPCONFIG statement
TCP UDP
App
l 1
App
l 2
App
l 3
App
l 4
App
l 5
Internet layer
Network Accesslayer
network
ports
![Page 18: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/18.jpg)
FILESYSTYPE TYPE(INET)NETWORK DOMAINNAME(AF_INET)
DOMAINNUMBER(2)MAXSOCKETS(4000)TYPE(INET)
/***************************************MAXFILEPROC(2000)
HWS (ID=IMSCON01,)TCPIP (HOSTNAME=ZOSTCP, MAXSOC=2000 ...
Customizing UNIX System Services • SYS1.PARMLIB(BPXPRMxx)
• MAXSOCKETS sets total number active sockets per stack
• MAXFILEPROC sets total number socket descriptors per process
![Page 19: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/19.jpg)
RemoteHosts
TCP/IP
Host10.125.286.45MAXSOCKETS(5000)MAXFILEPROC(3000)
z/OS Host
IMS ConnectDRDAPORT 2222
MAXSOC=3000
MAXSOCKETS/MAXFILEPROC Example
Connect toport 1111at 64.235.160.98 IMS IMS Connect
DRDAPORT 1111
MAXSOC=2000
IMSA
ODBMALIASIMSA
Connect toport 2222at 64.235.160.99 IMS
![Page 20: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/20.jpg)
SOMAXCONN 100
SOMAXCONN queue depth –Default is 10, Maximum value is 2,147,483,647
Configure TCP for z/OS …
• PROFILE.TCPIP• SOMAXCONN statement to specify the maximum number of connection
requests queued for a listening socket.• Where queue-size indicates the number of connection requests that
can be queued by the system while the IMS Connect has not yet issued the Accept() call
• Should be large enough to support the max concurrent requests
Listen()
Accept()
Read()
Write()
Alert TCP/IP of the ability to accept connection requests
Accept connection and receive second Socket NS
Data exchange on Socket NS
- process data
Close Socket NS
![Page 21: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/21.jpg)
Connect toport 1111Client n+1IMS
TCP/IP
Host10.125.286.45 IMSA
IMSCON01DRDAPORT1111
LISTENACCEPT n
z/OS Host
Connect toport 1111Client 1 IMS
timeout while "Contacting host".
SOMAXCONN Example
Remote Hosts
ODBMALIASIMSA
![Page 22: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/22.jpg)
TCPCONFIG INTERVAL 1440
INTERVAL –� Specifies “keepalive” value in minutes. On an open socket, if there is no activity for more
than this period, then a “keepalive” message will be sent to the remote client. If the remote client does not respond, the socket is terminated.
• Default is 120 minutes, maximum is 35791 minutes� The keepalive option is enabled by the remote client using setsockopt call
IMS Connect ODACCESS (DRDAPORT=(ID=1111,KEEPAV=5 this overrides TCPIPCONFIG INTERVAL
Configure TCP for z/OS …• PROFILE.TCPIP
• TCPCONFIG statement configures various settings of the TCP layer
• In particular, use INTERVAL timeout specification if remote client will specify long timeout values on input to IMS Connect (INTERVAL should be greater than IMS Connect timeout)
![Page 23: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/23.jpg)
remote host
SysplexTarget TCP/IP stack
VIPA "HIDDEN"VIPA "HIDDEN"
10.125.286.4510.125.286.45
IMS ConnectPort 1111
Routing TCP/IP stack
Sysplex Distributor
VIPA BACKUPVIPA BACKUP
10.125.286.4510.125.286.45
Backup TCP/IP stackSysplex Distributor
Target TCP/IP stack
VIPA "HIDDEN"VIPA "HIDDEN"
10.125.286.4510.125.286.45
IMS ConnectPort 1111
Target TCP/IP stack
VIPA "HIDDEN"VIPA "HIDDEN"
10.125.286.4510.125.286.45
IMS ConnectPort 1111
Sysplex distributor- keeps track of connections- keeps track of target stacks and applications- invokes WLM or round-robin algorithm
Connect toport 1111at 10.125.286.45
Sysplex Distributor – Distributed DVIPA • Sysplex function providing a single “Cluster IP address” for a group of
Hosts• Sysplex-wide VIPA - Workload balancing across multiple servers (WLM or round-robin)
• Performs a Network Dispatcher type function on the z/Series environment• High availability - enhanced Dynamic VIPA and Automatic Takeover
CF
VIPA PRIMARYVIPA PRIMARY
10.125.286.4510.125.286.45
![Page 24: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/24.jpg)
Timeouts
• PORTTMOT= Defines the amount of time that IMS Connect waits:: • An subsequent input messages from TCP/IP client application
Type 4TCP/IPDRDA
ApplicationProgram
Requestor
IMS
Connect
DRDA
PORT
ODBM
TCP/IP
DRDA
Back out In-Flight work
IMS
DR
A
![Page 25: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/25.jpg)
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 4TCP/IPDRDA
ApplicationProgram
Requestor
TCP/IP
DRDA
IMS
Connect
DRDA
PORT
ODBM
Type 4TCP/IPDRDA
ApplicationProgram
Requestor
TCP/IP
DRDA
HWSJ2530W
Back out In-Flight work
IMS
DR
A
![Page 26: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/26.jpg)
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
• Checks that the User is authorized to use the PSB when the PSB is allocated
• There are 3 parameters which determine which security, if any, will be used• ODBM RRS=Y/N• ODBASE=Y/N• ISIS=N/R/C/A
• There is an additional parameter to determine which Userid is used• IMS Connect RACF=Y/N
![Page 27: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/27.jpg)
27
ODBM
RRS=Y
SAF APSB Security
ACEEUserid
PSB Schedule Time
PSB 1 Userid
�ODBASE=Y �ACEE - Authenticated USERID�The IMS application group resource class (AIMS or Axxxxxxx)
IMS
Connect
ODBM
Client
RACF=Y
Open DB API Type 4
TCP/IPConnection
USERIDPassword
IMS
AuthenticatedUSERIDHWSAUTH0
USERID
GroupID
RACO
ODBM uses RACO to create ACEE for ODBM Thread TCBUserid will represent the end client
IMS Connect RACF=N a RACO is not provided IMS uses ODBM Job Card UserIDACEE for ODBM ASCB
![Page 28: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/28.jpg)
28
ODBM
RRS=N
RAS PSB Security
ASCBUserid
OrACEE
UseridDFSRAS00
PSB Schedule Time
PSB 1 Userid
� ISIS=R or A �ODBM extracts and passes RACO Userid in PAPL�The IMS application group resource class (IIMS or Ixxxxxxx)
IMS
Connect
ODBM
Client
RACF=Y
Open DB API Type 4
TCP/IPConnection
IMS
USERIDPAPLUSRN
GroupID
PAPLGRPN
HWSAUTH0USERIDGroupID RACO
ODBM extracts the UserID from the RACO passes it in PAPL Userid will represent the end client
IMS Connect RACF=N a RACO is not provided IMS uses ODBM JOB Card UserID
USERIDPassword
![Page 29: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/29.jpg)
SCI OM
SCI
IMSConnect SCI
IMSConnect
IMS3
IMS2
IMS4
XCF
SCI
IMS1
IMS Connect in a Multi-IMS IMSplex
ODBM ODBM
ODBM
ODBM
IMSConnectOM
OM
LPAR 2LPAR 1
LPAR 4LPAR 3
![Page 30: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/30.jpg)
SCI3 OM
SCI2
IMSConnect
SCI4IMSConnect
SCI4SCI3
IMS3
IMS2
IMS4
XCF
SCI1
IMS1
IMS Connect in a Multi-IMSplexs
ODBM ODBM
ODBM
ODBM
IMSConnect
SCI1SCI2
OM
OM
LPAR 2LPAR 1
LPAR 3
LPAR 4
![Page 31: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/31.jpg)
IMS Connect Routing to ODBM
• ODBM Alias Name Routing• Alias name is used by IMS Connect DRDA Client application
programs• Remote applications do not need to know IMSID
• But one Alias can be same as IMS ID
• Remote application can leave alias name blank• IMS Connect uses round robin routing across all ODBMs
• Specified Alias can be non-unique• Same alias defined for multiple IMS systems• IMS Connect uses round robin routing across ODBMs with the alias
defined
![Page 32: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/32.jpg)
IMS Connect Routing to ODBM
IMS2TM/DB
OD
BA
ODBMB1
IMS1TM/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 isrouted to ODBMB1
for either IMS1 orIMS2
DB
DB
IMS4DBCTL DB
•IMS4 has no alias, applications can use the DATASTORE name IMS4
IMS3DBCTL
ODBM(NAME=ODBMB2
DATASTORE(NAME=IMS3, ALIAS(NAME= IO3A, IMS3))
DATASTORE(NAME=IMS4) )
SCI
SCI
![Page 33: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/33.jpg)
Connections
• ODBM Alias Name Routing• Alias name is used by IMS Connect DRDA Client application
programs• Remote applications do not need to know IMSID
• But one Alias can be same as IMS ID • Remote application can leave alias name blank
• IMS Connect uses round robin routing across all ODBMs• Specified Alias can be non-unique
• Same alias defined for multiple IMS systems• IMS Connect uses round robin routing across ODBMs with the alias
defined
ODBMAllocate
PSB
![Page 34: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/34.jpg)
IMS Connect Routing and Security Exits for ODBM
• BPE managed and refreshable User Exits
• Routing user exit – HWSROUT0• Override the IMS Connect selection of an ODBM and/or ALIAS
• Security user exit – HWSAUTH0• Authenticate the input user ID and password or passticket
• Provide the RACF group ID to be authenticated
• Always called by IMS Connect if it exists
EXITDEF(TYPE=ODBMAUTH,EXITS=(HWSAUTH0),ABLIM=8,COMP=HWS)
EXITDEF(TYPE=ODBMROUT,EXITS=(HWSROUT0),ABLIM=8,COMP=HWS)
![Page 35: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/35.jpg)
IMS Connect Extensions
• Improves the manageability of IMS Connect
• IMS Connect Extensions enhancements for Open
Database include:
• Event collection for ODBM events
• Routing of ODBM Allocate PSB requests
• Monitoring of ODBM throughput in GUI or ISPF
• Determination of ODBM resource availability
![Page 36: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/36.jpg)
IMS Open Database Universal Drivers
• 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
•• Makes Application development and Connectivity much simpler!Makes Application development and Connectivity much simpler!
![Page 37: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/37.jpg)
IMS Solutions for Java Development• IMS 11 Open Database APIs JDBC 3.0
• IBM SDK V5 z/OS • CICS,DB2,WebSphere
• IBM SDK V6 z/OS• IMS TM
• IMS 9,10 Java Drivers JDBC 2.1 • IBM SDK V1.3.1 IMS 9• IBM SDK V1.4.2 IMS 9• IBM SDK V5 z/OS IMS 10
MPP
BMP
IFP
CEETDLI Interface
JNI
Base
App
DB
JDBC / SQL
IMS Java
App
DLI
Database
View
CEETDLI Interface
JNI
Base
App
DB
JDBC / SQL
IMS Java
App
DLI
Database
View
JMP/JBP
CEETDLI Interface
JNI
Base
App
DB
JDBC / SQL
IMS Java
App
DLI
Database
View
CEETDLI Interface
JNI
Base
App
DB
JDBC / SQL
IMS Java
App
DLI
Database
View
Stored Procedure EJB
IMS DB
DRA
ODBA
JCICSCEETDLI Interface
JNI
Base
App
DB
JDBC / SQL
IMS Java
App
DLI
Database
View
Java Virtual Machine
IMS DB Resource AdapterUniversal JDBC and DL/IType 2 and Type 4
Java Virtual Machine Java Virtual MachineJava Virtual Machine
IMS DB Resource AdapterUniversal JDBC and DL/IType 2 and Type 4
IMS DB Resource AdapterUniversal JDBC and DL/IType 2 and Type 4
IMS DB Resource AdapterUniversal JDBC and DL/IType 2 and Type 4
Catalog
![Page 38: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/38.jpg)
setFetchSize and Network Efficiency
• An application can set the expected or desired number of rows to be returned – default is 1
• Especially relevant for a distributed client to maximize networkefficiency• The driver will build a request for this number of rows to be returned• Send it to ODBM (via IMS Connect) to interact with IMS to retrieve
this number of rows (if available) • One network interaction will retrieve multiple rows
• If the remote client application continues to ask for more rows, the driver will submit a request for another set of rows to be returned
• This facility is available in all the drivers • Universal DB Resource Adapter – for JDBC, and for CCI SQL or
DL/1 access• Universal JDBC Driver • Universal DL/1 Driver
![Page 39: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/39.jpg)
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/IP UniversalJDBC
Type 4
Type 4
Type 4
Type 4
Type 2
Type 2
Type 2
Type 2
![Page 40: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/40.jpg)
ODBM Client API
• ODBM Client request flow • CSLSCREG – Register to SCI • CSLDMREG – Register to ODBM• CSLSCRDY – Enable the ODBM client for SCI processing• CSLDMI FUNC= – API function calls• CSLSCBFR – Release output buffer • CSLDMDRG – Deregister from ODBM • CSLSCDRG – Deregister from SCI
CSL macros are documented in “IMS Version 11 System Programming APIs”
![Page 41: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/41.jpg)
• IMS DRDA Client flow• Establish TCP/IP connection to IMS Connect (open socket
connection) • Host IP Address• DRDA Port number• IMS Alias
• Allocate PSB (Open Database connection)• ACCRDB command RDBNAM=PSB
• Access IMS DB using AIB, PCBNAME,SSALIST. • OPNQRY command DLIFUNC=GU • EXCSQLIMM command DLIFUNC=ISRT,REPL,DLET • RDBCMM command to commit changes
• Deallocate PSB (Close Database connection)• DEALLOCDB command RDBNAM=PSB
DRDA RYO Client API
![Page 42: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/42.jpg)
42
IMS Enterprise Suite DLIModel Utility Plug -in orIMS Enterprise Suite Explorer • IMS database visualization tool
• Visualize an entire IMS PSB• Can view and print each PCB individually
• Hierarchy, segments, fields, types, etc
• IMS database metadata generation tool
• Generates the necessary metadata that is consumed at runtime by IMS JDBC driver and XML-DB support
• Database metadata• XML schema
• Bottom-up tooling approach
• Parses PSB and DBD source• Optional COBOL copybook definitions• An Eclipse 3.x plug-in
![Page 43: IMS Open Database Best Practices...Open Database Components IMS SCI ODBA/CCTL DDM TCP/IP DRDA/ DDM DLI IMS Open DB Universal Type-4 Drivers z/OS LPAR 2 z/OS LPAR 1 Operations Manager](https://reader033.vdocuments.net/reader033/viewer/2022053107/6076bc63edf2e72457220123/html5/thumbnails/43.jpg)
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
SG24-7856-00