64
IMS Open Database & IMS Connect Deepak Kohli IMS Product Management [email protected] ©2016 IBM Corporation NE Canadian IMS Regional User Group Quebec City, Canada

IMS Open Database & IMS Connect

  • Upload
    ibm-ims

  • View
    250

  • Download
    11

Embed Size (px)

Citation preview

IMS  Open  Database&

IMS  Connect

Deepak  KohliIMS  Product  [email protected]

©2016  IBM  Corporation

NE  Canadian  IMS  Regional  User  GroupQuebec  City,  Canada

2

NE  Canadian  IMS  RUG

IMS  Open  Database

Disclaimer

© Copyright IBM Corporation 2016. All rights reserved.U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), OR ALTERING THE TERMS AND CONDITIONS OF ANY AGREEMENT OR LICENSE GOVERNING THE USE OF IBM PRODUCTS AND/OR SOFTWARE.

IBM, the IBM logo, ibm.com, and IMS are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml

3

NE  Canadian  IMS  RUG

IMS  Open  Database

Agenda§ History§ IMS  Open  Database§ IMS  Open  Database  Drivers§ IMS  Open  Database  Address  Spaces

– ODBM– IMS  Connect

§ Tips  /  Resources§ Summary

4

NE  Canadian  IMS  RUG

IMS  Open  Database

History

5

NE  Canadian  IMS  RUG

IMS  Open  Database

Access  to  IMS  Databases  From  IMS  Regions

§ IMS  has  allowed  access  to  IMS  databases  via  DL/I  calls  from  IMS  address  spaces  for  a  long  time– IMS  address  spaces

• MPR  – Message  Processing  Region

• BMP  – Batch  Message  Processing  Region

• IFP  – Independent  Fast  Path  Region

• Batch  – IMS  batch

• Java  Message  Processing  Region  (JMP)

• Java  Batch  Message  Processing  Region  (JBP)

6

NE  Canadian  IMS  RUG

IMS  Open  Database

Access  to  IMS  Databases  From  non-­IMS  Regions

§ IMS  has  allowed  access  to  IMS  databases  via  DL/I  calls  from  non-­IMS  address  spaces  for  a  long  time– Pretty  picture

IMSDB

CICS

IMS

Dependent regions

DB2  SPWAS/z

z/OS

ODBA CCTL

RRS

DRADRA

DRA

DRA

7

NE  Canadian  IMS  RUG

IMS  Open  Database

Access  to  IMS  Databases  From  non-­IMS  Regions§ IMS  has  allowed  access  to  IMS  databases  via  DL/I  calls  from  non-­IMS  address  spaces  for  a  long  time– DRA  Interface

• Requires  the  application  and  IMS  to  reside  on  the  same  LPAR

• Requires  proper  setup– http://www.ibm.com/support/knowledgecenter/SSEPH2_14.1.0/com.ibm.ims14.doc.spr/ims_dra.htm

• Some  IMS  modules  reside  in  the  ODBA  application  or  CICS  address  space  including  the  DRA  Startup  Table  (assembled  DFSPRP  macro)

• The  application  controls  the  flow  of  the  IMS  “transaction”

– Allocate  a  PSB

– Issue  DL/I  Calls

– Commit/Rollback

– Deallocate  the  PSB

8

NE  Canadian  IMS  RUG

IMS  Open  Database

Access  to  IMS  Databases  From  non-­IMS  Regions§ IMS  has  allowed  access  to  IMS  databases  via  DL/I  calls  from  non-­IMS  address  spaces  for  a  long  time– CICS  applications  can  issue  DL/I  calls

• These  are  CCTL  regions  – Coordinator  Control

– CICS  controls  syncpoint

• They  use  the  DRA  (Database  Resource  Adapter)  interface  to  IMS

• RRS  (Resource  Recovery  Services)  is  not  used  for  syncpoint  

coordination

9

NE  Canadian  IMS  RUG

IMS  Open  Database

Access  to  IMS  Databases  From  non-­IMS  Regions§ IMS  has  allowed  access  to  IMS  databases  via  DL/I  calls  from  non-­IMS  address  spaces  for  a  long  time– Other  address  spaces  such  as  DB2  Stored  Procedures  and  WAS/z  

(WebSphere  Application  Server  on  z/OS)  can  issue  DL/I  calls

