Mainframe applications built decades ago had no concept of online transactions triggered by a REST or SOAP API request. The focus was on a computerized workflow via an interactive dialog, with an end-user sitting at a dumb terminal that supported specific business processes (e.g., create a new customer account or pay an insurance claim). Design goals were to save storage, minimize CPU usage, and streamline network traffic, in order to reduce costs and maximize performance.
As online technologies such as IMS and CICS advanced, some of the processing logic was coded into screen macros to help reduce user entry errors and enable online programs to push multiple logical pages of data to terminals in one execution cycle. Complex data structures, such as COBOL REDEFINES and OCCURS DEPENDING ON enabled an input/output buffer to have multiple data layouts. Program call chains, message switching, and conversational programming provided reuse of code. When you expand program functionality to accept multiple types of input messages and generate multiple output messages and throw in third-party modules and CASE tool generated code, with ever-changing standards, your application code truly becomes a bowl of spaghetti!
How in the world is an API toolset going to handle all these inherent legacy application behaviors embedded with unstructured coding? Most cannot. Many mainframe integration tools simply put a REST wrapper around a fixed input message and execute a single online transaction that generates a fixed output message. Not many legacy applications follow structured design principles with ever-evolving industry standards.
To seamlessly interact with legacy systems, you need ‘smart’ API technology that is transparent to the backend application and drives the dialog with the system as designed. One should not modify legacy application code to make it work with an API layer, as this only introduces additional complex code to maintain.
Key characteristics of a smart mainframe API technology include:
- A process-focused workflow that incorporates more than one online transaction
- Access to multiple applications in a logical sequence
- Multiple integration options, such as direct program calls or screen dialogs
- Support for conversational transactions
- Ability within the API workflow to call other APIs and external services
- Control and flow logic around each interaction
- Manipulate data values via string and mathematic functions
- Intelligent filtering of data being returned to the API consumer based on a business user experience
- Handing of error conditions in the program logic and at the system level
A smart mainframe API greatly reduces the amount of integration programming effort that each consumer application, ESB, BPM, or other technology has to develop in order to integrate with the legacy mainframe applications. Smart API technology should also enable bi-directional integration with the mainframe, which enables COBOL programs to be consumers of internal and external services.
Examples of outbound integration that our clients have completed using GT Software’s Ivory include real-time access to:
- External applications and data (Oracle Financials, SAP)
- Insurance rating engines
- Agent license validation
- Fuzzy match engines
- Geo services (ESRI, Google)
- Credit card authorization
- Terrorist lists (World-Check)
- Online banking (FIS’s Open Payment Network)
- Cloud-based services
Smart APIs that automate interaction based on the business process workflow as originally designed for an end-user can provide an SOA layer around the legacy application that will ease the transition from the legacy code to newer systems. Consumers of the APIs will be kept isolated as a phased approach transparently replaces the provider logic.
Many IT organizations “don’t know what they don’t know” when it comes to their legacy mainframe applications. The original programming knowledge is often no longer there. Many need an x-ray into their existing application code to identify the hidden complexities that will bite them as they build their integration infrastructure. The use of technologies such as change data capture, ETL, messaging, and data mirroring often falls short of the true real-time integration with the core mainframe applications that are needed by today’s fast-paced businesses and customer expectations.
GT Software’s Ivory is unique in its ability to handle integration complexities to legacy applications that other tools do not support. Ivory co-exists with other integration technology layers that are in place with your current IT environment, providing a powerful, smart API add-on. Ivory’s no-code API designer allows developers to create APIs in a fraction of the time and cost of traditional approaches, all within an agile development framework. Ivory has both on- and off-mainframe runtime options that avoid expensive CPU cycles. Ivory also supports both REST and SOAP APIs and integrates them to any online environment (CICS, IMS, IDMS, other 3270) for both IBM System Z and VSE mainframes.
Click here for more information on how Ivory can help take your company from legacy to leading edge.
-Rob Gibson, Director of Sales at GT Software