Session: J03 SOA Access To and From IMS IBM Advanced Technical Support

Suzie Wendler IBM

May 19, 2008 • 01:30 p.m. – 02:30 p.m. Platform: IMS

Building on decades of innovation and value, mainframe computing with IMS continues to be a significant part of IBM's On Demand and SOA strategy. Customers can rest assured that their investment in existing business logic can be integrated into evolving technologies. This session discusses how new interfaces and architectural frameworks open up and integrate IMS accessibility to and from distributed environments and Web servers. Discussions will position and compare the new IMS technologies that integrate the use of SOAP, XML, EJB's and Web Services.

1 IBM Advanced Technical Support IBM Advanced Technical Support SOA Access to and From IMS

• Learn about the different architected interfaces that allow IMS to be integrated into a distributed environment • Solutions to access IMS transactions and how to expose them as web services • Solutions to access IMS data from remote environments

• Learn about the capabilities that are available to IMS applications to allow them to consume web services

• Understand how IMS can be an integral part of your enterprise solution in answering changing market needs • IMS continues to be a premier server

2

The material presented in this topic is intended to allow attendees to learn about the IMS architected interfaces that have modernized the environment and provide the mechanism to integrate IMS applications and data into the distributed world.

2 IBM Advanced Technical Support IBM Advanced Technical Support Agenda

• SOA • Accessing IMS Transactions • Accessing IMS Data • Access from IMS applications • Future directions

3

The agenda begins with an explanation of what SOA (Service Oriented Architecture) means to IMS, followed by an explanation of the IMS solutions. At the end of the session, a brief description will be provided of the IMS future directions in this area.

3 IBM Advanced Technical Support IBM Advanced Technical Support The IMS Evolution

UDDI Registry EJB Service IMS IMS Broker Connect find Java publish XML WSDL WSDL SOAP COBOL XML IMS bind, invoke Service DB Service Provider Requester 3270 WWW Client 3270 Service SOAP

IMS EJB Connect

COBOL WWW 32703270

Access Enterprise Integration On Demand SOA Optimize operations… Buying, not browsing “ Get on the Net “ … dynamically respond to standards COBOL “ ” Working, not surfing” the needs of customers,” employees, partners. 3270 3270 Integrate Integrate Adopt Access Publish Transact Standardize Internally Externally Dynamically

4

The first message that needs to be emphasized is that IMS continues to be a premier server in today’s world. With new architected interfaces and solutions, the existing IMS environment answers the challenges that are presented by today’s business needs. Existing IMS resources can continue to be accessed, as they have in the past, by simple straight-forward requests such as those that are requested using traditional 3270 interfaces and emulators, or they can participate in distributed requests from a variety of servers using TCP/IP and web-based solutions. As technology has advanced, the On Demand and SOA evolution with IMS continues to support the scalability, security, integrity and performance requirements that IMS has always provided.

The main point is that applications that were developed years ago with older communication architectures and technology can continue to be accessed in today’s environment. IMS has always shielded its applications from having to understand changes in communication mechanisms. On the other hand, IMS also provides the ability to modernize its applications to directly participate in enhanced functions.

Note that the most recent architecture, as shown on the visual, is SOA (service oriented architecture). A little bit of a background might be helpful in understanding this environment. As the web evolved, its dynamic nature along with continued technological advancements, resulted in increased complexities and challenges for true interoperability. Enterprises that were betting their businesses on these capabilities needed a guarantee of compatibility across platforms, applications and vendors. This set of challenges led to a collaboration in the technical and business community which ultimately defined an architecture specification geared towards standardization. SOA is all about standardization.

4 IBM Advanced Technical Support IBM Advanced Technical Support … To SOA and Web Services

UDDI • Definition: Registry Service • Web Service Broker • component (callable publish piece of code) that is capable WSDL find of being accessed WSDL (described, published and located) IMS bind, invoke Service Service • via standard network Provider protocols such as SOAP Requester over HTTP Web SOAP Client • independent of platforms or Service Application programming language

• Web Services Description Language (WSDL) Industry standards

• XML document describing 3 basic components: network services, e.g., what a - Service Provider Web Service can do, where it - Service Broker resides, and how to invoke it - Service Requestor

STANDARDIZATION !!!

5

Some basic terminology might be helpful at this point. A service is a callable piece of code (like a web server application) that can be invoked to provide a repeatable function. A web service is a special type of service that adheres to the use of open standards such as XML, SOAP, WSDL and UDDI over a TCP/IP backbone. XML (extensible markup language) is used to tag the data, SOAP (simple object access protocol) is used to transfer the data, WSDL (web services description language) is used to describe the services that are available and UDDI (universal description discovery and integration) is used for listing what services are available. The creation of web services allow organizations to communicate data without knowledge of each other's systems, many of which are behind firewalls.

The SOA architecture also includes three basic components. •The service requestor is a client that locates entries in a broker registry and uses the information to bind to the service provider in order to invoke one of its Web services. -The service broker, also known as a service registry, provides the ability to make the web service interface and implementation access information available to any potential service requestor. Service brokers can be public or private. -The service provider creates and provides the runtime environment for a web service and publishes its interface and access information to the service registry.

5 IBM Advanced Technical Support IBM Advanced Technical Support The Challenge - SOA Enablement

REQUIREMENTS

• Provide access to IMS resources as web services • Provide access from IMS transactions to web services

UDDI Registry Service • Figuring out how to access IMS Broker • “Exposing” the IMS resources as web services publish find • Deciding how to create the web service WSDL WSDL

? Service Service bind, invoke Requester IMS Provider Web Client Service Application SOAP • Figuring how to access web services from IMS

6

So what does this all mean for IMS?

IMS is not the container for a web service. IMS resources, however, can be “exposed” as web services. What this means is that IMS provides the interfaces so that web services that run in a service provider can be written or generated to access IMS. IMS, therefore, is a resource that can be invoked by a web service and, in terms of this architecture, can be viewed as an extension to the service provider.

IMS answers two sets of requirements for SOA enablement. The first is the ability to provide access to IMS resources as web services, and the second is the ability to allow IMS transactions to call out to web services. The challenge for the creator of the web service is to figure out the best way to access IMS resources based on the application, network and business requirements.

6 IBM Advanced Technical Support IBM Advanced Technical Support IMS Solutions

Web Solution Solution Direct service s clients s DLI Database WID RAD Model Utility access Developers Java/J2EE IMS WebSphere Client WebSphere Java Java /J2EE dev IMS TM IMS DB Developer Resource Transaction Database Resource Adapter manager manager Adapter ODBA /DRA IMS Connect Java MFS Web class Services SQL .NET TCP Library SOAP IMS DL/I XQuery CICS Client /IP APP DL/I Developer Client Developer DB2 Direct Java SP/CICS Web Service class Database SOAP Java Library Java class class Library Library IMS SOAP DB2 SAP Gateway Developer Client Application DLI DLI developer WDz Model Model Utility Utility

7

To support the technology explosion, IMS provides a variety of solutions to assist in accessing both IMS transactions and IMS data from remote requestors. This visual provides an overview of the IMS-provided capabilities which will be discussed in more detail in the following visuals.

7 IBM Advanced Technical Support IBM Advanced Technical Support …Provide SOA Enablement

• Tooling can be used for the SOA higher layers • Assets projected into the lower layers can be “pulled” higher

Monitoring/Event Management Governance Security SOA Process/Orchestration

SOAP/J2EE Services SOA enablement J2EE/JCA (EJB) Data Services / Messaging

SQL/ Data Abstraction XQuery/XML J2EE/JCA (EJB) IMS IMS Legacy App Data Rep DB Source: Linthicum Group

8

SOA is defined as an architectural style for the creation of business processes which are packaged as services with an accompanying provision for an IT infrastructure that allows different applications to exchange data and participate in these business processes. Because the term was so loosely defined when it first came out, innumerable interpretations for "SOA" emerged from a variety of vendors and business enterprises. In answer to this challenge, OASIS published a specification for a Reference Model for Service Oriented Architecture (SOA-RM) to standardize the infrastructure. OASIS (organization for the Advancement of Structured Information Standards) is a non-profit international consortium that drives the development, convergence and adoption of e-business standards.

The SOA architecture specifications define several layers that decouple access to the datastores at the lowest level from the business processes at the higher layers. This means that adjustments to the physical data and associated access can be done without necessarily driving changes to the higher level business processes. The IMS solutions shown in the previous visual all fall within the lower layers of the architecture that are defined as “SOA enablement” and are intended to facilitate access to IMS resources. These solutions allow IMS to be easily integrated into the SOA model.

8 IBM Advanced Technical Support IBM Advanced Technical Support

Accessing IMS resources (IMS as a service provider)

9

The first area to discuss is the ability to access IMS resources, therefore addressing the challenge to project IMS as a service provider.

9 IBM Advanced Technical Support IBM Advanced Technical Support What you need to consider

• First step – Understand your applications

• Although SOA talks about “REUSE”, • Should your IMS transactions actually be reused as they are? • Do they need to be optimized for new access patterns?

• “REUSE” can apply to applications and technology • E.g., Cobol, Pl/I, Assembler, Fortran, … DL/I calls

• IMS also supports new technology (Java, JDBC) and interoperability (Java and Cobol)

10

