Two development streams for API

API platform consists of many elements:

  • Aperio Backend (Set of objects needed to write API in RPG on IBM i and expose those RPG programs as API)
  • API Bridge (Communication middleware to access RPG programa as REST services)
  • Aperio Client (Server which serves Mobile applications)
  • API Tool (Simple application which helps developers to write APIs)
  • Mobile Apps (Set of html/js and config files which acts as mobile application)
  • API documentation server (Server which shares official documentation of all Iptor APIs)
  • API Mock server (Server which emulates the backend API server. It can be used to produce fake answers for API. Usually used to help develpers to understand how API reponse looks like)
  • Keycloak (Open source software used as a central server to authenticate and authorize API requests)

Above elements are developed/configured by Iptor. Some of them are developed in two versions. One to use by On-prem customers and the second to use in Iptor cloud. Depending on how these elements will be used (in cloud or on prem) they can have different names or they can have differences in functionality.

At Iptor we support mainly two development streams: On-prem and Cloud. Current focus of Iptor PD is to maintain and develop only cloud solutions. Development of On-prem elements are frozen. The following table shows the product names and also explains if objectd are available for specific installation.

Aperio elementFunctionCloudOn-prem
Aperio backendSet of objects needed to write API in RPG language on IBM i, and expose these RPG programs as APIProduct named: “Aperio backend”. Library (IAF100AP) installed on LPARProduct named: “Aperio”. Library (IAF100AP) installed on customer IBM i. The same product in installed in cloud and on prem.
API BridgeCommunication middleware which exposes API. When an API call request comes this elemet translates it and calls apropriate RPG program.Product named: “API Bridge”, containerized and ready to run in cloud environmentThis function is handled by XT Dispatcher. It is an internal part of XT installation. The functionality is limited and has less functionality than API Bridge. Development frozen. No plans to enhance this product.
Aperio ClientServer which serves Mobile Applications written by Iptor. It is kind of Mobile Application Runner.Product named: “Aperio Client”, containerized and ready to run in cloud environemnt.This function is handled by XT Dispatcher. It is an internal part of XT installation. The functionality is limited and has less functionality than cloud version of Aperio Client. Development frozen. No plans to enhance this product.
API ToolSimple application which helps developers to write APIs. This tool can also be used to generate Mobile applications.N/A. There is a reccomendation to use open source tool “Postman”This function is handled by XT UI Server. It is an internal part of XT installation. Development is stopped. No plans to enhance this product.
Aperio DevPackA containerized set of tools which can be run on local PC by developers. This set hepls developer to generate Mobile Applications. It is used only internally by Iptor PD. Curently the development is stopped. No plans to enhance this productN/AN/A
Mobile AppsSet of html/js and config files which acts as mobile application. Simple mobile applications that are generated from JForms. Then they can be injected into Aperio Client server.Limited number of Mobile Applications are available for cloud. They are injected in Aperio Client server. There is no plans to continue to create Mobile Applications.Limited number of Mobile Applications are available for On-prem customers. They are delivered as add-ons to XT dispatcher. Must be installed on XT Dispatcher then activted using Dispatcher’s configuration. There are no plans to continue to create Mobile Applications.
API Documentation ServerServer which shares official documentation of all Iptor APIs. For internal purpose PD uses Swagger UI server.Microsoft API Management is used to expose information about list of available APIsN/A
API Mock ServerServer which emulates the backend API server. It can be used to produce fake answers for API. Usually used to help develpers to understand how API reponse looks like.Microsoft API Management is used to mock APIsN/A

Note: Aperio Backend is developed in RPG on PD development machine. Corrections and enhancements are handled by QA only. Currently, the development of Aperio backend is put on hold and released only if there is a need comming from API Bridge element.

Note: API Bridge, Aperio Client, Mobile Apps, Aperio DevPack, XT are handled in JIRA. The Development is done in Java/Java script. All sources are available in GitLab.