La ims 11-odbm
Upcoming SlideShare
Loading in...5
×
 

La ims 11-odbm

on

  • 919 views

 

Statistics

Views

Total Views
919
Views on SlideShare
919
Embed Views
0

Actions

Likes
0
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    La ims 11-odbm La ims 11-odbm Presentation Transcript

    • IMS V11 Open Database IMS User Group November 11-12,2009 Kenny Blackman kblackm@us.ibm.com © 2009 IBM Corporation
    • CCTL ODBA and DRA Application Review CICS A D Thread 1 Appl Pgm R JDBC A IMS D CCTL B R A Appl Pgm Application Thread 2 Program CTL DB TM DRA DB2 SP Services Thread 1 Services Services Appl Pgm RRS=Y|N JDBC O D Address Thread 2 B Space A Using RRS WAS z/OS O D Appl Pgm B Database JCA A Address Space Using RRS z/OS LPAR 2 © 2009 IBM Corporation
    • IMS Open Database Solution Statement – Offer scalable, distributed, and high-speed local access to IMS database resources Value – Business growth • Allow more flexibility in accessing IMS data to meet growth challenges – Market positioning • Allow IMS databases to be processed 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 – JCA 1.5 (Java EE) – JDBC 3 © 2009 IBM Corporation
    • Open Database Topics Open Database consists of three components: – Open Database Manager – CSL component – IMS Connect – Open Database API 4 © 2009 IBM Corporation
    • Open Database Manager Open Database Manager functions – Common Service Layer address space • Can be used to reduce ODBA Client action U113 abends – 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 5 © 2009 IBM Corporation
    • ODBM OM SCI IMS Control Services Database manager DRA SCI SCI ODBM API API SCI ODBM Client Database z/OS 6 © 2009 IBM Corporation
    • CSL ODBM CCTL ODBA and DRA OM SCI SCI ODBM IMSplex D API CCTL R A RRS=N Thread 1 Application CTL DB TM Program DRA Services Services Services RRS=Y|N Thread 1 SCI ODBM O D API RRS=Y B A Database z/OS LPAR 7 © 2009 IBM Corporation
    • ODBM auto-(re) connect IMSPLEX(NAME=PLEX1) IMS1 SCI notification for IMS2 ODBM re-connects PLEX1 SCI No notification for IMS4 ODBM does not re-connect must use an ODBM command ODBM PLEX1 ODBA IMS2 PLEX1 PLEX1 IMS4 LPAR 1 8 © 2009 IBM Corporation
    • 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. 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 9 © 2009 IBM Corporation
    • SAF APSB Security ODBASE=Y ACEE - Authenticated USERID The IMS application group resource class (AIMS or Axxxxxxx) IMS IMS ODBM Open DB API Connect RRS=Y Type 4 PSB Schedule Time ODBM Client TCP/IP Connection ACEE PSB 1 Userid USERID Authenticated Userid Password USERID 10 © 2009 IBM Corporation
    • RAS PSB Security ISIS=R or A ACEE - Authenticated USERID The IMS application group resource class (IIMS or Ixxxxxxx) IMS IMS ODBM Open DB API Connect RRS=N ACEE Type 4 Userid ODBM Client TCP/IP USERID PSB Schedule Time Connection ACEE Group USERID Authenticated Userid Password USERID PSB 1 Userid 11 © 2009 IBM Corporation
    • ODBM ODBA Compatibility Support IMSPLEX(NAME=PLEX1) •DB2 •SP IMS1 ODBM PK66020 ODBA •ODBA 03 V9 •Client ODBMNAME=ODBM03 IMSPLEX NAME=PLEX1 •WAS ODBM ODBA •z/OS 02 IMS2 •ODBA V10 PK66022 •Client IMSPLEX NAME=PLEX1 ODBM ODBA SCI 01 IMS3 V11 12 LPAR 1 © 2009 IBM Corporation
    • 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 IMS DRDA Application TCP/IP Program IMS DRDA Requestor Connect DRA ODBM DRDA PORT Type 4 HWSJ2530W TCP/IP TCP/IP DRDA DRDA Back out In-Flight work Application Program Requestor 13 © 2009 IBM Corporation
    • IMS Connect and ODBM as DRDA Application Server IMS Control Services Database manager Open DB API Type 4 DRA IMS TCP/IP DRDA TCP/IP Connect ODBM Application DRDA DRDA Program PORT Requestor Database z/OS 14 © 2009 IBM Corporation
    • IMS Connect HWSCFGxx Configuration Member . . . Example of ODACCESS statement HWS=(ID=HWS1,XIBAREA=100,RACF=N) TCPIP=(HOSTNAME=TCPIP,PORTID=(9999,9998,LOCAL), EXIT=(HWSSMPL1,HWSCSLO1,HWSSOAP1)) OTMA DATASTORE=(ID=IMS1,GROUP=XCFGRP1,MEMBER=HWS1, TMEMBER=IMS1,DRU=HWSYDRU0, APPL=APPLID1,RRNAME=RTPIPE) IMSPLEX=(MEMBER=IMSPLEX1,TMEMBER=PLEX1) OM ADAPTER=(XML=Y) ODACCESS=(ODBMAUTOCONN=Y,ODBMTMOT=6000, ODBM DRDAPORT=(ID=1111,KEEPAV=5,PORTTMOT=50), IMSPLEX=(MEMBER=ICON1,TMEMBER=PLEX2)) 15 © 2009 IBM Corporation
    • IMSPLEX = CSLPLEX1 and CSLPLEX2 z/OS B OTMA •HWS1 OM SCI OM SCI •XCFGRP1 9999 9998 •B2OM •SCB2SC •B1OM •SCB1SC IMS •PLEX2 •PLEX2 •PLEX1 •PLEX1 CONNECT DRDA DRA/ODBA IMS IMS PORT CTL CTL 1111 ODBM •ICON1 •IMS2 •IMS1 DRA/ODBA •PLEX2 ODBM •PLEX2 •PLEX1 OM •XCFGRP1 •IMSPLEX1 •PLEX1 •ODBM01OD •PLEX2 16 © 2009 IBM Corporation
    • IMS Solutions for Java Development IMS 11 Open Database APIs JDBC 3.0 IMS 9,10 Java Drivers JDBC 2.1 IBM SDK V1.3.1 IMS 9 – IBM SDK V5 z/OS •CICS,DB2,WebSphere IBM SDK V1.4.2 IMS 9 – IBM SDK V6 z/OS •IMS TM IBM SDK V5 z/OS IMS 10 DLI IMS Java Database App View Stored DLI IMS Java Database App View JDBC / SQL A JCICS p p DB JDBC / SQL A p DLI p IMS Java Base Database DB App View JNI Base Procedure JDBC / SQL CEETDLI Interface A JNI p p EJB DB CEETDLI Interface Base JNI CEETDLI Interface Java Virtual Java Virtual IMS Machine Machine IMS Java Virtual DB Resource Adapter DB Resource Adapter Machine IMS Universal JDBC and DL/I Universal JDBC and DL/I Type 2 and Type 4 Type 2 and Type 4 DB Resource Adapter and Distributed Universal DB Resource Adapter IMS Java App DLI Database IMS Java App DLI Database Type 2 and Type 4 View View A JDBC / SQL A JDBC / SQL ODBA M B I p p p p DB DB Base Base P M F JNI CEETDLI Interface JNI CEETDLI Interface DRA P P P JMP Java Virtual IMS DB JBP Machine IMS Java Dependent Region Resource Adapter Universal JDBC and DL/I Type 2 and Type 4 17 © 2009 IBM Corporation
    • Java class libraries for IMS IMS uses JNI to interoperate between Java and IMS DL/I Application Java Class Libraries for IMS JCA resource adapter JDBC Driver SQL XML-DB XQuery Application TM API DB API Base JNI AERTDLI Interface CEETDLI Interface AIBTDLI Interface Only AIB Interface Assembler Layer Interfaces to IMS 18 © 2009 IBM Corporation
    • IMS Enterprise Suite DLIModel Utility DAS Control Deployable IMS commands statements DB Web Service COBOL artifacts If you can read this you do not need glasses; however this is just silly copybooks writting to represent the control statements that EAR are the input to the utility. WSDL DLIModel Utility PSB PSB metadata DBD DBD metadata package samples.dealership; import com.ibm.ims.db.*; import com.ibm.ims.base.*; IMS Java 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 = { Metadata classes new DLISegmentInfo(AUTOLPCBDEALERSegment,DLIDatabaseView.ROOT), new DLISegmentInfo(AUTOLPCBMODELSegment,0), new DLISegmentInfo(AUTOLPCBORDERSegment,1), new DLISegmentInfo(AUTOLPCBSALESSegment,1), XML schemas new DLISegmentInfo(AUTOLPCBSTOCKSegment,1), new DLISegmentInfo(AUTOLPCBSTOCSALESegment,4), new DLISegmentInfo(AUTOLPCBSALESINFSegment,5) }; ... } 19 © 2009 IBM Corporation
    • IMS Enterprise Suite DLIModel Utility Plug-in 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 • EAR and WSDL for IMS DB Web Services Bottom-up tooling approach – Parses PSB and DBD source • Optionally handles COBOL copybook definitions of segments An Eclipse 3.x plug-in 20 © 2009 IBM Corporation
    • SQL and IMS Concepts A Segment (Table) Fields (Columns) A11|A2|A3 B Segment Key (Table Primary Key) B1 C Segment Instances C1 (Table Row) 21 © 2009 IBM Corporation
    • Query governance – join operations A Logical Child B D E C F G Logical Parent 22 © 2009 IBM Corporation
    • SQL Parsing SQL SELECT Dealer.Name, Dealer.Phone, Order.LastName SSA List DEALER *D MODEL (MSRP GT50000) ORDER (DATE GE20030501& DATE LE20030531) IOArea DEALER ORDER 10100101001010111010101100110101001010011111010111010110010101101010111010110000101010110101000100 001010111010 01010011 1011010101110101100 01001010100010101011101010101001001010101101111011010101011000000101011110101010101010000001010111 110101001010 01010101 0001010111101000101 001010110111 10111010 1001010101101010110 00101001011101010100100101101010010111010100011000100010110101101101010111011010010010101010010101 ResultSet ROW 23 © 2009 IBM Corporation
    • IMS 11 Open Database API JDBC enhancements Virtual Foreign Key fields • IMS Java maintains the unique keys for segments up to the root • SQL SELECT, INSERT, UPDATE, and DELETE queries SQL syntax for IMS appears similar to standard SQL Updatable Result Sets – Update or delete of current row Metadata Discovery – Access the IMS Java Metadata classes generated by the DLIModel utility autoCommit support – updates are committed as they happen setFetchSize – An application can set the expected or desired number of rows to be returned 24 © 2009 IBM Corporation
    • Foreign keys A Referential constraint between two tables Used to link information together A11|A2 B B1 INSERT INTO PCB.C (A, B, C) VALUES (‘a1', ‘b1', ‘c2‘) C C C C1 C2 C2|a1|b1 C2 Virtual Foreign Keys Virtually represent foreign keys in each segment which are comprised of keys of each parent segment 25 © 2009 IBM Corporation
    • Updatable Result Sets Example Query IMS A Database A11|A22 rs = st.executeQuery("SELECT A2 FROM PCB.A"); while(rs.next()){ B rs.updateString(“A2", “A22"); rs.updateRow(); } While B1 processing result set update IMS C A Database C C1 A11|A22 C2 autoCommit occurs when the result set is closed or has no more rows 26 © 2009 IBM Corporation
    • Metadata Discovery API JDBC includes methods for querying the metadata of a relational database – To get table definitions, column data types, etc With DB2, for example, these methods would access the DB2 Catalogue In IMS 11, these methods are implemented by the Universal Drivers – Access the IMS Java Metadata classes generated by the DLIModel utility Enables JDBC tooling to automatically discover the relational view and metadata of IMS DBs – Can develop and deploy applications based on IMS databases and/or DB2, etc 27 © 2009 IBM Corporation
    • setFetchSize and Network Efficiency An application can set the expected or desired number of rows to be returned Especially relevant for a distributed client to maximise network efficiency – The driver will build a request for this number of rows to be returned – And send it to ODBM (via IMS Connect) who will 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 (more details later) – Universal DB Resource Adapter – for JDBC, and for CCI SQL or DL/1 access – Universal JDBC Driver – Universal DL/1 Driver 28 © 2009 IBM Corporation
    • Other New JDBC Features Supported autoCommit support – Can set autoCommit on or off • With autoCommit on, updates are committed as they happen Not supported for JMP/JBP or CICS Not exploited with updatable result set until it is closed LocalTransaction or XATransaction Support – XATransaction support allows two phase commit when multiple drivers and resource managers are involved in a JCA 1.5 environment 29 © 2009 IBM Corporation
    • Universal Drivers System z Distributed Universal IFL Linux DB WAS Resource WAS (any platform) Adapter Linux z JCA 1.5 Type 4 Universal DB Resource Adapter z/OS A JCA 1.5 T IMS CICS C Type 4 P I Connect IMS Universal JDBC P ODBM DLI Type 2 IMS Universal Drivers IMS DB JDBC Type 4 DLI IMS DB2 WAS/z Type 4 Universal Any Java Runtime Platform DB ODBM Resource Universal Adapter JDBC IMS DB JCA 1.5 DLI Type 2 z/OS B Type 2 SNA IMS TM IMS Universal IMS DB TCP/IP JDBC Network Clients Appl Type 2 30 © 2009 IBM Corporation
    • Requirement – 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 31 © 2009 IBM Corporation
    • IMS Open Database J2EE JDBC Universal drivers Mainframe DLI IMS IMS IMS IMS J2EE JDBC Universal drivers DLI Mainframe IMS IMS IMS IMS Demo 32 © 2009 IBM Corporation
    • Universal Drivers … 33 © 2009 IBM Corporation
    • Universal Drivers … 34 © 2009 IBM Corporation
    • Universal Drivers … 35 © 2009 IBM Corporation
    • Summary Open Database Capabilities – Supports open-standards for connectivity to online IMS databases Across z/OS LPARs 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 36 © 2009 IBM Corporation