When discussing the integration of IMS resources to new architectures and communication technologies, the first step that should be taken is to understand the characteristics of the IMS applications that need to be accessed from these remote environments. Much of the material about SOA mentions the term “reuse”. Although the IMS solutions are geared towards reusing existing transactions, the question that must be answered is whether the transactions should be reused as they are or whether they should be optimized for new access patterns.

From an application development perspective, IMS programmers can continue to use DL/I calls and programming languages such as Cobol. They do, however, also have the option to take advantage of new IMS capabilities such as Java programming, Java classes and JDBC calls.

10 IBM Advanced Technical Support IBM Advanced Technical Support Applications …

• Understand your applications … • Some are easily reused and called as part of an SOA architecture scenario • If so, then determining which communication access solution is the next step

• On the other hand, other applications are more complex, if so …..

Mainframe apps - Blue PC/NT apps - Green DRAFT Best Buy - Application Diagram V4 DRAFT Page 1 of 2 Unix apps - Yellow Depository November 10, 1999 Banks 3rd party interface - Orange Vendor Setup Lines: Colors have no special meaning. Vendor They are toMainframe help make the apps diagram - Blueeasier to Process Servers I17 Customer Perceived Maintenance read. PC/NT apps - Green Budget (Imaging) DRAFT Best NEWBuy Soundscan - Application DiagramSterling V4 VAN DRAFT UAR - Univer sal Account In-Stock Page 1 of 2 NPD Group For More Information: See the database Analysis Tool Mesa Data Roadshow Mailbox (Value) ReconcilliationDepository Unix apps - Yellow Printer S20-Sales AI G WarrantyNovember G uar d 10, 1999 containing information about each Vendor SetupMaintenance Banks application:3rd Application party interface V4.mdb - Orange Polling I13- Auto I15 Hand Scan Replenishment Lines: Colors have no special meaning. I06 - Customer Apps PrinterVendor PO They are to help make the diagram easier to Insertions Process Servers S01 - Sales Order I17 Customer Perceived AIS Reports Maintenance UAR - Univer sal Account read. AIS Calendar OrdersBudget (Imaging) CorrectionsNEW Soundscan Sterling VAN In-Stock NPD Group For More Information: See the database Analysis Tool Mesa Data Roadshow Reconcilliation Printer AIG Warranty Guard Mailbox (Value) Due Datescontaining information about each Print Costing S20-Sales I06 Warehouse Maintenance Management application: Application V4.mdb General Invoice App Polling I13- Auto I15 Hand Scan Stores & Mrkts Broadcast Maintenance E13 I06 - Customer Replenishment Apps Filter Printer PO E3 Interface Fringe PO Insertions S01 - Sales Order Smart PlusAIS Reports AIS Calendar Orders Corrections Smart Plus M03 - Millennuim 3.0 I06 Warehouse LauncherDue Dates Print Costing S04 - Sales Posting General Invoice App Management Stores & Mrkts Broadcast Maintenance S07 - Cell E13 Phones E3 Interface I03 Return to Fringe PO P16 - Tally Sheet Filter D01 Post Load M02 - Millennium Vendor S06 - Credit App Smart Plus Billing M03 - Millennuim 3.0 Smart Plus Equifax Stock OptionsLauncher S04 - Sales Posting S07 - Cell I12 Entertainment S09 - Digital P15 EES Employee I03 Return to P16 - Tally Sheet Change Notice Phones Software Satellite L02-Resource D01 Post Load Vendor System Scheduling M02 - Millennium A04 - Cust S06L01-Promo - Credit App Refund Chks Billing 1 (Campbell) E01-EDI Analysis Equifax Stock Options P14 On-line New Hire Entry S09 - Digital P15 EES Employee AAS I12 Entertainment V02-Price Resumix Change Notice P01- Software Satellite Marketing L02-Resource Employee System Washington, Scheduling A04 - Cust SupportL01-Promo 1 RGIS, MasterfileRefund Chks E01-EDI Analysis (Campbell) Ntl Bus Systems P09 - P17 Cobra CyborgP14 On-line New Frick S11 - ISP Hire Entry Co CTO2.Bestbuy. I10 Cycle Physical Tracking CTS AAS com V02-Price Resumix P01- I04 Home Inventory ACH Deliveries Marketing V04-SignEmployee Washington, Prodigy Support RGIS, SystemMasterfile U18 - CTO Ntl Bus Systems Banks - ACH and Pos to P09 - P17 I02 - Cobra POS Frick S11 - ISP X92-X96 Pay Cyborg Transfers Co CTO2.Bestbuy. I10 Cycle Physical Tracking Host to AS400 CTS com I04 Home Inventory Communication Plan AdministratorsACH Deliveries (401K, PCS, Life, Spec SourceV04-Sign B01 - Stock Prodigy Status Unicare, Solomon SKU TrackingSystem U18 - CTO I11 Price Smith Barney) I09 Cycle Counts I02 - Banks - ACH and Pos to S08 - Vertex POS Testing Supplier ComplianceTransfers X92-X96 Pay Intercept Sales NPD, S02 - Host to AS400 E02-Employee Tax SoundScan Layaways PurchasePlan Administrators Communication (401K, PCS, Life, SpecSpec Source B01 - Stock Unicare, Solomon SourceS KU Tracking Status I01 PO I11 Price Receiving SKU ScorecardSmith - HR Barney) I09 Cycle Counts V03- Mkt S08 - Vertex Testing Supplier Performance NPD, S02 - Compliance ReactionsIntercept Sales L60 MDF P09 E02-Employee Tax SoundScan Layaways Purchase S03-Polling V01-Price Management I05 Coop Bonus/HR SKU Selection System Spec Inventory Info Tool Source I01 PO Scorecard - HR Receiving SKU Performance I35 - CEI V03- Mkt Reactions K02 Customer Repair L60 MDF ASIS P09 Coop I35 Early Warning Arthur Planning S03-Polling V01-Price Management I05 Tracking SKU Selection Bonus/HR I18 System System Inventory Info Tool Rebate SKU Rep Transfer I55 SKU I35 - CEI K02 I07 Purchase Store Information Order Ad Expense Monitor ASIS ELT Customer Repair I35 Early Warning Arthur Planning PowerSuite G02 - General Tracking System Ledger I18 Rebate SKU Rep Store Transfer Scorecard Sign Texlon 3.5 I55 SKU I07 Purchase Store System Information NARM Order Ad Expense Monitor ELT I14 Count Corrections Store Budget PowerSuite G02 - General Reporting Ledger Valley Media Store U16-Texlon B02 Merchandise CopyWriter's Scorecard Texlon 3.5 Sign Analysis BMP - Bus Workspace System performance Mngt EDINARM I14 Count Corrections Coordinator Store Budget Reporting Merch Mngr Approval Valley Media U16-Texlon B02 Merchandise Batch Forcasting CopyWriter'sAIMS Journal Entry Tool Kit Ad Measurement A05 - AP Analysis BMP - Bus Workspace performance Mngt AIMS Admin EDI CellularCoordinator INVENTORY CONTROL APPS - PC INVENTORY CONTROL APPS - PC ACCTS REC APPS - PC Code Alarm Rollover DPI/CPI 990CO R Merch Mngr Approval AIMS OTHER APPS - PC Debit Receivings IC Batching Bad Debt BatchAd Forcasting Reporting AIMS S05 - House AP - Collections/Credit Devo Sales JournalInventory Entry ToolAdj/Count Kit Correct Benefical Fees LauncherAd Measurement A05 - AP Charges TM - Credit Card DB Display Inventory Inventory Control Reports Beneficial Reconcil In Home Inventory Levels JEAXF AIMS Admin Junkouts Inventory Roll JEBFA Optika US Bank Recon Merchandise Withdrawl Merchandise Withdrawl JE BKA PSP File Cellular PrINVENTORY omo Credits CONTROL APPS - PC OpenINVENTORY Receivings CONTROL APPS - PC JEDVAACCTS REC APPS - PC C02 - Capital RTV AccrualCode Alarm PI Count ResultsDPI/CPI JE SO A 990CO R AIMS Rollover ShrinkDebit Receivings Projects Connect 3 ICMS Credit OTHER APPS - PC PI Time Results fromIC Batching Inv JEVSA Bad Debt Ad Reporting S05 - House AP - Collections/Credit AP Resear ch - InvDevo Cntrl Sales Price ProtectionInventory Adj/Count Correct JE VS F Benefical Fees Launcher SiteSeer Charges TM - Credit Card DB AP Research-AddlDisplay Rpts Inventory Sales FlashInventory Reporting Control Reports NSFBeneficial Reconcil In-Home Book to Perpetual InventoryIn Home Shrink ReportingInventory Levels TeleCredit FeesJEAXF Data Warehouse Repair Close Out ReportingJunkouts SKU Gross MarInventor gin y Roll JEBFA US BankConnect Recon 3 Connect 3 Computer IntelligenceMerchandise Data Withdrawl SKU Shrink MerchandiseLevel Detail Withdrawl JEBKA (Interfaces to and from the PSP Optika Cash Receipts/Credit Data Warehouse are not F06 - Fixed PDFFile Transfe Reports Count CorrectionsPr omo Credits USM Open Receivings JEDVA C02 - Capital Cross Ref for VCBRTV Dnlds Accrual VCB DownloadsPI Count Results JE SO A displayed on this diagram) Assets Misc Accounting/Finance Apps - PC/NT Warranty Projects Damage Write OffShrink PI Time Results from Inv JEVSA Connect 3 ICMS Credit COBA (Corp office Budget Assistant) Debit ReceivingsAP Resear ch - Inv Cntrl Price Protection Billing Star Repair JE VS F System SiteSeer Cash Over/ PCBS(Profit Center Budget System) DFI VendorAP Database Research-Addl Rpts Sales Flash Reporting NSF In-Home Short Merchandising Budget Display I nventoryBook to Reconci Perpetual l Inventory Shrink ReportingPrepared by Michelle Mills TeleCredit Fees Data Warehouse Repair Display InventoryClose Reporting Out Reporting SKU Gross Margin Connect 3 Connect 3 Computer Intelligence Data (Interfaces to and from the Cash Receipts/Credit SKU Shrink Level Detail Data Warehouse are not F06 - Fixed PDF Transfe Reports Count Corrections USM Cross Ref for VCB Dnlds VCB Downloads displayed on this diagram) Warranty Assets Misc Accounting/Finance Apps - PC/NT Damage Write Off COBA (Corp office Budget Assistant) Debit Receivings Billing Star Repair System Cash Over/ PCBS(Profit Center Budget System) DFI Vendor Database Short Merchandising Budget Display Inventory Reconcil Prepared by Michelle Mills Display Inventory Reporting

