IBM i Loosely Coupled APIs for Power, Performance, and Ease of Maintenance


It’s exciting to see the number of IBM i users who have discovered the power of extending their RPG and COBOL applications using APIs and web services. The challenge they now face is how to maintain and manage those connections.

Many customers we have worked with are connecting applications across their internal networks via APIS. They often find that it is difficult to ensure changes they make to their web applications or to internal Windows and UNIX/Linux applications stay in sync with changes they are making to their RPG and COBOL IBM i applications. We also have customers who are connecting outside their networks to external public web services like Google Maps, the weather service or shipment tracking who are overwhelmed by the frequency of changes to the data they receive. We have even seen these web services return the same data as different types. On one call you receive a number and on the next you get a string or even an object for the same data field.

You can eliminate these challenges by creating a simple JavaScript layer between your native IBM i applications and the web services or Windows/Linux/UNIX applications that are calling into your IBM i or that you are calling from your IBM i. JavaScript was built for the purpose of handling web services and APIs and can easily handle variable data types and complex JSON data structures. The JavaScript layer creates a “loosely coupled” environment that allows changes to be made on either side of the API without breaking it.

By using the JavaScript layer, the APIs you are creating around your IBM i applications are extremely flexible and can be accessed by any modern language (eg. JavaScript, PHP, C#, Python, Java, etc.) You don’t need to write and maintain a custom connector for every language. Importantly, the JavaScript needed to make this work is basic and easy to learn. (With Eradani Connect, most of the JavaScript is automatically generated for you).

One of the biggest advantages of this approach is that you can easily download open source JavaScript modules and add them to your application. Do you need OAuth 2 security? Or support for Active Directory? Just download the modules. Do you want to add logging information? Performance tracking? API usage data? Just download the modules.

In the past, engineers worried that calling through a JavaScript layer would be too slow. Consequently, they felt they needed to write direct calls to the database. Yet these direct calls were fragile and hard to maintain. With new high-speed connectors to the IBM i, we are seeing API calls in JavaScript executing in just a few milliseconds or even in microseconds. In a recent test, we were able to simulate 250,000 simultaneous users getting rapid response from a JavaScript connector to the IBM i on a system with just a .25 core of CPU! So, you can get all the advantages of a loosely coupled JavaScript API while maintaining high levels of responsiveness.

If you would like to learn more about using modern, secure, high speed connectors to API enable your IBM i RPG, COBOL and DB2 applications, contact us! You can reach us via email at: or via our website:


Get the latest Eradani Blog posts sent to your email.