API Manager – Promoting Service Reuse for Maximizing SOA Success
The application programming interface (API), though being an old concept, is undergoing transformation driven by mobile and cloud requirements and more and more organizations has recognized these opportunities and opening their information assets to external developers. Opening APIs to the outside developers enables many technology start-ups to become platforms. It helps the developer communities grow which are tied to their core data or application resources. This translates into new reach, revenue, and end-user retention.
The use of APIs for sharing information and functionality with outside developers is not limited to technology startups. More and more enterprises are moving with this transformation by integrating their existing consumer endpoints in their internal ecosystem to build a seamless connection between mobile, cloud, and their legacy software. However, opening up the business assets and integrating existing disparate modules need to be done with great caution. There is a good deal on line while dealing with APIs, including reputation, regulation, and simultaneous needs of customers, partners, employees and stakeholders.
The Enterprise API Management Challenge
One such scenario that happened at Azilen and moved us to write this blog was the challenge of integrating existing web services under a single umbrella while also maintaining their existing consumption intact. Being in the hospitality business for more than half a decade Azilen has provided numerous software solutions that cater to the aspects of hospitality business. Many of these disparate solutions have web services that expose the business logic to the mobile apps.
The following were the critical requirements of the system:
- Communicating with the POS for synchronizing the menu, and creating & tracking orders.
- Communicating with the electronic menu pad which is used by the guests to send their orders.
- Inter-waiter communication channel with live notifications.
While the first specification required creating a new JSON web service to expose the POS’s functionality, fulfilling the other two specifications required communicating to APIs already published in other projects. Thus, we had to find a way to collaborate these three APIs as well as keep the complete system unified for easy management and maintenance.
The API Management Solution
When looking for an API management solution, our technical architect team came across the WSO2 API Manager which is a middleware platform for designing and publishing APIs helping the developers to make the APIs scalable and route traffic. With the WSO2 API Manager we can unite all the disparate APIs, which work independently as well as can work in a collaborative environment together under a single umbrella.
Image Courtesy: wso2.org
The advantages that such API manager platform provides the developers are:
- API Security – Your APIs are not directly exposed to the consumers as there is a management layer between the consumers and the API. The consumers are authenticated in the API manager and only then provided access to the underlying APIs.
- API Lifecycle Management – Every API that is capped under the API manager can and will work independent of the other APIs. And hence the API lifecycle can be easily managed and maintained while accommodating multiple versions in the production simultaneously.
- API Governance – It defines the terms and conditions under which the API is exposed to one or more consumers. It also articulates SLA for monitoring and reporting requirements. This gives added flexibility of publishing and promoting the APIs to the consumers as the consumers can mix and match the APIs to be used in accordance to their requirements.
- Building Developer Community – As seen in the above case study of collaborating APIs from different projects, it can be safely said that API manager promotes building developer communities that work together in publishing their APIs and making functionality reuse an ease.
- API Monetization – Related to the idea of developer enablement is the concept of making money by exposing business functionality over an SOA. With the API manager the enterprises can either get their internal development team setups judiciously, or offer pay-per-use options for external developer fraternities to make use of their business assets.
As no two enterprises have exactly the same needs or environment, there will never be a one-stop-shop kind of SOA that fits in all business requirements. Therefore, with an API manager, you can leverage the power of flexibility to produce an SOA that is tailored for your enterprise needs with much fun and ease. Operationally too, API Management solution is secure, manageable, and reliable for promoting service reuse and maximizing the SOA success in any enterprise.