11

As part of the application review, the ease with which an application can be integrated into a SOA environment oftentimes depends on its structure. The issue is not so much the ability to access the transaction and communicate with IMS, rather the concern is the applicability of the application as it exists when it becomes part of a larger, distributed process.

Be aware that complex applications that are difficult to analyze might pose problems when exposed as web services. Web services have a greater potential to experience increased usage and because they are more accessible to integrated environments, these types of applications that have heavy overhead could become potential bottlenecks.

11 IBM Advanced Technical Support IBM Advanced Technical Support Applications …

• A possibility …. A set of toolkits to help you

IBM Enterprise Modernization Solutions

Enterprise Modernization If you need to… …IBM Software can help

9Discover and gain control over IBM WebSphere Studio Asset Analyzer – helps IT personnel with the discovery application assets and their and analysis (DNA) of existing enterprise applications. Understand and gain dependencies intellectual control over your application relationships and structures.

9Extract business rules currently IBM Rational Transformation Workbench - helps accelerate strategic and imbedded in code tactical modernization initiatives by allowing development team to quickly transform existing assets and discover reusable business logic for creating 9Identify key assets and restructure for services. reuse in SOA Asset Modernization IBM Rational Asset Manager – helps improve productivity and software delivery 9Reduce cost and time of on-going through asset reuse with a solution that enables you to create, modify, govern, application maintenance and locate any type of development assets, including SOA and systems development assets. 9Manage and govern the design, development and consumption of IBM WebSphere Service Registry and Repository – helps you achieve tangible software assets and services business value from your service-oriented architecture (SOA) by enabling better management and governance of your services. 9Identify all assets that could be affected by proposed changes

12

There are a variety of tools that assist in this analysis. The IBM Enterprise Modernization tool set includes the products listed on this visual.

12 IBM Advanced Technical Support IBM Advanced Technical Support Analysis and Transformation

• IBM Enterprise Modernization solutions

• Analyze source in WDz/RDz local and remote z/OS projects • Programs - including JCL, PSB and DBD files, DDLs, and IDMS schemas

• Create a repository to use for analysis RTW

RTW • Determine resolution patterns of dynamic calls Repository • to programs, files, screens, etc. WDz / RDz

• Mechanism for synchronizing the sources for analysis to assist with changes for ongoing maintenance and enhancement

13

With the IBM Enterprise Modernization solutions, the enterprise resources such as programs, the associated JCL, PSBs, DBDs, etc., can be reviewed, kept in a repository for impact analysis, and even used to determine the resolution patterns of dynamic calls. These tools, therefore, provide the mechanism to determine how well an existing application structure lends itself to SOA integration.

13 IBM Advanced Technical Support IBM Advanced Technical Support IBM Enterprise Modernization Solutions

Logic flow Relationships EXEC SENDSUB SEND MAP (‘MAP1’) MAPSET (‘NEWMAP’) FROM (MAP1) ERASE END-EXEC

Context Control flow

14

Rational Transformation Workbench allows you to more easily visualize and understand your application flow and possible complexities within the structure.

14 IBM Advanced Technical Support IBM Advanced Technical Support Next Step

• Communication Access

• How to get to IMS resources

• How to deal with errors

15

Once the application has been identified, the next step is determining the optimum mechanism to use when communicating with IMS, i.e., how to get to the IMS resources and how to handle error situations.

15 IBM Advanced Technical Support IBM Advanced Technical Support How do you choose a solution?

• By understanding your requirements: • The Environment - SNA or TCP/IP • Different solutions by network type • Application requirements First define your • Access to IMS transactions requirements • Direct connection model Characteristics - Processing begins only if connections can be established - Immediate notification of problems • Messaging and Queuing model Characteristics - Processing occurs whether or not a connection is made - Assured delivery of message when path is available

• Access to IMS data • Replicating IMS data • Access from IMS applications

• Development requirements There are a variety • Programming language of solutions • Toolkits

Don’t forget to design for failure !!!

16

Choosing the best way to get to IMS cannot be isolated from an understanding of the application, business and enterprise requirements. There are many solutions that can be categorized by network connectivity requirements. Many of the initial solutions that opened IMS up to the web leveraged IMS’s VTAM interface and provided access based on APPC/LU 6.2 or 3270/LU2 protocols. They continue to be viable alternatives especially when the web/application servers reside on zSeries or take advantage of SNA networks. Additionally, as TCP/IP has evolved to becoming a standard for network connectivity, other IMS solutions evolved to take advantage of direct socket programming interfaces, emulation through Telnet, and emerging technologies such as SOAP, HTTP, etc.,

Solutions for IMS transactions fall into two major application models, direct connection as well as messaging and queuing. Applications that use the direct connection model are written to interact with a partner application and to react to error conditions such as the partner being unavailable or a connection failure. On the other hand, applications that choose the messaging and queuing model expect assured delivery of a message it is sending even if the partner or a component in the connection is unavailable. Replies are not necessarily expected. The use of one versus the other should be considered in light of the target result which is the integrated application across network boundaries. Additional considerations oftentimes include: an understanding of the target of the request, e.g., an application for additional business logic or direct access to data; whether the accessed resource is simply retrieved or whether it is updated; and the level of the commit scope, e.g., no acknowledgements, confirmation requests, or two-phase commits.

Finally, for many, the choice of a solution might even include whether or not a product can be purchased “off the shelf”, whether a toolkit is available to assist in the generation of any needed code.

All these decisions and considerations are made by looking at the requirements and the implementing enterprise as a whole. Oftentimes, a combination of solutions have to be considered to provide the most viable answer.

16 IBM Advanced Technical Support IBM Advanced Technical Support Solutions Many vendors, many solutions - Good News for IMS!!!

• Crossplex e3270 Emulation - SofTouch Systems Inc. • Attachmate - Synapta Services Builder for IMS http://www.softouch.com/cpx_prod/index.html# http://www.attachmate.com/NR/rdonlyres/2FFC7D0A-9744-4996- • HOBLink TE - https://webshop.hob.de/scripts/produkte.php 95CE-18AFCEC0B4F7/0/tp_ssb_transactionaccess.pdf • Host Access Transformation Services – IBM • Comporsys Connector for IBM IMS http://www.ibm.com/software/webservers/hats/ http://www.comporsys.de/pdf/connector,ims,datasheet(en).pdf • Jacada - http://www.jacada.com • Microfocus Mainframe Express (MFE) IMS Connect interface • Resqnet - http://www.resqnet.com http://www.microfocus.com/mfnewsletter/20040601_004.asp • Web 390 for OS/390 and MVS - Information Builders • MicroSoft Transaction Integrator http://www.informationbuilders.com/products/web390/pdf/web390.pdf http://msdn.microsoft.com/library/default.asp?url=/library/en- • IONA Mainframe Integrator for IMS - http://www.iona.com us/his_2004main/htm/his_planning_for_transaction_integrator • iWay Adapter for IMS/TM _node_gphi.asp http://www.egeneration.com/iwaydocs/iway55/5.5.001/iw55_ims.pdf • NetManage OnWeb Connectors • Sybase XJS 390 Enterprise Integrator 3.8 http://www.ftp.com/products/pdf/datasheets/OnWeb_Connectors2_3- 05.pdf http://www.sybase.com/detail?id=1018620 • SeeBeyond e*Way Intelligent Adapter for IMS • webMethods 6 Mainframe Integration - http://www.webmethods.com http://goldstar.seebeyond.com/support/support/docs/4.5.4/e • BMC Energizer for IMS Connect - http://www.bmc.com/ Way_Intelligent_Adapters/IMS_eWay_Monk.pdf • IMS Connect Extensions - http://www.fundi.com.au/pr_ims_ce.html • Oracle Access Manager for IMS • Seagull LegaSuite for IMS http://www.wisc.edu/drmt/am4ims.html http://www.seagullsoftware.com/products/ims/runtime- http://www.oracle.com/technology/products/gateways/pdf/amims.pdf • IBM – IMS Connect architecture.html • MQ offerings - http://www-306.ibm.com/software/data/ims/connect/index.html http://www-306.ibm.com/software/integration/mqfamily/directory/ • IBM – MQ Bridge - http://www-306.ibm.com/software/integration/wmq/ bridges.html11 • BEA eLink Adapter for Mainframe TCP - BEA Systems • Attunity Connect – http://www.attunity.com/Products/AttunityConnect.Asp http://e-docs.bea.com/elink/mainfram/tcp/v32/pdf/tuxug.pdf • eWay™ Intelligent Adapters 5 - SeeBeyond • NEON Systems Shadow Interface™ for IMS/TM - Neon Systems Inc. http://www.seebeyond.com/software/eway.asp http://www.neonsys.com • GT Software - Ivory Data Access • IMS Server Adapter OTMA Plug-IN – IONA (uses OTMA C/I) http://www.gtsoftware.com/content.asp?page=IMS%20or%20DL/1% http://www.iona.com/support/docs/orbix/mainframe/6.0/ims_admin/ 20Data%20 OTMAConfig2.html#302847 • AccessIMS Adapter for Sonic ESB - Sonic Software • Informatica PowerExchange for IMS http://www.sonicsoftware.com/products/docs/adapter_esb_ims.pdf http://www.informatica.com/products/powerexchange/supported_platforms/ ims/infa_px_ims_120204.pdf … and many more

