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
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.