• These  are  ODBA  regions  in  IMS  – Open  Database  Access

• They  also  use  the  DRA  interface  to  IMS

• ODBA  requires  RRS  for  syncpoint  coordination

– If  an  ODBA  application  prematurely  terminates,  there  is  the  possibility  of  crashing  IMS  with  a  U0113  abend• If  the  application  terminates  in  the  middle  of  a  DL/I  call

10

NE  Canadian  IMS  RUG

IMS  Open  Database

Access  to  IMS  Databases  From  non-­IMS  Regions§ IMS  has  allowed  access  to  IMS  databases  via  DL/I  calls  from  non-­IMS  address  spaces  for  a  long  time– When  used,  WAS/z  must  run  in  same  LPAR  as  IMS

• Can  effect  machine  capacity  and  licence  charges

– Distributed  applications  accessing  IMS  DB  must  execute  on  WAS• No  support  for  other  distributed  platforms

11

NE  Canadian  IMS  RUG

IMS  Open  Database

Access  to  IMS  Databases  from  distributed§ IMS  V9  Remoted  Database  services

– Remote  WebSphere  solutions  always  additionally  require  WAS/z  • “Helper”  EJB  running  in  WAS/z  relays  remote  request  to  ODBA  

Distributed

J

CA

1.0

T

CP

IP

WAS  on  Any  Platform

S

OA

P

IIOP

LPAR  A

z/OS

IMS  DBCTL

IMS

PC

WAS  z/OS

ODBA

T

C

P

I

P

J

C

A

1.0

12

NE  Canadian  IMS  RUG

IMS  Open  Database

SQL  Access  to  IMS  Databases  via  JDBC

§ IMS  supported  Java  access  to  IMS  databases  starting  in  IMS  V7– “Classic”  Java  APIs

– Set  of  SMP/E-­installable  Java  classes  and  interfaces  to  access  IMS  

from  multiple  runtime  environments

• DB2  for  z/OS  stored  procedures  

• CICS  Transaction  Server  for  z/OS  

• IMS  on  the  host  in  JMP  and  JBP  regions  (also  supported  by  the  IMS  Java  

dependent  region  resource  adapter)  

• WebSphere  Application  Server  for  z/OS  

13

NE  Canadian  IMS  RUG

IMS  Open  Database

SQL  Access  to  IMS  Databases  via  JDBC

§ IMS  supported  Java  access  to  IMS  databases  starting  in  IMS  V7– IMS  Java  provided  two  IMS  DB  “Classic”  Drivers

• For  Java  dependent  regions,  CICS,  and  DB2  Stored  Procedures

– DLI  calls  or  JDBC  SQL

• For  Java  Enterprise  Edition  (Java  EE)  Environments  (e.g.  WAS)

– JDBC  Resource  Adapter

• Metadata  for  the  JDBC  calls  was  local  to  the  driver

– Could  easily  get  out  of  date

§ These  “Classic”  drivers  are  no  longer  supported

14

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database

15

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database§ IMS  Open  Database  offers  access  to  IMS  database  resources anywhere  in  the

IMSplex directly from z/OS  and distributed  environments

– Using  industry  standard Distributed  Relational  Database  Architecture (DRDA)  to  communicate  with  IMS  Connect

– Different  API  layers  are  provided  to  leverage  the  DRDA  protocol• 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  -­ 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    -­ to  issue  calls  that  are  similar  to  DL/I  directly  to  IMS  from  a  Non-­JEE  Java  environment  

• RYO -­ Use  a  programming  language  of  your  choice  to  issue  DRDA  commands  directly  to  IMS  Connect  

– IMS  Connect becomes  the  gateway to  IMS  Transactions and IMS  Data

§ Makes  Application  development  and  Connectivity  much  simpler!

16

NE  Canadian  IMS  RUG

IMS  Open  Database

Open  Database  Environment

Universal

DB  Resource  

Adapter

J

C

A

1.5

T

C

P

I

P

WAS  on  Any  Platform

S

O

A

P

LPAR  Az/OS

Distributed

LPAR  B

LPAR  C

XCF

IMS  DBCTL

IMS

PCSCI

ODBA

DLI

TCP/IP

JDBCTCP/IP

RYO  DRDA  Appl.

IMS  DBCTL

IMS

PCSCI

ODBA

