Sunday, July 17, 2011

Mainframe Enablement for SOA: Part II

My previous blog, discussed the approach one could adopt if the organization’s portfolio comprises of CICS applications; now let us discuss the one of the simplest approach to expose IMS application as service.

IMS SOAP Gateway 


 IMS Enterprise Suite SOAP Gateway is a web services solution that enables IMS applications to interoperate outside of the IMS environment through the SOAP protocol.

The IMS application can be exposed as Web services, by first creating a Web Service Description Language (web service interface) for the IMS application followed by deploying the web service interface to IMS SOAP Gateway and defining the connection and correlation information by using the deployment utility. Once deployed, any client application (Java or Microsoft .NET based) can send a SOAP message to invoke the IMS application. SOAP Gateway is compliant with the industry standards for web services, including SOAP/HTTP 1.1 and Web Services Description Language (WSDL) 1.1

Tools like Rational Developer for System z can be used to generate the WSDL file that is needed to enable the IMS application to run as a Web service provider.  All that is required to generate the WSDL file is the COBOL copybook for the IMS application that describes the input and output message format.

Architecture

Note that SOAP Gateway supports various z/OS, other distributed platform like Linux for System, AIX and Windows. This approach requires the following software:  IMS and IMS Connect Version 10 or above and IMS SOAP Gateway.

Advantages of this approach

  • Simple and easy way to enable IMS application. 
  • Existing transactions can be retained with no change.

Even though this is an easy way to enable IMS transaction, this approach has many many drawbacks such as no support for MFS-based transactions and two-phase commit.  So exploring the options which make use of Enterprise Service Bus is suggested.  Will look at the ESB based enablement in a subsequent blog.

Thursday, July 14, 2011

Mainframe Enablement for SOA: Part I

Even today, mainframe computers play a pivotal role in the daily operations of many of the world’s largest industries, including banking, finance, health care and insurance companies. While many other forms of computing are also being used, mainframe occupies special place in e-business dominated world. 

All began in 1960s, when IBM introduced S/360 followed by S/370 and S/390 with Multiple Virtual Storage support (MVS) OS to the current z9 and z10 with z/OS (A 64-bit operating system). Mainframe computing remains relevant even today  due to its high reliability, availability, and serviceability (RAS), security, scalability, continuing compatibility, evolving architecture, extensibility, and  lower total cost of ownership (TCO) 

The advantages of mainframe computing are often overshadowed by the need for premium hardware and labor costs, costly software licensing and maintenance expenses. In the face of all these difficulties, some organizations wish to   migrate to open systems. But there are many problems.  Mainframe cannot be dropped or replaced easily because: they still run the business and contain critical business logic that is unique, difficult and costly to replicate.  Reusing existing application will always leverage previous IT investments.  Since these systems has not become useless but has only limited business agility and flexibility in the current scenario, effort should be made to modernize these systems to meet the additional business needs. 

There are many ways to enablement including exposing the data on z/OS as a service and exposing the programs on z/OS as a service. When we say, exposing data on z/OS, it includes the following, VSAM data, IMS data and DB2 data. And when we say, exposing programs on z/OS, it includes the following, CICS program, IMS programs and DB2 stored procedures.  

Below we will discuss an approach which can be adopted if the organization whose application portfolio comprises of well designed CICS applications and uses 3270 displays as the user interface to the CICS application.

CICS Transaction Gateway 

The CICS application can be exposed as Web services, implemented in WebSphere Application Server via CICS TG.  These Web services can be accessed directly from a Web service consumer using the Web Service protocols.

The CICS Transaction Gateway (CICS TG) is a set of client and server software components that allow an application based on Java to invoke services in a CICS region. CICS TG currently supports the following platforms: z/OS, OS/390, Linux for System, AIX, Sun Solaris and Windows.

Architecture


Note that both CICS TG and WebSphere Application Server can run on z/OS or other distributed platform.  This approach requires the following software:  CICS Transaction Server, CICS Transaction Gateway and WebSphere Application Server or a J2EE server supporting the CICS TG resource adapter.

Advantages of this approach
  • CICS TG is a mature connector supporting two-phase commit, advanced security and systems management.
  • No changes to the existing CICS programs are required.
  • Performance extremely good, especially when all three (WebSphere Application Server, CICS TG, and CICS) run on z/OS. 

One of the drawbacks of this approach is that, the connection between WebSphere Application Server and CICS is not totally coupled loosely, for this exploring alternatives which make use of Enterprise Service Bus is suggested.  We will look at the ESB based enablement in a subsequent blogs.