17

This visual is not intended to provide every single vendor or solution that addresses the IMS environment. It is intended to show how many solutions have evolved over the past few years. This is positive proof that IMS continues to be viable.

17 IBM Advanced Technical Support Direct IBMConnection Advanced Technical Support Model - 3270 emulation

• Continuing value and benefits • Straightforward and simple • Traditional IMS communication model • Leverages standard TCP/IP Telnet (TN3270) capabilities • IBM’s Host Access Transformation Server (HATS) • Out of the box - transforms 3270 data streams to HTML • Provides customization and access to multiple hosts • Access provided as Java Applets or as Host Servlets • Supports the creation of Web Services

RAD

TCP/IP Telnet VTAM

IMS

18

The first set of solutions to be discussed over the next several visuals answer the requirement for a direct connection application model.

3270 emulation solutions are straightforward and simple. IMS continues to communicate using traditional LU2 protocols to an established endpoint, a Telnet server. Telnet supports the encapsulation of the 3270 data stream to the requesting remote application. An example of a product that implements this technology is IBM’s Host Access Transformation Server (HATS). HATS, however, not only supports emulation, it also provides mechanisms to work with the data through a set of wizards and editors that create J2EE applications and web services. HATS also provides scripts and associated macros that can assist in navigating through a set of host terminal screens. Each screen in a macro includes a description of the screen, actions to perform for the screen, and a specification for the screen or screens that are presented after the actions are performed. HATS, allows the traditional 3270 applications to be easily modernized into newer technology mechanisms.

18 IBM Advanced Technical Support 3270 IBMEmulation Advanced Technical Support Solutions - Leveraging Applications

3270 emulation solutions continue to invoke MFS Logical

"MID" image 42

LLzzTrancode field X field Y field Z

31 Message

MFS field X FieldY MFS

3 DIF MID Add field Z 2 I Processing M TCP/IP 7 0 S Telnet DOF MOD Add field X

field X field 1 field2 Program

LLzz field 1 field 2 ... 42

"MOD" image 13

19

As shown on this visual, it is not uncommon for MFS, which is invoked for 3270 interfaces, to provide additional data on inbound and/or outbound messages. From an IMS perspective, the use of 3270 emulation solutions, therefore, allows MFS to continue to be invoked on behalf of the applications in IMS. For IMS applications, the environment is “business as usual.”

19 IBM Advanced Technical Support ArchitectureIBM Advanced Technical Foundation Support - IMS Connect

• Provides an IMS socket server capability • 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 • IMS SOAP Gateway • MFS SOA Support

IMSB Web Server program Cobol COMTI Assembler Visual Basic TCP/IP C/C++ IMS Connect IMSA PowerBuilder ... Java Java Applet

BROWSER Web VTAM Websphere Server

20

Another direct connection application model solution, and one that has become very popular in IMS environments, is IMS Connect. This is an IMS-provided function that runs in its own address space, provides the TCP/IP socket server capability for one or more IMS systems, and provides the architecture foundation that facilitates the exposure of the IMS environment to the web. Through IMS Connect, IMS resources are easily incorporated into the distributed environment maintaining the qualities of service that are key to the mainframe environment. IMS Connect answers the requirement for interactive or direct access processing.

20 IBM Advanced Technical Support IBM Advanced Technical Support IMS Connect …

Establish environment and CLIENT create socket S Socket() IMS Connect IMS with Socket() Establish environment and Bind socket S to a local OTMA address (Port) Bind() create Socket S Receive the Alert TCP/IP of the ability to Listen() OTMA message Connect() Connect socket S to accept connection requests IMS Host (Port) - Receive msg .... Accept connection and Accept() from TCP/IP process receive second Socket NS -Prepare and ... send msg to IMS Send the OTMA Write() Data exchange on Data exchange on Read() in OTMA format output reply Read() Socket S Socket NS -Receive msg - process data ….. Write() from IMS Close() Close Socket S and Close Socket NS -Prepare msg in terminate client format Close Socket S and terminate

clients use SOCKETS API: User Exits: HWSIMSO0, - Input message: HWSSMPL0, HWSJAVA0, ... yFormatted message header to Optionally perform: communicate with IMS Connect - Translation ASCII / EBCDIC yClient message (can include -Conversion between client msg OTMA headers) format and OTMA msg format - Output message can consist of - Prepare output message one or more predefined structures format

21

IMS Connect sits between the remote applications that run in a TCP/IP network and IMS. IMS Connect provides the TCP/IP application interaction on behalf of IMS and therefore shields the remote application from having to deal with IMS specific issues and basically acts as the interpreter to facilitate the communication on both ends. Through IMS Connect, remote programs can access existing IMS transactions with minimal to no change on the IMS side.

The remote program is coded or generated with the use of the TCP/IP sockets API. Because IMS Connect defines and documents its application level protocol, these programs can easily determine how to define messages to send to IMS and what to expect for output replies.

On the IMS side, the IMS application programs continue to issue DLI GU and ISRT calls.

21 IBM Advanced Technical Support IBM Advanced Technical Support IMS Connect …

• IMS Connect provides the IMS interface for TCP/IP solutions • IMS Integration Suite • Require IMS V9 + with enhancements in IMS 10 • General Availability • http://www-306.ibm.com/software/data/ims/toolkit/

• IMS TM Resource Adapter

• IMS SOAP Gateway existing IMS transactions can be integrated into • IMS MFS Web Support the service-oriented architecture by implementing a Web • Write your own clients service as a front-end access-point interface • Other Vendor solutions

22

IMS Connect provides a foundation for a variety of solutions. Web developers can write their own clients, purchase solutions, utilize toolkits that access IMS through IMS Connect, or take advantage of a set of IMS- provided enhancements that are known as the IMS Integration Suite. The following visuals will detail these enhancements.

22 IBM Advanced Technical Support IBM Advanced Technical Support IMS Integration Suite – IMS TM Resource Adapter

UDDI Registry Service Assists in the generation and execution of EJBs, Broker web services, etc., publish find WSDL WSDL Browser Browser RAD, WID, RDz, etc., SOAP SOAP bind, invoke Service Service Provider Requester Client Web SOAP Application Service

IMS Connect IMS

23

J2EE and JCA are products of the Java Community. J2EE is widely used because it defines the specifications of a reusable component model as well as transaction and security management while taking advantage of the platform independence approach of Java. The Java connection architecture (JCA) offers a standard interface between a J2EE application server and any EIS (Enterprise Information System, e.g., IMS). The common interface to “connect” to an EIS is through a resource adapter.

The IMS TM Resource Adapter is a J2EE Connector Architecture (J2C) resource adapter that supports IBM Java integrated development environments (IDEs) to create Java applications that can access IMS transactions. The IDEs import C, COBOL and PL/I source to generate the Java data bindings for the IMS transaction input/output message segments. The IMS TM Resource Adapter, therefore, facilitates the exposure of IMS transactions as web services.

23 IBM Advanced Technical Support IMS TMIBM Advanced Resource Technical Support Adapter …

• Supports the development of J2EE applications, Web services, and business processes that can interface with IMS Connect • Development component • Rational Application Developer (RAD), WID, WDz, RDz • Runtime component • Must be installed into an application server, e.g., WebSphere

PLI Java Applet C BROWS IMPORT IMS Installed J2C ER COBOL Connection SERVICE Export Applications Appl.EAR Factory DEPLOY IMS & TEST IMS RESOURCE RESOURCE IMS ADAPTER ADAPTER imsico.RAR WebSphere TCP/IP Unit Test Environment IMS (supplied with Connect IMS Connect) WebSphere Application Server RAD /WID/ WDz /RDz

Toolkits that generate web services, EJBs, JSP, etc. for IMS, CICS, DB2

24

This diagram shows the dual functions of the IMS TM Resource Adapter which are: (a) to provide IDE support, and (b) to provide runtime environment support to access IMS applications.

