Legacy Applications and Web Services Models
Mainframes are still the most reliable and scalable platforms for handling large amounts of data and large numbers applications on the mainframe is a good technical decision. In addition, integrating your applications is almost always less expensive than rewriting them. Now, by enabling your legacy applications as Web services, you can deliver integration projects faster and cheaper because your legacy application groups and Internet groups use their existing knowledge to integrate the applications.
There are two basic models for integrating legacy applications as Web services. The differences between these models depend upon where the Web Services exist, how they operate under-the-covers, and the types of applications you want to integrate. In this article, we will refer to these models as Adapters and Gateways.
- Adapters run on the mainframe and can use interfaces that permit tight integration with the target application.
- Gateways run off the mainframe on middle-tier servers and often use traditional methods, such as screen scraping.
Types of Legacy Applications
The choice between using adapters or gateways often depends on the types of applications you need to integrate. Figure 4 shows a high-level taxonomy of mainframe applications.
CICS represents the broadest category of OS/390 applications. CICS transactions fall into two sub-categories: “visual” and “non-visual.” A “visual” transaction is one that expresses a presentation interface to an end user at a terminal. You could also refer to a “visual” transaction as a “terminal-oriented” transaction. In contrast, “non-visual” transactions do not interact with an end user. Instead, another program invokes these transactions. (This type of transaction is also referred to as “COMMAREA transaction” because the input/output parameters are passed to/from the transaction using an area of storage referred to as the “communication area,” or COMMAREA.)
In the case of visual transactions, CICS application developers have always had a number of choices as to how to design their transaction to interact with an end user at a terminal. The majority of applications uses a component of CICS called Basic Mapping Support (BMS). BMS essentially handles the presentation logic of the transaction and relieves the application developer from having to encode and decode 3270 terminal datastreams. The remaining groups of applications that do not use BMS either include code to process 3270 datastreams, or rely upon a non-IBM solution to handle presentation logic.
IBM has traditionally provided facilities that allow you to use gateways to access CICS. However, with the release of CICS Transaction Server, IBM began providing facilities that allow the use of adapters to access legacy applications, so you can choose between adapter and gateways models based on your needs. The recent availability of adapters that support the full range of CICS applications allows remote applications to directly invoke almost any CICS application as a Web service.