• August 15, 2022

Productive on Power Part Two: Enabling Web Services Using APIs

Welcome to the second of our three-part “Productive on Power: Bringing the latest User Experiences to IBM i” blog series. These posts are covering modernization initiatives that are making users and customers more productive and more satisfied.

We’re sharing cost-effective strategies to bring great experiences to IBM i by:

  • Modernizing the UX of your workflows and green screens (Read our part one post here)
  • Enabling web services using APIs
  • Modernizing without compromising security

Today, I’m covering how to use APIs and IBM i to provide customer and user experiences that can rival any of your competition’s.

Web services enablement

Enabling your IBM i applications with web services gives you greater flexibility when it comes to

building advanced UIs, and makes it easy to integrate disparate applications together. When modernizing the user experience for frequently used screens, developers need tools that offer the kind of flexibility their diverse user groups require. Web and mobile business workflows are often different from workflows used by desktop-bound terminal users. Though some transformation tools are quite powerful, most are still tied to the 5250 display conversation and are limited by their own specific capabilities. By using the power and productivity offered by web languages like JavaScript, you can develop a completely custom UI with new workflows that suit the web and mobile work environments. You also can write completely new web-based applications (such as eCommerce tools) that access your existing IBM i functions.

Web services enablement tools allow developers using newer languages (eg. Java, JavaScript, PHP, Python) to access IBM i resources using familiar techniques. They simply use web services technology like REST to access the functions they need. The tools translate those calls into functions that access native resources on IBM i. The results are then returned to the caller in a message format they can use, like JSON or XML. IBM i users can use these service tools to provide access to native RPG programs, procedures, commands or databases.

Addressing challenges

One of the challenges in providing web service access to IBM i is that the output web developers need is “processed data”—not data sitting static in a database, or data that comes from the execution of a single program. The web application often needs data that derives from the execution of an entire business process.

This was the case when one of our customers wanted to provide pricing information via web services. The pricing algorithm had to run a query against their warehousing system to:

  • Find which of their warehouses had the necessary items
  • Find the customer data to determine the customer’s discount schedule
  • Query their inventory system to understand the volume discount structures
  • Look at their current ongoing special-sale information

The whole process involved dozens of programs. But the user input was fairly simple: enter the customer information, the items and the quantities, then return a quote.

The right solution

For this customer (and many like them), the right solution was one that exposed a user interaction as a web service. In other words, they needed a way to interact programmatically with the application as if they were a user. These user-process automation tools are used to expose complex application functions through a single service. The service is then used to automate functions that had previously required a user to enter data. Once individual functions like these have been exposed via web services, it’s easy to use an orchestration tool to tie multiple services together into brand new workflows. We worked with a customer with a large staff of customer service representatives who used these service-enablement tools to streamline their workflow and simplify the training of new staff. In the green-screen environment, these call center reps would access multiple systems to respond to customer queries. Each time they moved to a new application, they had to re-enter the user information. The support representatives typically had multiple screens running simultaneously to find the information they needed. To make matters more complicated, some of those systems were internal applications, and some were external partner and government systems.

Because all the systems were accessible via terminal UIs, the organization was able to service-enable each of the interactions, then use an orchestration tool to tie all the services together. Now their service representatives can key the customer information in once, and that information is passed from service to service until all the information is gathered from all the back-end systems. The results are then displayed in a single, modern web user interface. These days, their reps enter the information on one screen, and get the results back in the same place. This service enablement has dramatically reduced the time it takes to respond to a call and makes it significantly faster and easier to bring on new staff. Service enablement can also provide direct access to RPG programs, the Db2 database, command-line commands, and other IBM i-native resources. It gives developers the ability to use standard web service calls to access anything they might need to pass data from one system to another, or to expose IBM i functions and data through the latest UI technology.

The real IBM i: Your platform for the future

When making strategic decisions about your business’ future computing platforms, IBM i should be evaluated for its real potential. Executives should define the business challenges they want to address and the opportunities they want to exploit before deciding which platform most cost-effectively meets their needs. Layering web services on top of the most valuable data from your IBM i is just one of several ways.

IBM i provides:

  • Advanced, secure system architecture
  • A long history of proven reliability
  • Support for the latest open-source languages
  • A wide variety of powerful modernization tools
  • Advanced DevOps
  • Comprehensive cloud capabilities
  • The lowest total cost of ownership on the market

To top it all off, IBM i runs all existing core applications. When looking at modernizing the IBM i environment, consider what problems must be solved and for whom. In addition, choose the most cost-effective way to use precious IT resources. That analysis generally leads to the conclusion that IBM i provides an exciting path forward.


Rebecca Dilthey 16 Posts

Rebecca Dilthey is a Senior Product Marketing Manager at Rocket Software.


Leave a Comment

Your email address will not be published.