The following IDEs are supported the by IMS TM Resource Adapter: •Rational Application Developer (RAD) – note RAD is the base product for WID and WDz •Rational Software Architect •WebSphere Integration Developer (WID) •WebSphere Developer for zSeries (WDz) •Rational Developer for zSeries (WDz)

As a plug-in for a J2EE application server, the IMS TM Resource adapter uses standardized system contracts. Runtime support for the WebSphere Application Server includes both the distributed and System z platforms.

24 IBM Advanced Technical Support IMS IntegrationIBM Advanced Technical Support Suite - IMS Soap Gateway

• Uses SOAP messages to support end-to-end integration between IMS transactions and • Microsoft .Net & Java applications • Any third party applications Lightweight Does not need a • RYO applications J2EE server • Provides HTTP/SOAP transport and processing • SOAP envelope and headers handled by the gateway

.NET IMS application-specific Soap IMS S client IMS message vocabulary IM ge Gateway Connect ssa me Windows, AIX, zLinux - IMS 10 adds z/OS support SOAP vocabulary SOAP envelope

25

The IMS SOAP Gateway is a “lightweight” alternative to a full blown application server, e.g., WAS, environment. Note that “lightweight” does not mean “less robust”, rather it describes a solution that does not require adherence to all the specifications of a J2EE architecture. SOAP (simple object access protocol) defines a basic messaging framework for exchanging XML-based messages over a communication standard such as HTTP. The IMS solution can run in Windows, AIX, and zLinux and, beginning with IMS 10, in z/OS.

25 IBM Advanced Technical Support IBM Advanced Technical Support IMS SOAP Gateway

Z/OS

Runtime environment XML IMS Connect IMS SOAP Document IMS Gateway Java Adapter HTTP Client Gateway Task SOAP LLZZTRCDDATA connector Manager HTTP/SOAP endpoint .NET TCP/IP Client DATA> SOAP XML IMS processor Adapter App SOAP clients For COBOL /server/logs/imssoap.log UDDI COBOL Registry Converters

Publish Correlator Execution File COBOL Execution Generation Copybook Generation WSDL IMS SOAP Gateway WD/z Generate Deployment Tool Development Generate and Deploy Environment Development environment

26

The IMS SOAP Gateway is an XML-based connectivity Web service solution that integrates IMS applications into a Service-Oriented Architecture (SOA) environment. The gateway server functions as the HTTP endpoint for SOAP client applications as well as the interface to send the message on to IMS to drive the business logic of the COBOL applications and receive a response. Additionally, IMS applications can also make outbound requests to access Web services through the gateway.

Tooling in IBM Rational Developer for System z (RDz), assists in generating the required Web service artifacts such as the WSDL file and the correlator XML file. Additionally, RDz uses the target IMS application’s COBOL copybook to create an XML converter file that IMS Connect can use to translate the XML document to an IMS message structure and vice versa. Two limited usage licenses (without support) of Rational Developer for System z are provided for each license of IMS Version 10 for customers who also use the IMS SOAP Gateway for creating or accessing Web services.

Runtime environments for the IMS SOAP Gateway include XP, Windows 2000, AIX, zLinux and z/OS (IMS 10 only).

26 IBM Advanced Technical Support IMS IntegrationIBM Advanced Technical Support Suite - IMS MFS Web Support

• Support for the modernization of MFS-based IMS transactions

• MFS Web Enablement • Extends the use of MFS by rendering displays on new devices, .e.g., web browsers, without modifying existing applications

• MFS Web SOA Support • Provides the ability to transform IMS MFS-based transactions to Web Services through tooling

27

Two solutions are available to support the modernization of MFS-based transactions: • IMS MFS Web enablement which replaces the MFS online processor and allows seamless navigation of MFS-based Web pages that have the traditional look and feel of MFS screens. • IMS MFS SOA Support which assists in exposing MFS-based IMS transactions as Web services.

27 IBM Advanced Technical Support IBM Advanced Technical Support MFS Web Enablement

MFS CAM MFS model source

MFS Utility WebSphere Application Server V 5.1 / V6

MFS WEB MFS Web Enablement Adapter Enablement IMS Development servlets Resource Input adapter Deployment WAR Record descriptor Byte DEV MSG stream Output Record loads Stylesheet • Provides the look and feel of HTTP llzzIVTNO an MFS-based screen request / DISPLAY LAST1 response (3270) XMI Repository IMS v9

• Facilitates migration to IMS MPP/IFP/BMP/JMP Transactional new technology without Connect Application immediately retraining Program end-users z/OS

28

MFS Web Enablement is a solution for environments that need to change the underlying network architecture to be web-based without changing the look and feel of the end-. The capability is valuable as a mechanism to migrate to newer network technology without requiring immediate re-education of the end-user population. MFS Web Enablement was initially introduced in IMS Version 9 and supports the generation of the necessary components that can be packaged into an application server.

A windows-based MFS XML utility, a stand alone utility, acts on MFS source to generate metadata. The runtime support, running on WebSphere Application Server, provides a servlet to dynamically render MFS- based Web pages on browsers using cascading stylesheets, and an adapter that communicates with host IMS applications via the J2EE-compliant IMS TM resource adapter. Sample stylesheets are provided and can be customized to fit an enterprise’s business needs.

28 IBM Advanced Technical Support IBM Advanced Technical Support MFS SOA Support

• A capability that takes advantage of MFS source to generate web services

MFS Input Message Input Bytes Client Web application IMS MFS BrowsB2B SOA Support er MFS Output Output Bytes Message

IMS

J2C Enterprise Metadata Discovery Framework

MFS MFS Source MFS source XML sourcefiles XML Input/Output files schema Input/Output schema databindings (XSD) databindings (XSD) deploy

J2C Java J2C Java EAR Bean Bean JSP zOS WSDL WAS V6.1 MFS EJB Reverse Utility Tool MFS SOA EMD Wizard (optional)

29

The MFS SOA Support allows the invocation of existing MFS-based IMS business logic as Web services in WebSphere. The tooling component, is plug-in to the Rational Application Developer (RAD). The user interface guides application developers through the selection of the MFS MID/MOD and populates the service definition, including the XML schema for input/output types, and a J2C Java Bean. The service definition contains all the information required for generating the data binding files needed for runtime data transformation. It is also used to generate the JSP and WSDL files. When complete, the MFS service definition files and MFS data binding files are packaged in an EAR file for deployment in WAS V6.1 or later environments.

29 IBM Advanced Technical Support ArchitectureIBM Advanced Technical Foundation Support - Messaging and Queuing

• WebSphere MQ (MQSeries) • Supports the use of MQ API • Remote program is not sensitive to the network type • 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

Remote Application MQ Bridge OTMA IMS MQ IMS Adapter MQ calls ... – uses the IMS ESS interface MQ calls - Supports the use of explicit MQ GU, IOPCB XCF calls ... calls in the IMS application ISRT, IOPCB MQ calls Local Q Transmission Q MQ IMS Bridge – uses the OTMA interface MQ MQ on z/OS - Takes advantage of the DL/I call NETWORK NETWORK interface in the IMS application (VTAM LU 6.2 or TCP/IP) (VTAM LU 6.2 or TCP/IP)

30

WebSphere MQ (MQ) is architected middleware that assures delivery of messages between applications and provides a standard application programming interface (API) for applications written for any environment regardless of underlying network type, e.g., TCP/IP, SNA/VTAM, etc. Applications choose to use WebSphere MQ to answer the requirement for message delivery either immediately, if the connection is available, or whenever the connection can be established.

WebSphere MQ supports two functional configurations for IMS, the IMS Adapter and the IMS Bridge. The Adapter is the older capability and communicates with IMS using the External Subsystem interface. Using this interface, IMS applications can use the MQ API to deal explicitly with the MQ queues. The Bridge which is the newer capability takes advantage of the IMS OTMA interface and allows MQ to communicate with IMS and the IMS message queues so that the IMS applications can continue to use the DL/I interface without requiring modifications to support the MQ API

30 IBM Advanced Technical Support ComparingIBM Advanced TechnicalSolution Support Types – IMS Connect vs MQ

Direction Connection Natively synchronous (connection-oriented), supports asynchronous (connectionless) Direct correlation between input and output Potential issues with program-to-program switches when spawning multiple transactions Easily supports IMS conversational transactions (relatively transparent) Designing for failure: If connection can not be made, try later Decide what to do when the connection breaks - understand IMS actions

Messaging and Queuing Natively asynchronous (connectionless), simulates synchronous (connection-oriented) Need to consider how to correlate output to input Easily supports program-to-program switches even when spawning multiple transactions Requires keeping track of the conversation id to continue an IMS conversation Designing for failure: No knowledge of whether entire connection path is available Handle Late reply messages and the dead letter queue

http://w3-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100638

31

Although both IMS Connect and MQ can be used to answer either type of application model requirement, synchronous communication requests are native to IMS Connect and asynchronous requests are native to WebSphere MQ. Each solution is geared to answer the needs of one or the other of the application models. A review of the characteristics, considerations, and environmental factors associated with each product, in light of the target application’s requirements, can help in determining the “best fit” solution. A white paper, accessible through the link shown at the bottom of the visual, discusses the use of one versus the other.

31 IBM Advanced Technical Support IBM Advanced Technical Support For all OTMA-based Solutions