IMS  Universal  Drivers

LPAR  A

IMS  DBCTL

IMS

PCSCI

ODBA

ODBM

IMS  Connect

T

C

P

I

P

SCI

ODBM

ODBM

z/OS  WAS Universal

DB  Resource  

Adapter

J

C

A

1.5

T

C

P

I

P

ODBA

PCSCI

Traditional ODBA

DLI

JDBC

IMS  Universal  DriversTraditional ODBA

JEE

Non-­‐JEE

17

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database

§ Introduced  in  IMS  11§ Open Database provides  an  environment  that  manages  access  to  online  IMS  databases  from  anywhere in  the  enterprise

§ Supports  Open standards for  connectivity  to  online  IMS  databases

• Within  a  z/OS  LPAR

• Across  z/OS  LPARs  

• From  distributed  platforms

§ Provides  several  Open Database APIs– Ease  application  development  access  to  IMS  databases

18

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database

§ If  using  WAS/z,  the  API’s  can  run  in  the  same  or  a  different  LPAR  from  IMS– Distributed  WAS  does  not  require  WAS/z

– When  in  a  different  LPAR  the  request  flows  over  TCP/IP  through  IMS  

Connect

§ Distributed  applications  do  not  require  a  Java  EE  (e.g.  WAS)  environment

19

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database  Drivers

20

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database

§ There  are  4  new  “Universal”  Drivers  – A  Driver  is  the  Java  code  that  provides  an  API  to  a  Java  application,  and  interfaces  to  the  target  DB  system• In  Java  applications,  the  implementation  is  hidden  by  the  driver

§ There  are  two  “types”  of  Drivers– Type-­2  -­ local

– Type-­4  -­ remote

21

NE  Canadian  IMS  RUG

IMS  Open  Database

Open  Database  Universal  Drivers§ IMS  Universal  DB  Resource  Adapter    

– Exploits  Java  Connector  Architecture  (JCA)  in  a  Java  Enterprise  Edition  (EE)  environment  e.g.  in  WebSphere  Application  Server  (WAS)

– Supports  JDBC  SQL  calls

§ IMS  Universal  JDBC  Driver  – Runs  in  any  Java  Standard  Edition  (SE)  environment– Supports  JDBC  SQL  calls  

§ IMS  Universal  DL/I  Driver    – Used  in  any  Java  SE  environment  to  support  DL/I  calls  

§ Java  Dependent  Region  Resource  Adapter– Used  in  Java  Dependent  Regions

• Java  Message  Programs  (JMP)  and  Java  Batch  Message  Programs  (JBP)

22

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database  Universal  Drivers§ There  are  two  “types”  of    IMS  Java  Universal  Drivers

– Type-­2• For  local  connection

• When  the  Java  application  and  target  IMS  are  in  the  same  LPAR

– Type-­4• For  Remote  Access

– Distributed  non-­z/OS  environment

– z/OS  when  target  IMS  is  on  a  different  LPAR

• Use  TCP/IP  and  IMS  Connect– And  a  new  Open  Database  Manager  (ODBM)  address  space  

23

NE  Canadian  IMS  RUG

IMS  Open  Database

1.  IMS  Universal  DB  Resource  Adapter

§ For  accessing  IMS  data  in  a  Java  EE  environment  using  JDBC  – Can  alternatively  be  used  with  applications  using  the  JCA  Common  Client  Interface  (CCI)  API  for  issuing  simple  SQL  or  DL/I  calls

§ Supports  Type  2  connection§ Supports  Type  4  connection§ Provides  LocalTransaction  or  XATransaction  support

– XATransaction  for  global  two-­phase  commit  (with  more  than  one  resource  manager)

24

NE  Canadian  IMS  RUG

IMS  Open  Database

2.  IMS  Universal  JDBC  Driver

§ For  Non-­EE  Java  applications  using  the  JDBC  API  for  access  to  IMS  data  

§ Supports  Type  2  Connection  

§ Supports  Type  4  Connection

§ Provides  LocalTransaction  or  XATransaction  support– But  distributed  two  phase  commit  is  a  programmer  responsibility

25

NE  Canadian  IMS  RUG

IMS  Open  Database

3.  IMS  Universal  DL/I  Driver§ For  Non-­EE  Java  DL/I  applications  that  want  to  fully  manage  navigation  and  access  to  IMS  DB      

