Bru soa access-for_ims_tm_customers

1,286 views
1,132 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,286
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bru soa access-for_ims_tm_customers

  1. 1. ® SOA Access for IMS TM Customers Jack Yuan – jackyuan@us.ibm.com © 2010 IBM Corporation
  2. 2. Acknowledgements Special thanks to – Himakar Chennapragada for sharing his IMS SOAP Gateway knowledge and foils with me. – Suzie Wendler and Ken Blackman for sharing their IMS SOA knowledge and foils with me. – Kevin Flanigan for sharing his IMS SOA knowledge and foils with me. 2
  3. 3. And provides a variety of new Web Solutions IMS Solutions Direct service Database clients WID RAD Solutions access Java/J2EE DLI Developers Client WebSphere IMS Model Java Utility dev IMS TM Resource IMS Connect TCP/IP WebSphere Web Service Adapter TCP/IP DRDA Java /J2EE Developer .NET IMS Database Universal Transaction Client manager ODBM MFS SOA manager DB Client Developer Resource ODBA /DRA Adapter SQL OTMA IMS SOAP Direct APP DL/I XQuery CICS SOAP DL/I SAP Developer Client IMS SOAP DB2 Application Gateway Java SP/CICS developer IMS class Database JDR Library IMS Resource Universal REST Service RDz Adapter JDBC Driver IMS DB2 WebSphere Universal JDBC DLI Developer InfoSphere Driver Model HTTP Mashup Utility Web 2.0 Mashup IMS Web 2.0 DLI Model Utility (includes new IMS 11 components) 3
  4. 4. IMS Integration Suite IMS TM Resource Adapter IMS Web 2.0 IMS MFS Web Enablement IMS Connect-based solutions for IMS transaction access IMS SOAP Gateway IMS Connect API IMS DB Resource Adapter – IMS JDBC Connector IMS DB access IMS DLIModel utility IMS XML DB Open Database Manager (IMS 11) 4
  5. 5. IMS Connect Strategic architecture base for IMS connectivity solutions – Leverages OTMA support in IMS Benefits and Value – Supports TCP/IP sockets access to IMS transactions and commands – Provides a general purpose and structured interface – Provides a strategic base for new connection technologies IMSB Web Server program Cobol COMTI Assembler TCP/IP Visual Basic PowerBuilder C/C++ IMS Connect IMSA Java Java Applet ... BROWSER Web VTAM Websphere Server 5
  6. 6. IMS Connect Solutions IMS Connect provides the IMS interface for TCP/IP solutions – IMS Integration Suite • IMS TM Resource Adapter • IMS Web 2.0 • IMS SOAP Gateway • IMS MFS Web Support – Write your own clients existing IMS transactions can be • IMS Connect API integrated into the service-oriented • Socket calls architecture by implementing a Web – V11 Open Database Support service as a front-end access-point interface – IBM solutions, e.g., DataPower client for IMS – Other Vendor solutions 6
  7. 7. IMS Connect Solutions … IMS Control Structured Call Operations Region Interface Manager (OM) Enhanced commands SCI SCI SCI IMS Control Center SCI SCI Data Power IMS Connect Transactions XCF XCF WESB,WPS, IMS TM And OTMA WAS, WMB, resource Commands Web 2.0 … adapter Exit ODBM ODBA or DRA TCP/IP IMS Soap routines DRA DB SCI SCI Gateway DDM DLI RYO appl Multiple vendors Multiple vendors IMS Connect Multiple vendors IMS Control Extensions (CEX) Region Active Archive journa journa Java Appl. l l Universal drivers (Type 4) DRDA IMS PA or Print utility IMS PI BPE Solid IMS-based architecture 7
  8. 8. IMS Connect Solutions – for JEE Environments IMS TM Resource Adapter WebSphere-based, Java Connector Architecture (JCA/J2C) Resource Adapter that allows external systems to access IMS Connect – Enable J2EE application, Web Service, SCA, SOA Composite application/Choreographed service (BPEL process) to access existing IMS transactions WebSphere Application Server / WebSphere Process Server / WebSphere Transformation Extender (WTX) IMS Web IMS TM TCP/IP IMS IMS Service IMS App Enterprise resource Connect APP Bean adapter Web IMS DB Component (includes XML data) 8
  9. 9. IMS Connect Solutions – for JEE Environments … IMS TM Resource Adapter – Supports rapid development/deployment of Java applications to access IMS • Development component – Delivered with Rational Application Developer (RAD), Rational Developer for z (RDz), WID (WebSphere Integration Developer) • Runtime component – Must be installed into an application server, e.g., WebSphere MFS RAD / RDz /WID JEE Application Server, e.g., WAS C J2C IMPORT IMS COBOL Connection SERVICE Export Appl.EAR Installed Factory Applications IMS DEPLOY IMS TM & TEST RESOURCE IMS TM ADAPTER TCP/IP IMS RESOURCE imsico.RAR ADAPTER Connect WebSphere Unit Test Environment (supplied with IMS Connect) 9
  10. 10. As Well as support of Web 2.0 … IMS Web 2.0 IMS Web 2.0 is a plugin to the InfoSphere MashupHub V1.0 – Includes the ability to: • Transform IMS assets into RESTful services (XML, ATOM, or RSS feeds) that can consume or be consumed by other Web 2.0 services • Compose “widgets” / HTML segments into a composite User Interface (UI) or an application template • Bind services (data or function) to the composite UI IBM Mashup Center includes two components: – InfoSphere MashupHub for creating, storing, transforming and remixing feeds, and for sharing with the Web 2.0 community. – Lotus® Mashups for rapidly assembling a variety of personal, enterprise, and Web content onto a Web page or into an application. 10
  11. 11. IMS feed IMS Web 2.0 … Inventory and branch locations Transactions Google Maps feed Extends the IMS investment by converting an IMS asset into an IMS RESTful service, which has the ability to consume and be consumed by other Web 2.0 services. Other web feed Databases (with IMS 11) 11
  12. 12. IMS Connect Solutions – For non-JEE Environments The IMS SOAP Gateway A direct Web Service solution for IMS – Provides light-weight web service support • No need for a JEE server (e.g. WebSphere Application Server) – Integrates IMS assets into SOA using Web Service and SOAP interface – Provides XML transformation in IMS Connect • Handles XML data with no change in IMS application – Supports industry web service standards • HTTP(S), SSL, SOAP 1.1, WSDL 1.1, WS-I BP 1.0 12
  13. 13. End to End System z9 any SOAP Can run on: client IMS Connect Windows, AIX, zLinux, System z SAP SOAP client <LLLL<IRM> Adapter IMS Java Client <XML msg> Task <SOAP><XML msg> IMS SOAP <EOM> Manager HTTP/SOAP Gateway LLZZ TRCD DATA .NET TCP/IP Client <SOAP><LL><ZZ> IMS Web <LLLL> <DATA> < XML DATA> IMS Service <CSM> XML App Adapter For COBOL IMS SOAP Gateway LLZZ DATA Deployment Tool Correlator Generate and Deploy File COBOL Publish COBOL Converters Copybook UDDI Registry WSDL WD/z Generate Execution Execution Generation Generation 13
  14. 14. IMS SOAP Gateway Input and Reply messages Tagged IMS input message IMS SOAP •<soap hdr> Gateway <LLLL> IRM <LL><ZZ> <XML msg> <EOM> – IRM Header - provides new specifications for the XML adapter LL - 2 byte Length zz --> byte 1 - Architecture Level, Set to Binary '00000010' to signal that the storage space in the IRM is present for IRM_TAG_ADAPT and IRM_TAG_MAP byte 2 - Set to Binary ‘00000001’ if Tagged TranCode and Data Set to Binary ‘00000010’ if Tagged Data only IRMID identifies the user message exit, e.g., *HWSOA1* ….. New fields added at the end of the user data section IRM_TAG_ADAPT specifies the Adapter name that is to receive control to perform the XML removal on input and addition on output.,e.g, HWSXMLA0 IRM_TAG_MAP specifies the Tag name that is to be used by the ADAPTER to process the XML tags on input and output messages. (XML Converter Driver name) IMS SOAP Tagged IMS reply message <soap hdr> Gateway <LLLL> LL zz <XML msg> <CSM> 14
  15. 15. IMS Connect – XML Adapter Support Capability that supports translation between XML messages and IMS messages – IMS Connect client, e.g., IMS SOAP Gateway • Sends an XML message with a request for translation – IMS Connect • Inbound: invokes the XML Adapter to translate message for IMS – Removes XML tags – If necessary, convert from UNICODE to EBCDIC • Outbound: invokes the XML Adapter to prepare an XML message – If necessary, convert from EBCDIC to appropriate UNICODE encoding schema – Create XML tags 15
  16. 16. IMS Connect - XML Adapter Support… User Message Exit HWSSOAP1 – OCO IMS Connect – IRMID *HWSOA1* //HWS PROC //STEP1 EXEC PGM=HWSHWS00, REGION=5M, // PARM=‘BPECFG=BPECFG00, HWSCFG=HWSCFG00’ //STEPLIB DD DISP=SHR,DSN=IMS10.SDFSRESL XML converter routines Adapter Task //* // SSL SUPPORT DATASETS DD DISP=SHR,DSN=CEE.SCEERUN HWSSOAP1 Manager // DD DISP=SHR,DSN=SYS1.CSSLIB – Cobol source code Exit routine // //* DD DISP=SHR,DSN=GSK.GSKLOAD COBOL XML CONVERTER DRIVERS // DD DISP=SHR, DSN=IMS.XML.DRIVERS • Provide the information needed //PROCLIB DD DISP=SHR,DSN=IMS10.PROCLIB //SYSPRINT DD SYSOUT=* to perform conversion from XML //SYSUDUMP DD SYSOUT=* Adapter //HWSRCORD DD DISP=SHR,DSN=IMS10.HWSRCRD tagged data to a byte stream For COBOL – Unique to each message definition COBOL • Generated by the RDz toolkit Converters – Compiled and bound into file that is concatenated into IMS Connect STEPLIB 16
  17. 17. Message Flow <?xml version=“1.0”?> <INPUTMSG><in_ll>32</in_ll><in_zz>0</in_zz> <in_trcd>IVTNO</in_trcd><in_cmd>DISPLAY<in_cmd> ….IVTNO DISPLAY LAST1 <in_name1>LAST1</in_name1></INPUTMSG> 01 INPUT-MSG. 02 IN-LL PIC S9(3) COMP. 02 IN-ZZ PIC S9(3) COMP. 02 IN-TRCD PIC X(10). Client IMS Connect 02 IN-CMD PIC X(8). XML XML … XML IMS Appl format Adapter GU. IOPCB Appl format … ISRT, IOPCB Appl format Appl format XML XML XML Adapter 01 OUTPUT-MSG. 02 OUT-LL PIC S9(3). 02 OUT-ZZ PIC S9(3). 02 OUT-MSG PIC X(40). <cbl:OUTPUTMSG xmlns:cbl= 02 OUT-CMD PIC X(8). … “http://www.XCNVI.com/schemas/XCNVIInterface”> <out_ll> 093</out_ll><out_zz> 000</out_zz> ….ENTRY WAS DISPLAYED <out_msg> ENTRY WAS DISPLAYED</out_msg> DISPLAY LAST1 FIRST1 8-111-11111D01 / R010001 <out_cmd>DISPLAY</out_cmd> <out_name1>LAST1</out_name1> 17
  18. 18. Environments Windows, AIX,zLinux System z IM Web Service Clients, SOAP IMS S e.g. Microsoft .Net, SAP, Java, etc.. SOAP IMS Gateway Connect IMS OTMA XML XML App Adapter OTMA XML DB Web Service Clients, SOAP e.g. Microsoft .Net, SAP, Java, etc.. IMS SOAP Gateway Support on System z beginning with IMS 10 18
  19. 19. …Providing support for IMS as a Service Provider Service Provider IMS SOAP Gateway IMSAPP.XML IMS IMSAPP.WSDL IMS app Connect IMS 19
  20. 20. …and as a Service Consumer (IMS 10 / IMS 11) Service Provider (called) WEBSVCA WEBSVCA.XML WEBSVCA.WSDL IMS Service Requester (calling) IMSCAPGM (ICAL IMS SOAP Gateway IMS WEBSVCA) 20
  21. 21. IMS Support for Messaging and Queuing • Messaging and Queuing Model (transactions) – Characteristics • Processing occurs whether or not a connection is made – Assured delivery of messages (inbound/outbound) when components and/or network are available Remote Application OTMA IMS MQ Bridge MQ calls ... MQ calls GU, IOPCB XCF calls ... ISRT, IOPCB MQ calls Local Q Transmission Q MQ MQ on z/OS – Support NETWORK (VTAM LU 6.2 or TCP/IP) NETWORK (VTAM LU 6.2 or TCP/IP) • WebSphere MQ (MQSeries) – Remote program is not sensitive to the network type • MQ provides its own high-level standard API • Same applications can be deployed on TCP/IP or SNA – Supports the use of MQ API – Supports the use of JMS (Java Message Service) API • Messaging standard that allows application components based on J2EE to create, send, receive, and read messages 21
  22. 22. WebSphere MQ … Transformation, Routing and Data Integration WebSphere Message Broker - Includes all Event Broker functionality - Content and table-drive routing capabilities WebSphere - Powerful engine for message/data transformation and integration Event Broker - XSLT engine for XML transformation - Message filtering and message warehousing WebSphere MQ (including JMS) - Web services (HTTP/SOAP) protocol support Websphere Message Broker WMB 6.1.0.3 – Supports a new IMS node LL zz Trancode Data From anywhere Using any protocol (HTTP, Web services, SOAP/XML …) LL zz Data 22
  23. 23. Asynchronous: WebSphere MQ Solutions Key attributes WebSphere DataPower – Asynchronous access – Transactions exposed via MQ Web WebSphere – Supports XML message format Service Message Broker – Leverage ESB mediation – Compensating Transactions WebSphere Process IMS Server XML Transaction Database Message manager manager WebSphere XCF OTMA ESB IMS APP Database WebSphere MQ 23
  24. 24. Synchronous: WebSphere with IMS Connect Key attributes WebSphere DataPower – Synchronous access – Transactions exposed via OTMA Web – Data exposed via ODBM Service WebSphere – Supports XML message format Message Broker – Leverage ESB mediation – Integrated IMS Connect WebSphere Message IMS Process Server Transaction manager Database OTMA IMS Connect manager WebSphere ESB XCF IMS APP WebSphere SCI ODBM Application Database Server SOAP Gateway 24
  25. 25. And then there is DataPower --- Solutions for IMS MQ IMS Bridge OTMA IMS MQ client Add: DataPower XML Integration & existing IMS application systems connectivity SW (Cobol,, etc.) An MQ client Add: DataPower XML Security SW XS40 XML Security Gateway Offloads XML, XSD, XPath and XSLT at OTMA IMS Connect IMS wire speeds XA35 XML Accelerator IMS Connect client IMS application (Cobol,, etc.) IRM Request DataPower 3.6.1 An IMS Connect client 25
  26. 26. IMS Connect API Environment Windows or z/OS z/OS Client IMS IMS Client IMS Application Connect Client IMS Application Connect API Application Connect O API API T IMS App IMS M IMS App Connect A IMS App TCP/IP Load default property values Connection Connection and and TmInteraction TmInteraction Attribute files Attribute files 26
  27. 27. Business Value Target Market – The IMS Connect API is intended for all customers who write client applications that interact directly with IMS Connect (i.e., IMS Connect clients that do not use IMS TM Resource Adapter or IMS SOAP Gateway) Challenge Addressed – Simplifies interactions with IMS Connect by handling: • IMS Connect message header • IMS Connect interaction protocols • TCP/IP socket connections Solution Statement – Provides a set of reusable profiles that define connections and types of interactions to be performed and set of high- and low-level methods for performing interactions with IMS Connect Business Value Statement – Simplifies design, development, test and maintenance of IMS Connect client applications written in Java and C 27
  28. 28. Business Value Target Market – The IMS Connect API is intended for all customers who write client applications that interact directly with IMS Connect (i.e., IMS Connect clients that do not use IMS TM Resource Adapter or IMS SOAP Gateway) Challenge Addressed – Simplifies interactions with IMS Connect by handling: • IMS Connect message header • IMS Connect interaction protocols • TCP/IP socket connections Solution Statement – Provides a set of reusable profiles that define connections and types of interactions to be performed and set of high- and low-level methods for performing interactions with IMS Connect Business Value Statement – Simplifies design, development, test and maintenance of IMS Connect client applications written in Java and C 28
  29. 29. Description and Positioning Facilitates remote access to IMS transactions and commands Shields users from: – IMS Connect protocol – Socket communications Targets users who need to write and maintain RYO applications – Accomplishes same task as IMS TM Resource Adapter and IMS SOAP Gateway – Leaner implementation • No J2EE/JCA • No SOAP server – Allows different RYO applications to use the same code for accessing IMS from Java applications Utilizes JCA-like paradigm for accessing IMS Connect – ConnectionFactory, Connection and TmInteraction interfaces 29
  30. 30. Prerequisites Software requirements – IMS V10 license required – IMS V10 Integrated IMS Connect function – JDK/JRE 1.4.2 or higher Hardware requirements – Same as existing IMS Connect client application environment Tooling – None required 30
  31. 31. Design Assumptions IMS Connect API – API will support existing IMS Connect function for RYO client applications • TCP/IP only – Client application responsible for: • Preparing input data as expected by IMS application • Interpreting output data as returned by IMS application • Management of memory for required data structures used in C implementation – Java implementation initially supported on Windows and System z – C implementation initially supported on Windows only 31
  32. 32. Restrictions IMS Connect API intended to support existing IMS Connect function – New features added after start of development not included in initial GA Two-Phase Commit (2PC) – Not supported in initial release – May be restrictions which would prevent 2PC from ever being feasible with API SSL – May not be supported in initial release – May not be concern if running API on System z behind firewall Cancel client ID – May not supported in initial release XML – Not supported in initial release 32
  33. 33. Externals Major Functionality from Users’ Point-of-View – IMS Connect API executes interactions with IMS Connect • Shields IMS Connect client application developers from dealing with complexities of: – IMS Connect headers and protocols, – TCP/IP sockets programming, and – IMS Connect user exits (defaults to HWSSMPL1) – The IMS Connect client application developer responsible for configuring connection and interaction property files used by API – Optional features • SSL connections • API runtime tracing 33
  34. 34. Interfaces Customers may provide pathnames to customized files – Specify default connection- and interaction-related properties OO approach used for Java API – Similar to design used for J2EE and JCA – ConnectionFactory getConnection call returns Connection interface on which createInteraction is called to return TmInteraction interface Low-level calls for Java Connection interface – Connect ( ) • Input parameters: Java – none C – pointer to ConnectionAttributes – pointer to call completion/error status structure • Return value: void • Opens TCP/IP socket connection to IMS Connect identified in properties of Connection instance • Invoked explicitly by client application or called internally by API during high-level execute call if Connection is not connected 34
  35. 35. Interfaces (continued) Low-level calls for Connection interface (cont.) – disconnect( ) • Input parameters: Java – none C – pointer to ConnectionAttributes structure – pointer to call completion/error structure • Return value: void • Closes underlying TCP/IP socket connection to IMS Connect for that Connection instance • Invoked explicitly by client application or called internally by API during high-level execute call if Connection is not connected – send( ) • Input parameters: Java – input byte array C – pointer to ConnectionAttributes structure – pointer to input byte array – pointer to call completion/error structure • Return value: void • Sends input byte array to IMS Connect using underlying socket for that Connection instance • Invoked explicitly by client application or called internally by API during high-level execute call 35
  36. 36. Interfaces (continued) Low-level calls for Connection interface (cont.) – receive( ) • Input parameters: Java – void C– pointer to ConnectionAttributes structure – pointer to output buffer – pointer to call completion/error structure • Return value: Java – output byte array C– void • Receives output byte array from IMS Connect using underlying socket for that Connection instance • Invoked explicitly by client application or called internally by API during high-level execute call 36
  37. 37. Interfaces (continued) High-level calls for Connection interface (cont.) – loadConnectionPropertiesFromFile( ) • Input parameters: Java – qualified or unqualified name of file containing Connection property values C – qualified or unqualified name of file containing Connection property values – pointer to ConnectionAttributes structure – pointer to call completion/error structure • Return value: void • Sets the values for all Connection properties identified by name-value pairs in the specified Connection properties file • Invoked explicitly by client application 37
  38. 38. Interfaces (continued) High-level calls for TmInteraction interface – execute( ) • Input parameters: Java – none C– pointer to ConnectionAttributes structure – pointer to input buffer – pointer to output buffer – pointer to InteractionAttributes structure – pointer to call completion/error structure • Return value: void • • Invoked explicitly by client application – Establishes socket connection with IMS Connect if not already connected – Builds input request message to be sent to IMS Connect including the IRM headers and with or without trancode and data as necessary – Enforces rules of IMS Connect protocol, throwing exceptions if interaction would violate protocol – Sends request message to IMS Connect – Receives output from IMS Connect and IMS – Processes output and returns either output or exception to calling client application 38
  39. 39. Properties Files Default values – Properties files used to set default values for Connection and TmInteraction – Default values can be over-written by Connection and TmInteraction properties setter methods Two types of properties files supported – Connection properties • Identify target IMS Connect, type of connection and SSL-related properties of Connections • Same connection properties used by ConnectionFactory class and Connection Interface – ConnectionFactory can be loaded with connection property values which are then used as default values for Connections it creates – Connections can also be loaded with connection property values which overwrite values set by ConnectionFactory • Changing of connection properties allowed only while Connection is not connected – TmInteraction properties • Describe type and characteristics of interaction to be performed • Can be changed any time – changes affect subsequent interactions 39
  40. 40. Properties Files (continued) TmInteraction Properties Interaction - Datastore name (IMS) Connection Properties - Commit mode, sync level - Interaction type Target IMS Connect Message routing - Host name - Purge undeliverable output - Port number - Reroute undeliverable output SSL configuration - Reroute name - Use SSL flag Security - SSL encryption level - RACF settings - Keystore and truststore Timeouts - IMS Connect timeout Other properties - Interaction timeout - Client ID Message encoding - Socket type - IMS Connect codepage Response - responseIncludesLLLL - returnMfsModName 40
  41. 41. Tracing Uses java.util.logging package Provides four levels of tracing from no tracing to detailed tracing: – None – Exception – exceptions only Mon, Jan 19 2009, 14.05.15.971 PST [SEVERE] Exception caught in client application Mon, Jan 19 2009, 14.05.15.986 PST [SEVERE] Exception was: [com.ibm.ims.connect.ImsConnectCommunicationException: HWS0006E: IMS OTMA returned an error. IMS Connect return code: [16], OTMA sense code: [26], OTMA reason code: [25] (SMB transaction or LTERM stopped (see DFS065))] – EntryExit – exceptions plus significant method entries and exits Fri, Jan 16 2009, 17.18.05.111 PST [FINER] --> ConnectionImpl.connect()... Fri, Jan 16 2009, 17.18.05.283 PST [FINER] <-- ConnectionImpl.connect()... – Internal – trace exceptions plus entries and exits plus useful information such as the input and output buffer contents formatted and interpreted InputMessage.getBytes() - writing trancode [IVTNO ] to "dout" DataOutStream InputMessage.getBytes() - copied bout.toByteArray() to "message" byte array: 00000098 00700200 5ce2c1d4 d7d3f15c 00000000 10001000 c3d3c9c5 d5e3f0f1 |...q.ø..*SAMPL1*........CLIENT01| : 32 00400140 c9e5e3d5 d6404040 c9d4e2f1 40404040 40404040 40404040 d9c1c3c6 |. . IVTNO IMS1 RACF| : 64 e4c9c440 d9c1c3c6 c7d9e4d7 d9c1c3c6 d7e2e6c4 d9c1c3c6 c1d7d5d4 40404040 |UID RACFGRUPRACFPSWDRACFAPNM | : 96 40404040 c8e6e2e7 d4d3c1f0 c8e6e2e7 c3d5e5f0 00200000 c9e5e3d5 d6404040 | HWSXMLA0HWSXCNV0....IVTNO | : 128 4040c4c9 e2d7d3c1 e840d3c1 e2e3f140 40404040 00040000 | DISPLAY LAST1 .... | : 152 41
  42. 42. Tracing Tracing output at Internal level also includes interpreted IRM fields Thu, Jan 15 2009, 00.01.15.877 PST [FINEST] llll = 0x98 (decimal 152) Thu, Jan 15 2009, 00.01.15.877 PST [FINEST] irm_ll = 0x70 (decimal 112] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] archLvl = 0x02 Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] f0 = 0x00 (decimal 0] (no XML transformation) Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] irmId = [*SAMPL1*] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] resWrd = 0x00 (decimal 0] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] f5 = 0x10 (decimal 16] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] EBCDIC translation not done by client Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] resumeTpipe option is SINGLE_WAIT Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] irmTimer = 0x00 (decimal 0] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] sockType = 0x10 (decimal 16] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] Persistent socket Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] encSchema = 0x00 (decimal 0] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] clientId = [CLIENT01] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] f1 = 0x00 (decimal 0) Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] Return MFS modname not requested Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] f2 = 0x40 (decimal 64) Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] Commit mode 0 Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] f3 = 0x01 (decimal 1) Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] Sync Level is CONFIRM (1), Purge undeliverable output is false, Reroute undeliverable output is false Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] f4 = 0x40 (decimal 64, chararcter [ ]) Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] SENDRECV interaction Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] irmTrancode = [IVTNO ] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] datastoreId = [IMS1 ] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] ltermOvrd = [ ] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] racfuserid = [RACFUID ] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] racfGroup = [RACFGRUP] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] racfPassword = [********] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] racfApplNm = [RACFAPNM] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] rerouteName = [ ] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] xmlAdapterNm = [HWSXMLA0] Thu, Jan 15 2009, 00.01.15.892 PST [FINEST] xmlConvrtrNm = [HWSXCNV0] 42
  43. 43. Usage API uses JEE/JCA-like paradigm – Instantiate ConnectionFactory • Configure using loadConnectionFactoryPropertiesFromFile() method or ConnectionFactory property setter methods – Create Connection from ConnectionFactory • Configure using loadConnectionPropertiesFromFile() method or Connection property setter methods – Create TmInteraction from Connection • Configure interaction using loadTmInteractionPropertiesFromFile() method or TmInteraction property setter methods – Create input data as one- or two-dimensional byte array or String – Obtain InputMessage object using TmInteraction.getInputMessage() • Set input data in InputMessage – Invoke TmInteraction.execute() to perform interaction – Obtain OutputMessage using TmInteraction.getOutputMessage() • Get response data and properties from OutputMessage 43
  44. 44. Usage (continued) Simplified example 1 Logger logger = apiLoggingConfig.configureApiLogging(“trace.out”, ApiProperties.TRACE_LEVEL_INTERNAL); 2 3 ConnectionFactory myCF = new ConnectionFactory(); 4 myCF.loadConnectionFactoryAttributesFromFile(“c:myPropAttributesFilesConnAttr.txt"); 5 myCF.setHostName(“myhost.mycompany.com"); 6 myCF.setPortNumber(9999); 7 8 Connection myConn = myCF.getConnection(); 9 myConn.setClientId(“client01"); 10 11 TmInteraction myTmInteraction = myConn.createInteraction(); 12 myTmInteraction.setImsDatastoreName("IMS1"); 12 String myImsConnectCodepage = myTmInteraction.getImsConnectCodepage(); 13 byte[] indata1 = (new String("/STA TRAN IVTNO")).getBytes(myImsConnectCodepage); 14 InputMessage inMsg = myTmInteraction.getInputMessage(); 15 inMsg.setInputMessageData(indata1); 16 17 myTmInteraction.execute(); 18 19 OutputMessage outMsg = myTmInteraction.getOutputMessage(); 20 System.out.println(“nResponse was: [” + outMsg.getDataAsString + “]n”); 21 22 myTmInteraction.setTrancode(“IVTNO “); 23 24 byte[] indata2 = (new String(“DISPLAY LAST1 ")).getBytes(imsConnectCodepage); 25 inMsg.setInputMessageData(indata2); 26 27 myTmInteraction.execute(); 28 29 System.out.println(“nResponse was: [” + outMsg.getDataAsString + “]n”); 44
  45. 45. IMS Connect Functions Supported IMS transactions Sync level’s none and confirm OTMA-supported IMS commands Interaction types ack, nak, cancel timer, end conversation, receive, resume tpipe, send only, IMS Connect PING command send only w/ ack, send only w/ XCF ordered IMS Connect RACF password change delivery and send receive command Purge undeliverable output (false) Persistent and transaction sockets Reroute undeliverable output (false) IMS Connect-generated client IDs (application- Reroute name (8 blanks) generated – CLIENTID) RACF user ID (RACFUID) SSL connections to IMS Connect (non-SSL) RACF group name (RACFGRUP) HWSSMPL0 and HWSSMPL1 user message RACF password (RACFPSWD) exits (responses with and without LLLL) RACF appl name (RACAPNM) IMS Connect DATASTORE definitions IMS Connect timeout (0 – use IMS Connect ResumeTpipe processing options single wait timeout value) and nowait, auto and noauto Interaction timeout (0 – wait forever) ResumeTpipe alternate client ID IMS Connect codepage (cp037 – EBCDIC) LTERM override name (8 blanks) ASCII or EBCDIC messages Return MFS MOD name with response (false) Commit mode’s commit-then-send (CM0) and send-then-commit (CM1) Bold = default value 45
  46. 46. IMS Connect API Functions IMS Connect API-specific Functions – Client ACK or NAK vs. API internal ACK LLZZ and trancode can be provided by client application or API Input and output message data types – Byte array • Single-segment • Multi-segment if segment in data provided are delineated with LLZZ’s – Array of byte arrays • Single-segment if only one byte array element is populated • Multi-segment – LLZZ not required to be specified – String - LLZZ cannot be specified • Single-segment only since there is no way to delineate segments within String – Array of Strings - LLZZ cannot be specified • Single-segment if only one String element is populated • Multi-segment 46

×