Consider whether or not the remote application or exit routines need to provide the additional information that MFS would have provided

OTMA, MQ, or IMS Connect headers LLzzTrancode field X field Y field Z

GU, IOPCB "MID" image Message

MFS Remote field X FieldY MFS

3 DIF MID 2 Add field Z I Program Processing 7 M 0 S DOF MOD Add field X

field X field 1 Field2

Program ... "MOD" image

ISRT, IOPCB

OTMA, MQ, or IMS Connect headers LLzz (field X ?) field 1 field 2

Allows existing IMS programs to be invoked by the OTMA client - Possible additional logic on the remote program to deal with some applications Supports new IMS programs that can be coded to existing DLI interface

32

One thing to remember and a primary consideration for all application interactions that are built on top of OTMA-based solutions is that MFS is not invoked.

If the IMS application expects data to be in the input message, data that would have been added by MFS in 3270 based scenarios, then the remote application is expected to include that data as part of the input message. Alternatively, an exit routine, e.g., the OTMA Input/Output Exit Routine (DFSYIOE0), can be created to provide this additional information.

Likewise, any data that would have been added by MFS on the outbound side will no longer be added to the message. The remote program has the option to request that the mod name that IMS would have used be passed back, in which case the remote program can determine what to do with the output message. As with the input side, exit routines such as DFSYIOE0 can also be used to add data to the message.

32 IBM Advanced Technical Support IBM Advanced Technical Support

Direct Access to Data Solutions Database DLI access Model Developers Utility IMS WebSphere Java /J2EE IMS DB Resource Developer Transaction Database ODBA /DRA Adapter manager manager Java SQL class IMS DL/I Library XQuery CICS APP DL/I Developer Java DB2 class Database SP/CICS Java Library class Java Library class Library DB2 DLI DLI Developer Model Model Utility Utility

33

Just as IMS provides solutions to access transactions, a variety of solutions are also available to access data.

33 IBM Advanced Technical Support IBM Advanced Technical Support Access to Data

• Direct Connection (database) • Characteristics • Access to data without invoking an IMS transaction • IMS Integration Suite - DB interfaces • IMS DB Resource Adapter • IMS Java with JDBC support and the IMS DLIModel utility • IMS XML DB

EJB Stored Proc IMS DB Resource Adapter IMS DB Resource Adapter Java Virtual Machine Java Virtual Machine

JCICS ODBA JMP JBP DRA IMS DB Resource Adapter IMS DB Resource Adapter IMS DB Java Virtual Machine Java Virtual Machine

34

The standardization for IMS database access from external clients is based on the IMS Open Database Access (ODBA) capability that was first introduced in IMS V6.

The solutions that are part of the IMS base product leverage both ODBA and the IMS Java support: •The IMS DB Resource Adapter which is ultimately based on ODBA is a combination of the IMS Java JDBC support along with the IMS DLIModel utility. •IMS XML DB is the capability to take advantage of IMS databases to store XML documents. IMS XML Database, introduced in IMS Version 9, allows users to easily exchange existing or new data between IMS databases and XML documents. XML documents can be easily stored and retrieved, using the IMS Java application support, as either decomposed or intact.

34 IBM Advanced Technical Support IBM Advanced Technical Support IMS Solutions

• JDBC access to IMS DB with the IMS DB Resource Adapter • Subset of SQL syntax - limited to what IMS DBMS can do natively • WebSphere z/OS and IMS Java support

WAS for z/OS IMS DB IMSIMS HTTP IMS DB EJBEJB ResourceResource DBDB adapter Server (JDBC(JDBC calls) calls) adapter (ODBA)(ODBA) z/OS • Support with IMS V9 – IMS Java Remote Data Services

WAS Distributed WAS for z/OS Distributed EJB ClientClient side side Distributed EJB IMS DB IMS DB IMS DB (CM) IMS DB IMS DB EJB IMS DB (CM) Resource EJB Resource Resource (ODBA)(ODBA) Resource adapter applicationapplication adapter adapter adapter EJBEJB (BM)(BM) z/OS

CM: container managed (supports global transaction semantics) BM: bean managed (supports local transaction semantics)

35

The IMS Java Remote Data Services (RDS) support provides architected components on both the client and server side that allow an Enterprise Java Bean (EJB) application deployed on a Distributed WebSphere (WAS V5.0 or later) server to issue JDBC calls for IMS data. These requests are sent (transparently to the application) across the network and processed in IMS.

On the client-side of the connection, IMS Java RDS provides an IMS distributed DB resource adapter. This component contains a type 3 JDBC driver which interprets the JDBC request to access and manipulate the IMS data. For the server-side (IMS side) of the connection, a server enterprise java bean (EJB) is delivered as part of the IMS Java RDS support. This EJB must reside on a WAS for z (V5.0 or later) environment because it uses the IMS DB resource adapter. The reason for the WAS z/OS requirement is that this environment provides a mechanism to invoke a custom service when the J2EE server is brought up and down. When the server is brought up, the IMS adapter initializes the ODBA environment and correspondingly terminates it when the server is brought down. As such, once the server is brought up, every application running in the server can use an already initialized ODBA environment.

In support of the J2EE transaction specification, IMS RDS supports both container-managed and bean- managed beans. When the server EJB runs as a container-managed EJB, it supports a client EJB application that has requested global transaction semantics. This means that the client application operates under one transaction context, or unit of work for all its database activity. In this case the distributed J2EE application server has the responsibility for being the coordinator of the global transaction. On the other hand, when the server EJB runs a a bean-managed EJB, it supports a client EJB application that is using local transaction semantics. Each database connection operates under its own transaction context. When a commit is issued against work done on one connection (database), this does not affect work on another connection. In this scenario, WAS for z/OS becomes the coordinator of the transaction. This is because ODBA requires a transaction context to be present. What really happens is that the BM EJB starts a global transaction context on the server side to communicate with IMS while maintaining the local transaction aspect with respect to the client application's connection.

35 IBM Advanced Technical Support IBM Advanced Technical Support XML Database - IMS V9

• Storage and retrieval of XML documents in IMS databases • Composition of XML documents from existing IMS DBs • Creation of IMS segments from XML documents (decomposition) • Intact storage of XML documents (without decomposition)

IMS Java IMS DB XML Document Application XML Schema

WAS Distributed WAS for z/OS Distributed EJB ClientClient side side Distributed EJB IMS DB IMS DB IMS DB (CM) IMS DB IMS DB EJB IMS DB (CM) Resource EJB Resource Resource (ODBA)(ODBA) Resource adapter applicationapplication adapter adapter adapter EJBEJB (BM)(BM) z/OS

Java application that stores/retrieves XML documents can run in a distributed environment

36

IMS databases provide the perfect datastore for XML documents. Both architectures are hierarchical. With IMS V9, support for XML documents include the ability to store and retrieve the documents either intact (tags and all) or decomposed into IMS segment information. When it is decomposed, the XML tags are deleted making the data look like any other data in an IMS database. When it is stored intact, the XML tags are kept. The data is in an XML format. IMS Java calls to access the data can be issued from within IMS Java applications or from Java programs outside IMS. The JDBC support for external environments is supplied by the IMS DB Resource Adapter.

36 IBM Advanced Technical Support InformationIBM Advanced Technical Integration Support

• WebSphere Classic Federation Server for z/OS • Integrates access to a variety of resources • ODBC, JDBC access to IMS data • Read and update access to IMS DB using JDBC and ODBC • Access to IMS transactions

AIX, HP-UX, Portal ASP BI Tool Servlet Servlet Client Solaris, Class Linux, Wintel ODBC client EJB JDBC Client

Metadata WebSphere Classic Catalog Federation Server for z/OS

DB2 UDB VSAMIMS Software AG CA CA for z/OS Adabas Datacom IDMS •http://www-306.ibm.com/software/data/integration/classic_federation_server_z/

37

WebSphere Classic Federation Server for z/OS provides a federated read and write access to data stored in a wide variety of databases including VSAM, IMS, CA-IDMS, CA-Datacom, Software AG Adabas, and DB2 UDB for z/OS. JDBC and ODBC SQL statements running in a remote client environments are dynamically translated and sent into the z/OS environment using the native read/write APIs of the target servers.

Classic Federation is driven by metadata that contains a mapping of physical databases and files to logical relational tables, mainframe data appears to be one relational database. The metadata is generated by tooling that is part of the product. Alternatively, Classic Federation Server version 9.1 provides Classic Data Architect which is a new Eclipse-based GUI tool for interactive and dynamic metadata management.

WebSphere Classic Federation Server for z/OS can also extend IBM WebSphere Federation Server V9.1 access to non-relational mainframe data sources. WebSphere Federation Server lets applications access diverse and distributed data -- including multi-vendor mainframe and distributed, structured and unstructured, public and private -- as if it were a single database.

37 IBM Advanced Technical Support IBM Advanced Technical Support Information Integration… • WebSphere Classic Data Event Publisher

Function Usage • Capture data events in real time • Application to application • Publish these data events: messaging • to a message queue for widespread delivery • Event streaming • Change-only data distribution • in XML format for widespread use ETL or other data propagation Tool Log-based DB2 UDB WebSphere Target DBs capture Business Integration IMS WebSphere Capture MQ WebSphere MQ User Application VSAM Integrator Broker