§ Supports  traditional  IMS  DL/I  database  call  interface  concepts  

• Specify  DL/I  Call  Function• Build  Segment  Search  Arguments  (SSAs)

§ Completely  redesigned  DL/I  interface  from  the  “Classic”  DL/I  Driver    

§ Supports  Type  2  Connection  § Supports  Type  4  Connection§ Provides  LocalTransaction  or  XATransaction  support

– But  distributed  two  phase  commit  is  a  programmer  responsibility

26

NE  Canadian  IMS  RUG

IMS  Open  Database

4.  Java  Dependent  Region  Resource  Adapter§ Java  framework  for  applications  in  an  IMS  container

– Message  queue  processing– Program  switching– Synchronous  Callout  (ICAL)– Commit  and  Rollback– GSAM  support– Checkpoint/Restart– Additional  IMS  call  support  necessary  for  IMS  transactions

• INQY• INIT• LOG• Etc

§ Shipped  with  Type-­2  Universal  drivers§ JMP’s  and  JBP’s  can  also  use  the  Universal  Drivers

27

NE  Canadian  IMS  RUG

IMS  Open  Database

Packaging  of  Universal  Drivers§ The  Universal  DB  Resource  Adapter  is  shipped  as  four  rar files– imsudbJLocal.rar  

• Contains  the  local  transaction  capable  driver  for  JDBC  access  – imsudbJXA.rar  

• Contains  the  two-­phase  commit  capable  driver  for  JDBC  access  – imsudbLocal.rar  

• Contains  the  local  transaction  capable  driver  for  JCA  CCI  access  – imsudbXA.rar  

• Contains  the  two-­phase  commit  capable  driver  for  JCA  CCI  access  

§ The  JDBC  and  DL/I  drivers  are  shipped  in  a  single  jar  file  – imsudb.jar

§ The  Java  Dependant  Region  Resource  adapter– imsutm.jar

28

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database  Address  Spaces

29

NE  Canadian  IMS  RUG

IMS  Open  Database29

IMS  11  Open  Database  Components

IMS2

IMSConnect  

ODBM

Client

ODBMSCI O

DBA/CCTL

DDM

TCP/IP

DRDA/DDM

DLI

DRA

IMSOpen  DBUniversal  Drivers

30

NE  Canadian  IMS  RUG

IMS  Open  Database

Open  Database  Address  Spaces§ Open  Data  Base  Manager  (ODBM)

– DL/I  interface  to  IMS

– Works  with  IMS  Connect  to  provide  distributed  access  to  IMS  

databases

– ODBM  can  also  be  used  by  traditional  local  ODBA  applications

• Eliminates  IMS  U0113  abends  due  to  ODBA  Application  termination  

– Referred  to  as  a  CSL  (Common  Service  Layer)  address  space

• Like  OM,  RM,  and  SCI

31

NE  Canadian  IMS  RUG

IMS  Open  Database

Open  Database  Address  Spaces§ IMS  Connect  is  extended  to  support  DB  as  well  as  transaction  access– Accesses  ODBM  via  the  Structured  Call  Interface  (SCI)  address  

space

– Can  be  used  in  a  DBCTL  environment

– Moved  from  the  TM  FMID  to  the  Systems  FMID

32

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBM

33

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBM  Overview§ There  are  three  interfaces  into  ODBM  -­1. From  IMS  Connect  • ODBM  receives  database  connection  requests  from  IMS  Connect  as  DDM  

commands• Translates  incoming  database  requests  from  the  DDM  protocol  into  DLI  calls  

expected  by  IMS• Translates  responses  to  the  client  into  the  DDM  protocol  

2. From  CSL  ODBM  clients  • Communicate  with  ODBM  using  the  CSLDMI  interface.

3. From  ODBA  address  spaces• An  ODBA  interface  (used  by  ODBA  application  AERTDLI  call)• Calls  are  relayed  to  IMS  ODBA

• Avoids  IMS  Control  Region  ABENDU0113

34

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBM  Overview§ 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

DB

C

T

CP

IP

WebSphere IMS  ConnectT

CP

IP

S

OA

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=YRRS=Y

RRS=Y

35

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBM  Overview§ RRS  setting  determines  ODBM  interface  to  IMS

– RRS=Y  (default)• Use  ODBA

