One of the challenges we’ve faced recently involved an API translation mechanism required to perform API translations among different component’s native APIs, delivering a response as per a pre-determined set of requirements.
API translation between different solution components is always required for an application to run. Integrating many different software components or products can be relatively easy if they can communicate with each other through a single communication channel. Thus, having a single API gateway which can be used by all other components for seamless communication among them is always a win-win situation.
One of our customers wanted to expose services as set of HTTP endpoints. This was required so that client application developers can make HTTP requests to these endpoints. Depending on the endpoint, the service might then return data, formatted as XML or JSON, back to the client app. Also, content mapping was one of their major requirements i.e. Modifying the Input data to a Rest API on the fly and then extracting the desired values from the response as per the requirement.
Because the customer wanted to make their service available to the web, they wanted to make sure that all necessary steps have been taken in order to secure and protect their services from unauthorized access. Also, it can be easily consumed by other apps/components, enabling them to change the backend service implementation without affecting the public API.
The Aptira Solution
Google Cloud’s Apigee API Platform has been selected for this project due to its extensive set of features that satisfied customer requirements such as - Rate Limiting, Data translation and flexible deployment options and the API Portal.
We deployed the On-Premises version of Apigee in a Private Cloud environment and then created an Apigee proxy for API translation as per Telemanagement Forum (TMF). This Proxy used Apigee’s multiple inbuilt policies for translating the Cloudify API as per TMF.
- The Proxy’s Preflow uses Extract message policies to in-turn extract the Cloudify blueprint ID from input JSON. This is further used by the Service callout policy to create the cloudify deployment
- Once the deployment is complete, a deployment ID is extracted using Extract message policy
- This is further followed by a service callout policy to start the deployment execution
- Once the execution has been finalised, an Assign Message policy is used to create an NBI service order as per TMF standards using the deployment ID which was generated earlier
Apigee has enabled us to perform API translations among different component’s native APIs, delivering a response as per a pre-determined set of requirements.