CA-IDMS JMS-aware Application Adabas http://www-306.ibm.com/software/data/integration/classic_data_event_publisher_z/

38

WebSphere Classic Data Event Publisher allows database events to initiate business processes and makes changes to applications without impacting data-event-driven integration. It makes it possible for any application or service that integrates either with WebSphere MQ directly or that supports Java Message Service to receive data changes asynchronously as they occur. More specifically, the publisher captures database changes to IMS, VSAM, CA-IDMS or Software AG Adabas during active log or journal processing or by reading source-specific recovery logs providing reliability and recoverability empowering near real-time delivery.

38 IBM Advanced Technical Support IBM Advanced Technical Support

Outbound Access Positioning IMS applications as service consumers

39

In addition to accessing IMS resources from remote environments, the IMS environment is also beginning to see a larger requirement for the IMS applications themselves being clients to web services. This next section discusses the available capabilities.

39 IBM Advanced Technical Support AccessingIBM Advanced Other Technical Support Environments - Consuming web services

• IMS applications can “explicitly” code communication API calls • TCP/IP sockets support • Standard sockets api - C, Java • Extended sockets EZASOKET api - Cobol, PL/I, … • BPX1xxx CALL api - Assembler • APPC calls • MQ calls • SQL calls to DB2 stored procedures • IMS Java application capabilities • Java classes - HTTP, etc.? • Enterprise Cobol For z/OS V3.2 or later - Interoperability with IMS Java • IMS 10 Integration Suite asynchronous capabilities

40