– RRS=N• Use  CCTL

IMSplex

IMS  DB

DBServices

DRA

Application  Program

CTLServicesRRS=Y|N

TMServices

Thread  1

Thread  1

ODBMCCTLRRS=N

DRA

SCI

ODBMODBARRS=Y

ODBA

SCI

SCIOM

36

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBA  CompatibilityDFSPRP  Macro  

FUNCLV=2DBCTLID=MAXTHRD=  MINTHRD=  

.

.

.IMSPLEX=ODBMNAME  =

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

//*

Causes  ODBA  requests  to  be  routed  via  ODBM

(Optional)

37

NE  Canadian  IMS  RUG

IMS  Open  Database

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

38

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBM  Security§ The  security  information  passed  from  ODBM  to  IMS  depends  on  the  IMS  Connect  RACF  parameter– RACF=Y

• IMS  Connect  will  authenticate  the  Userid/Password/Group/Appl• IMS  Connect  will  pass  a  RACF  Object  (RACO)  to  ODBM• ODBM  will  use  this  information  for  security

– RACF=N• IMS  Connect  will  not  pass  a  RACO• ODBM  will  use  the  ODBM  Job  Userid/Group

39

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBM  Security§ If  ODBM  RRS=Y  then  ODBM  uses  the  ODBA  interface  and  the  ODBASE  parameter  is  in  effect– If  ODBASE=Y  

• IMS  uses  RACF  to  verify  the  Userid  using  the  AIMS  or  Axxxxxxx  resource  class

• The  ISIS  parameter  is  not  used

– If  ODBASE=N• IMS  uses  the  ISIS  parameter  to  determine  the  RACF  call  using  the  IIMS  or  Ixxxxxxx  resource  class– ISIS=N  – No  RACF  checking

– ISIS=R  – RACF  call– ISIS=C  – DFSRAS00  exit

– ISIS=A  – RACF  call  and  DFSRAS00  exit

40

NE  Canadian  IMS  RUG

IMS  Open  Database

ODBM  Security§ If  ODBM  RRS=N  then  ODBM  uses  the  CCTL  interface  and  the  ODBASE  parameter  is  not  in  effect– IMS  uses  the  ISIS  parameter  to  determine  the  RACF  call  using  the  IIMS  

or  Ixxxxxxx  resource  class

• ISIS=N  – No  RACF  checking

• ISIS=R  – RACF  call

• ISIS=C  – DFSRAS00  exit

• ISIS=A  – RACF  call  and  DFSRAS00  exit

41

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Open  Database  Manager  – ODBM§ ODBM  Setup  and  configuration

– ODBM  Initialization  PROCLIB  Member• CSLDIxxx

– ODBM  Configuration  PROCLIB  Member• CSLDCxxx

– ODBM  BPE  Configuration  PROCLIB  Member• BPECFG=

– ODBM  BPE  Managed  User  Exit  List  PROCLIB  Member• EXITDEF=

– ODBM  Execution  Parameters• Specifies  CSLDIxxx,  CSLDCxxx and  BPECFG  for  ODBM  startup• Can  be  used  to  override  CSLDIxxx Parameters

41

Check  out  the  Open  Database  

IVP

42

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Connect

43

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Connect  z/OS

IMSCONNECT

Exits

XCF

IMS

Database    

Transaction  manager

IMS  APP

Database

manager

OTMA

IMS  Control  Center  client

IMS  TM  Resource  Adapter

IMS  Enterprise  Suite  SOAP  Gateway

IMS  Universal    DBResource  Adapter/Drivers

SCIOperationsManager

SCI

ODBM

IMSCONNECTExtensions

Archivejournal

or Print  utilityIMS  Performance  Analyzer IMS  Problem  Investigator

Activejournal

IMS  Enterprise  Suite  Connect  API  Clients

DataPower

Other  vendorsolutions

TCP/IP

IMS  V12  MSC

44

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Connect  DRDA  Protocol§ IMS  Connect  has  always  used  the  internal  IRM  protocol  for  messages

§ Now  IMS  Connect  supports  DRDA  – an  open  standards  based  protocol  for  distributed  database  access– “Distributed  Relational  Database  Architecture”

• Works  even  though  IMS  is  Hierarchical

– Defines  request  flows

– Defines  Object:  Data  structure  (DDM)

