GT Software has spent the last three decades working with IBM mainframe customers to help them get the best out of their assets. As a mainframe-based company it offers a range of mainframe-specific products and packages, but the key one in terms of the scope of this paper is Ivory Service Architect, more commonly referred to simply as Ivory. This product suite is designed to leverage and optimize mainframe assets within the wider IT world, turning mainframe system of record applications, processes and data into APIs and enabling these systems of record to utilize APIs themselves.
GT Software’ Ivory Service Architect fits within the Lustratus API architecture as follows:
Mainframe API functionality
Ivory is a set of tools for making existing mainframe applications available to other users, either externally or within the mainframe. Ivory services are created using a graphical IDE, Ivory Studio, to produce metadata describing the desired functionality. Once created, these Ivory services can now be deployed as REST/JSON or SOAP based services, or as services to be invoked by other mainframe applications, all under the control of the Ivory runtime component, Ivory Server. The SOAP services are documented with WSDL and the REST/JSON ones with OpenAPI.
Ivory Studio is PC-based while Ivory Server can be deployed locally on the mainframe or externally on a distributed platform. The choice of Ivory Server location will depend on considerations like mainframe load restrictions and the underlying structure of the services. For the mainframe, Ivory Server can run within CICS, in its own region or in Linux on Z (IFL). Externally, it can run in Windows/Java or Linux/Java environments or in an OpenShift or Docker container.
Ivory can build APIs for CICS, IMS, 3270, Batch, IDMS and Natural mainframe systems, and it also provides orchestration support for building composite APIs from multiple systems of record applications. This orchestration support provides the flexibility to optimize the API, for example to reduce traffic between different systems. Ivory Function support, a light scripting capability, broadens orchestration and control options. The API creation process is carried out using wizards in Ivory Studio. Copybooks describing the data inputs and outputs to the systems of record can be mapped graphically to the API formats, and a drag and drop facility provides the orchestration support. Access is achieved using one of several mainframe features such as CICS COMMAREAs / Channels and Containers, IMS Connect, or even direct 3270 access where screen-scraping is desirable. This 3270 support includes a recording wizard to turn existing 3270 flows including BMS maps into Ivory metadata. Ivory also provides testing tools for both unit and regression testing, and also supports open source tooling such as Postman, SoapUI and SwaggerUI.
Security depends on whether the Ivory service is deployed as a SOAP or RESTful web service. In the SOAP case Ivory uses the security information from the SOAP header, while in the REST/JSON deployment Ivory supports the use of JSON Web Tokens (JWTs). The JWT is generated on authentication and then passed for subsequent service requests.
-Steve Craggs, Lustratus Research
Want to learn more about Mainframe API Tools? Download the complete ebook from Lustratus Research.