IMS applications have always been able to explicitly code communication API calls. •Socket calls are native to the C and Java programming languages. With the z/OS Communications Server, the TCP/IP function also provides an explicit socket call interface for other programming languages. More information is available at (http://publib.boulder.ibm.com/infocenter/zos/v1r9/index.jsp?topic=/com.ibm.zos.r9.hale001/ipv6d005104912 4.htm) or (http://publibfi.boulder.ibm.com/cgi- bin/bookmgr/search?book=f1a1d460&SHELF=f1a1bk90&DT=20070602141354) •IMS introduced support for APPC in IMS Version 4. IMS applications can explicitly issue APPC calls either using the CPIC or MVS ATBxxx call interface •The MQ support allows IMS applications to use the MQAPI to get messages from and put messages to MQ, with integrity, using the IMS External SubSystem (ESS) interface. •IMS applications have also been able to issue calls to DB2 stored procedures by issuing SQL CALL statements. IMS applications issue the call and wait for a reply.

IMS Java applications run in IMS dependent regions that include a java virtual machine. IMS does not impose any restrictions on the java classes that can be run in this environment.

Additionally, IMS Version 10 introduces asynchronous callout facilities.

40 IBM Advanced Technical Support IBM Advanced Technical Support Consuming Web Services…

• WebSphere MQ/MB/ESB • MQ API calls in IMS applications can participate in solutions provided by WebSphere Message Broker and the ESB (enterprise service bus) • Transforms messages formats between MQ applications and web services

IMS/ COBOl pgm WebSphere MQ WebSphere WebSphere Message Broker V6x Application Server MQPUT MQ MSG XML Web service Transformation MQGET engine

WebSphere Message Broker Transformation, Routing and Data Integration WebSphere Event Broker - Provides an ESB solution - Powerful engine for message/data transformation WebSphere MQ (including and integration JMS) - XSLT engine for XML transformation - Web services (HTTP/SOAP) protocol support

41

Some environments have taken advantage of existing capabilities to callout outbound from IMS applications. One such solution uses WebSphere MQ and the WebSphere Message Broker. WebSphere Message Broker is one of IBM’s enterprise service bus (ESB) solutions and allows disparate environments and APIs, e.g., MQ API and HTTP, to intercommunicate through a powerful message transformation and integration capability.

This visual shows how an IMS application can issue an MQPUT/MQGET sequence of calls to interact with the WebSphere Message Broker and request transformation between an MQ Cobol structure and an HTTP request.

41 IBM Advanced Technical Support IBM Advanced Technical Support Consuming Web Services…

• Considerations • MQ - correlation ids, indexes, … • MB - mapping, nodes, … • IMS - dependent region occupancy, locks, …

IMS application REQUEST Message id 111 MQPUT Correlation id null no-syncpoint Message payload A correlation id will need to be preserved and passed back MQGET REPLY Message id 197 Correlation id 111 Message payload Index based on Correlation id • References • SG24-7163 Enabling SOA Using WebSphere Messaging • SG24-7137 WebSphere Message Broker Basics http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg24009880 &loc= en_US&cs=utf-8&lang=en

42

Note that for the IMS program to put a message on the MQ queue and synchronously wait for a reply, the MQPUT must by issued with a no-syncpoint, much like an IMS express alternate TP PCB. Additionally, the use of a correlation id is required in order to successfully retrieve the correct message. For performance purposes, an index based on the correlation id should be used to minimize the cpu cycles required to find the correct message. Note that whenever a synchronous call is issued out of an IMS program the dependent region is held occupied as are any database locks if a database has been accessed.

42 IBM Advanced Technical Support IBM Advanced Technical Support Consuming Web Services… • “SQL CALL” to DB2 stored procedures • IMS application program must include logic to • Set the host variables prior to executing the CALL • Handle any error conditions returned by the stored procedure IMS application DB2 WebSphere 01 aaa PIC X(30). Application Server 01 bbb… …. Stored EXEC SQL: procedure Web service CALL MYPROC ( :aaa , : bbb ) END_EXEC. UDFs - user defined functions • References • http://www.redbooks.ibm.com/redpieces/abstracts/sg247604.html?Open • SG24-7083 DB2 for z/OS Stored Procedures: Through the CALL and Beyond • Chapter 24.4 - Accessing DB2 stored procedures from IMS • SG24-7064 WebSphere for z/OS V6 Connectivity Handbook • Chapter 13.2 - Calling a web service from DB2 • http://publib.boulder.ibm.com/infocenter/radhelp/v7r0m0/index.jsp?topic=/com.ibm.eto ols.webservice.udf.doc/topics/twsu-prereq_zos.html

43

IMS applications can also issue calls to DB2 stored procedures which in turn can take advantage of DB2 user- defined functions (UDFs) to invoke web services. When calling a DB2 stored procedure, the IMS application program must include logic to set the host variables prior to executing the CALL, and must include logic to handle any error conditions returned by the stored procedure.

Information on how IMS can access a stored procedure and how the stored procedure can call a web service is available in the references that are documented on the visual.

43 IBM Advanced Technical Support IBM Advanced Technical Support Consuming Web Services…

• IMS Java application capabilities • Natively, IMS Java does not contain the runtime for calling a Web service, calling EJBs or sending e-mails • Necessary runtime jar files and libraries from WAS z/OS can be used (even if WAS z/OS is not enabled) IMS JMP WebSphere Application Server Java program Web service

RAD toolkit • References • SC18-7821 IMS Java Guide and Reference • SG24-7064 WebSphere for z/OS V6 Connectivity Handbook • Chapter 14 - Connecting to WebSphere from IMS using SOAP

44

Although, IMS does not provide specific java classes to call a web service, an IMS java application can take advantage of java classes provided by other components that can do so. WAS z/OS has the necessary runtime jar files and libraries for calling a service. An example of how this can be accomplished is provided in a redbook.

44 IBM Advanced Technical Support IBM Advanced Technical Support Consuming Web Services …

• IMS Version 10 Asynchronous Callout with a J2EE server Initiating Client IMS WebSphere Application Server 0. Start IMS App1 IMS App1 RESUME TPIPE 1.ResumeTPIPE(TP1) 2. ISRT 1. ReceiveAsync(TP1) Single Wait ALTPCB(I

Alt ClientID= TP1 IMS Connect 3.Send C4JEJB) EJB “Single wait ” 4.receive MSG1 MSG1 TP1 6. MSG1 5.sendACK Web MSG1 Service OR MSG2

7. send New Msg IMS App2 MDB IMS TM Resource Adapter DFSYDTx (new definition) WIN, AIX, SOLARIS, LINUX, etc. IC4JEJB TYPE = IMSCON Commit then Send (CM0) TMEMBER=SM01 TPIPE=TP1 Sync-Level=CONFIRM SMEM=Y Execution timeout

45

IMS Version 10 introduces the ability to send messages from an IMS application program, using the DL/I ISRT call, to send a message to a remote EJB or MDB. This initial implementation is asynchronous in that a message can be sent out from the IMS application without waiting for a reply. If a reply is received by IMS, the message must be processed by another instance of the transaction or another transaction. To support this environment, IMS Version 10 also provides a new type of OTMA descriptor that can define the IMS Connect environment that is to process the output message and equate the information to the destination name used in the ISRT call. Additionally, the IMS TM Resource Adapter has been enhanced to support the IMS Connect "Resume tpipe with alternate clientid“ protocol to wait for a message to retrieve. An enterprise java bean (EJB) or message- driven bean (MDB) running inside the application server can use standard JCA 1.5 interfaces to listen to callout request from IMS applications through the IMS TM Resource Adapter.

45 IBM Advanced Technical Support IBM Advanced Technical Support Consuming Web Services…

• IMS Version 10 Asynchronous Callout with DFSYDTx XML and the IMS SOAP Gateway IMSSOAP1 TYPE = IMSCON TMEMBER=SM01 Initiating TPIPE=TP3 SMEM=Y Client Win, AIX, Solaris, Linux, etc.. ADAPTER = HWSXMLA0 IMS CONVERTR=SOAPIT 2 Connect IMS SOAP Gateway Server 1 IMS App1 RESUME TPIPE TP3 TP3 5 “Single wait ” 3 : 4 XML Msg1 RECEIVE InXMLMsg1 Msg2 ISRT ALTPCB Adapter IMSSOAP1 Web Service 5.sendACK IMS SYNCPT Starts.. 6 SOAPIT 7 IMS App2 SEND OutXMLMsg XML Converter

46

When communicating with the IMS SOAP Gateway, the IMS Version 10 asynchronous callout support can optionally request that the IMS message be translated into XML through the IMS Connect facilities. Specification of the converter files and adapter that IMS Connect is to use is also specifiable in the new OTMA descriptor.

46 IBM Advanced Technical Support IBM Advanced Technical Support Consuming Web Services …

• Synchronous support • Requirement is well understood

47

The previous two visuals described the asynchronous callout capability that IMS Version 10 provides to allow IMS application programs to function as service consumers. The requirement for synchronous callous support, that is the ability for an IMS application to wait for the reply in the same unit of work is a requirement that is well understood.

47 IBM Advanced Technical Support IBM Advanced Technical Support

AND continuing on with emerging technologies…

48

… and technology continues to evolve…

48 IBM Advanced Technical Support IBM Advanced Technical Support WEB 2.0 - ???

• A second-generation of web communities and hosted services • Transition from websites containing isolated information to interlinked environments • The idea is that the web itself is a • Leverages two main approaches to web APIs:

REST (Representational State Transfer) • Uses HTTP alone to interact, with XML or JSON (java script object notation) payloads SOAP • Involves POSTing more elaborate XML messages and requests to a server that may contain quite complex, but pre-defined, instructions for the server to follow

49

Web 2.0 is a trend in web technology and design. The term is used to reference a “second generation of web- based communities and hosted services” as well as the changes in the ways programmers and end-users use webs rather than an update to any technical specifications. A key concept in Web 2.0 is that of a mashup which, in technology terms, is a web application that combines data from more than one source into a single integrated view. The primary idea behind Web 2.0 is ease of use and reuse.

The two main WEB APIs that are part of this effort are: • REST (Representational State Transfer) Web APIs that use HTTP alone to interact, with XML or JSON (JAVA script object notation • SOAP involves POSTing more elaborate XML messages and requests to a server that may contain quite complex, but pre-defined, instructions for the server to follow.

49 IBM Advanced Technical Support IBM Advanced Technical Support REST

• Representational State Transfer • Emerging style for interacting with web services • Value is its simplicity – builds on what we have today • Verbs are a subset of the verbs in the HTTP protocol GET http://myserver/myphotos/myfamily.img PUT http://myserver/myphotos/birthday.img DELETE http://myserver/myphotos/oldstuff.img POST http://myserver/myblog

REST DB access Cut and Paste POST CREATE (Insert) PASTE AFTER Comparisons GET READ (Get) COPY PUT UPDATE (Replace) PASTE OVER DELETE DELETE (Delete CUT

50

REST is an emerging style for interacting with web services. Its increasing popularity is based on its simplicity. RESTful web services have a natural mapping between the HTTP methods and many CRUD-like (create, read, update, delete) business operations. Though there are no defined rules, the following are general guidelines:

•GET - retrieves data or perform a query on a resource. The data returned from the web service is a representation of the requested resource.

•POST - creates a new resource. The web service may respond with data or status indicating success or failure.

•PUT - updates existing resources or data.

•DELETE - removes a resource or data.

50 IBM Advanced Technical Support IBM Advanced Technical Support The Goal --- > Mashups

Comes from music terminology:

music that contains songs already released by other artists

For the web: An application that combines data or content from more than one source into a single integrated view Can include private interfaces or content from outsourced third parties

51

A key concept that is promoted by Web 2.0 is the idea of a mashup. A mashup merges content from different sources, client- and server-side, into a single integrated view.

The content used in a mashup can be sourced from a third party via a public interface or API (web services).

Another method of source content for mashups is a (e.g., RSS or ) which is data format for frequently updated content and allows applications to check for updates as they are published on a web site. “RSS (really simple syndication)” is a web feed format that is used to publish content such as entries, news headlines or . RSS makes it possible to keep up with web sites in an automated manner that can be piped into special programs or filtered displays. “Atom” is a term that relates to a pair of standards: the Atom Syndication Format which is an XML language used for web feeds, and the Atom Publishing Protocol (short AtomPub or APP) which is a simple HTTP-based protocol for creating and updating web resources.

Many of the mashups that are available today also use Amazon, eBay, Flickr, Google, YouTube, etc., APIs thereby leading to the creation of a mashup editor.

51 IBM Advanced Technical Support IBM Advanced Technical Support MASHUP

• Three types • Consumer • Integrates data elements from multiple sources with a simplified front-end • e.g., Google Maps • Data and Enterprise • Mixes data of similar types from different sources with a graphical front-end • E.g., Manufacturer’s product description with additional map on closest retailers to a zip code • Business • combination of all the above, focusing on both data aggregation and presentation, and additionally adding collaborative functionality • E.g., telecommunications service where service elements come from more than one source such as the base service from company A, a ringback tone from company B, a voicemail service from company C, etc.

52

There are three basic categories of mashups as described on this visual.

52 IBM Advanced Technical Support IBM Advanced Technical Support How do you do it with IMS?

• Product preview on Alphaworks – IMS Info 2.0

• Plug-in to the IBM Mashup Starter Kit • http:/www.alphaworks.ibm.com/tech/ibmmsk

• Mashup Hub – a mashup server • Transforms access to resources, including IMS transactions and data, into feeds and REST services

• QEDWiki – provides the user interface • Includes a mashup maker with many built in widgets – URL Viewer, XML Viewer, RSS Viewer, Google Map, etc. – Browser-based assembly • Integrates a variety of web services onto a web page

53

Info 2.0 is IBM’s Web 2.0 offering. The Mashup Hub transforms (enterprise) data sources into Representation State Transfer (RESTful) services or simplified web services and feeds and stores the information feeds in RSS, Atom or XML to enable reuse and collaboration. The Mashup Hub also supports operations (aggregate, sort, filter) for creating composite services. Info 2.0 also supports Lotus Mashups which is a visual editor for constructing Web mashups out of Web 2.0 enabled widgets, feeds, and services. These tools empower enterprise customers to unleash their enterprise assets as Web 2.0 services, and customize their own Web mashups from these services with very little technical knowledge.

IMS Info 2.0, as part of Mashup Hub, transforms IMS assets into Web 2.0 RESTful services. IMS Info 2.0 does not require the service developer to have any knowledge on how to create or modify IMS source code, or how to send and process SOAP messages for invoking a traditional web service application. With IMS Info 2.0, IMS customers can remix and mashup their data rapidly to extend their business logic without the need to write a single line of code.

Additionally, QEDWiki is a browser-based assembly canvas that can create simple mashups. QEDWiki is a unique Wiki framework in that it provides both Web users and developers with a single Web application framework for hosting and developing a broad range of Web 2.0 applications. Lotus Mashups, mentioned earlier, uses the QEDWiki technology.

53 IBM Advanced Technical Support IBM Advanced Technical Support Web 2.0 and IMS Info 2.0

IMS Info 2.0 Generation Some mashup scenarios for IMS include the ability to: and Runtime • Compose IMS services (data or content) into a composite service - Transform IMS assets into RESTful services • Compose “widgets” / HTML segments into a composite User Interface (UI) or an appl template • Bind services (data or function) to the composite UI

IMS Info 2.0 demo video on YouTube: http://www.youtube.com/watch?v=BWJGSC-RyXQ

54

IMS Info 2.0 is a plug-in to the IBM Mashup Hub Enterprise Edition that can be used to transform IMS assets, i.e. transaction and data, into RESTful services which can then be mashed up and consumed by the Web 2.0 community. An IMS RESTful service can be invoked through basic HTTP methods found on most common web clients such as an internet browser, a feed viewer, or a web mashup application. IMS Info 2.0 provides development tooling to enable the creation of an IMS RESTful service and also provides runtime support to send and receive data from IMS through IMS Connect.

54 IBM Advanced Technical Support IBM Advanced Technical Support The Message

• IMS continues to be a premier server with new architected interfaces and solutions

ƒ SOA is revolutionizing the way businesses are being designed and run. For it to make sense: ƒAll assets must be easily accessible in a standard way ƒAll data must be represented and manipulated in a standard way

ƒ Our goal is to leverage IMS as an integral part of the enterprise in the evolving business world through ƒ Addition of support for complimentary standards surrounding IMS connectivity, data representation, and application development

ƒ To allow you to realize the promises of building an SOA ƒSimplify the business environment ƒRespond to market changes more quickly and cheaply

55

In summary, the main message of this presentation is that the IMS continued evolution of architected interfaces and solutions allow it to maintain its position as a premier server in today’s integrated world.

55 IBM Advanced Technical Support J03 IBM Advanced Technical Support SOA Access To and From IMS

Suzie Wendler IBM [email protected]

56

56