– Extensible

– Controlled  by  the  Open  Group

45

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  – a  DRDA  Application  Server

§ ODBM  and  IMS  Connect  together  form  a  complete  DRDA  Application  Server

DRDAIMS  Application

Server

ODBM

IMS  Universal  DriverDRDA

ApplicationRequestor

TCP/IPClient z/OS

TCP/IPDDM

IMS    Connect

TCPIP

DRDAPORT

IMS

SCI

DRDA DLIcallsDRA

CCTL

ODBA

SCIOM

46

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Connect  and  IMS  Open  Database§ IMS  Connect  is  the  server  for  DRDA  messages  sent  via  the  TCP/IP  protocol  

§ IMS  Connect  Configuration  member  HWSCFGxx– ODACCESS  statement

• DRDA  ports,  timeout  value,  IMSplex name  etc.

47

NE  Canadian  IMS  RUG

IMS  Open  Database47

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

48

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Connect  ODBM  Timeouts§ ODBMTMOT=  defines  the  amount  of  time  that  IMS  Connect  waits  for:– A  response  message  on  connections  with  ODBM

– An  initial  input  message  after  a  connection  is  established  from  the  ClientType  4TCP/IPDRDA

ApplicationProgramRequestor

TCP/IP

DRDA

IMS

Connect

DRDA

PORT

ODBM

Type  4TCP/IPDRDA

ApplicationProgramRequestor

TCP/IP

DRDA

HWSJ2530WBack  out  In-­Flight  work

IMS

DRA

49

NE  Canadian  IMS  RUG

IMS  Open  Database

IMS  Connect  ODBM  Timeouts§ PORTTMOT=  defines  the  amount  of  time  that  IMS  Connect  waits  for:– A  subsequent  input  message  from  the  TCP/IP  Client  application

Type  4TCP/IPDRDA

ApplicationProgramRequestor

IMS

Connect

DRDA

PORT

ODBM

TCP/IP

DRDA

Back  out  In-­Flight  work

IMS

DRA

50

NE  Canadian  IMS  RUG

IMS  Open  Database

Tips  /  Resources

51

NE  Canadian  IMS  RUG

IMS  Open  Database

Tools  to  seriously  consider

§ IMS  Connect  Extensions

§ IMS  PI  (Problem  investigator)

51

52

NE  Canadian  IMS  RUG

IMS  Open  Database

DRDA  Protocol§ Distributed  Data  Management  (DDM)

– DDM  is  a  component  of  DRDA

– Provides  the  command  and  reply  structure  for  accessing  databases

– The  Universal  Drivers  in  type-­4  mode  convert  the  SQL  into  DL/I,  and  

compose  this  DL/I  call  data  into  DDM  commands

– ODBM  translates  the  DDM  database  requests  into  actual  DL/I  calls

§ IMS  supplies  DDM  command  extensions  to  support  IMS  

structures  

– SSA,  PCB,  etc.

53

NE  Canadian  IMS  RUG

IMS  Open  Database

Viewing  DDM  Flow§ Use  IMS  Connect  Extensions  to  log  to  its  journals

– Use  IMSPI  to  view– Details  of  Input  and  Output

File Menu Format Help———————————————————————————————————————————————————————————————————————————————IMSPI CEX000.QADATA.REDBOOK.DRDAT111.ICON.D Record 00000050 Line 00000019Command ===> Scroll ===> CSRForm ===> + Use Form in Filter Format ===> FORM+001D Type....... 03 RQSCRR..... 0001

+0020 Object..... CC06 SSALIST-List of segment search argument+0020 Length..... +55 CP......... CC06

+0024 Object..... C905 SSACOUNT-Number of segment search arguments+0024 Length..... +6 CP......... C905 Data....... 0002

+002A Object..... C906 SSA-Segment search argument+002A Length..... +32 CP......... C906+002E Data....... 'EMPL *D(EMPNO GE )'

+004A Object..... C906 SSA-Segment search argument+004A Length..... +13 CP......... C906+004E Data....... 'EMPLINFO '********************************* End of data *********************************

54

NE  Canadian  IMS  RUG

IMS  Open  Database

Solution  Adoption  Kits

§ Solution  kits  consolidate  the  What  and  How§ Step  by  Step  guidance  for  modernizing  applications§ Videos  that  lay  out  the  roles  and  all  the  work  involved§ Role  based  guidance§ Sample  code  to  model§ zSystems  Application  Developer  Community

54

55

NE  Canadian  IMS  RUG

IMS  Open  Database

User  Roles

56

NE  Canadian  IMS  RUG

IMS  Open  Database

• Sys  Prog  sets  up    the  mainframe  infrastructure• DBA  sets  up  the  database  • App  Developer  writes  Java  applications  on  Distributed  Platform  that  accesses  IMS  data  and  hosts  them  on  a  WebSphere  liberty  server

Steve  the  Database  Administrator

Susan  the  Application  Developer

Vikram  the  Systems  Programmer

Primary  Roles  /  Personas  Used

56

Open  Access  to  IMS  Data(Distributed  Type-­‐4  Access)

58

NE  Canadian  IMS  RUG

IMS  Open  Database

Susan:  I  have  been  asked  to  develop  Java  Application  hosted  on  WebSphere  Liberty  server  that  accesses  IMS  database  using  JDBC  &  SQL

Vikram:  I  don’t  know  how  to  set  up  that  infrastructure,  it  will  take  time  to  get  that  done

Steve:  I  need  to  teach  the  DB  structure  to  Susan  using  IMS  Explorer  for  Development  but  the  open  access  address  spaces  need  to  be  set  up  for  TCP/IP  access

Steve,  Vikram  and  Susan:  As-­Is  Storyboard

Steve:  Vikram  set  up  the  access  but  I  don’t  understand  how  to  show  Susan  the  database  structure  so  she  can  write  proper  queries?  And    this  business  of  enhancing  database  metadata,  where  do  I  find  information?

Susan:  I  need  to  learn  how  to  use  IMS  DB  resource  adapters  but  wish  Steve  knew  how  to  map  the  database  metadata  

58

59

NE  Canadian  IMS  RUG

IMS  Open  Database

Vikram:  Uses  the  Open  Access  Solution  Adoption  Kit:• Learns  the  big  picture  of  how  everything  will  work!• Reads  articles  on  what  is  involved• Uses  sample  JCL  to  set  up  open  access  

Steve:  Uses  the  Open  Access  Solution  Adoption  kit,  • Watches  videos  on  how  to  use  IMS  Explorer  for  Dev• Teaches  database  structure  to  help  Susan  visualize• Enhances  JDBC  Database  metadata

Susan:  Uses  the  Open  Access  Solution  Adoption  Kit:  • Watches  videos  and  learns  how  to  develop  the  application• Visualizes  and  is  able  to  get  a  relational  view  of  the  database• Uses  sample  code  from  github to  develop  the  app• Connects  to  other  mainframe  developers  on  developer.ibm.com/zsystems for  questions

Adoption  Kit

Steve,  Vikram  and  Susan:  To-­Be  Storyboard

59

60

NE  Canadian  IMS  RUG

IMS  Open  Database

Solution  Adoption  kit  links

§ Open  Access  to  IMS  Data  (Distributed  Type-­4  Access):– http://ibm.biz/OpenAccessKit

§ Java  in  IMS  (Local  Type-­2  Access):– http://ibm.biz/JavaIMSKit

61

NE  Canadian  IMS  RUG

IMS  Open  Database

Summary

62

NE  Canadian  IMS  RUG

IMS  Open  Database

Open  Database  Summary

§ Online  IMS  databases  can  be  accessed  by  -­– Distributed  Java  application  programs  executing  anywhere  with  TCP/IP  connectivity

– ODBA  Java  application  programs  on  the  same  z/OS

– User-­written  IMS  Connect  client  application  programs  executing  anywhere  with  TCP/IP  connectivity

– User-­written  ODBM  client  applications  in  the  same  IMSplex

§ Java  programs  can  use  any  of  the  four  new  Universal  Drivers– Built  on  widely  used  open-­standard  technologies

63

NE  Canadian  IMS  RUG

IMS  Open  Database

Open  Database  Summary

§ ODBM  is  a  new  CSL  address  space  that  works  with  IMS  Connect  to  provide  the  distributed  access  facility

§ Existing  and  new  ODBA  application  programs  can  also  use  the  ODBM  address  space  to  manage  the  ODBA  

interface,  potentially  improving  the  availability  of  the  IMS  system  

Thank  You!

64