â€śI want an Insurance APIâ€ť
â€śI plan to use SAPâ€™s APIsâ€ť
â€śWhere can I find the Watson APIs?â€ť
These are good questions / statements, but they are not about API Management, they are about APIs
that are provided by something.Â I speak to businesses about managing APIs but am often asked about providing APIs.Â This indicates that there may be confusion between APIs that are provided and APIs that are managed.Â So, this is todayâ€™s topic.
As Systems of Record software is modernized it has become very common to expose API interfaces as part of the new functionality in the new versions of software.Â Software programs such as SAP have done this.Â SAP APIs provide access to SAP capabilities â€“ data and transactions supported by the SAP platform.Â Companies may use these APIs as simple to understand interfaces to the SAP platform.
Similarly, many cloud based platforms (e.g. IBM’s Watson APIs and Weather APIs) also expose their capabilities via APIs which are easy to understand interfaces to their functionality.
Other products such as IBM App Connect Enterprise (previously called IBM Integration Bus) can expose APIs.Â Data access products such as Infosphere Datastage also can create REST APIs.Â And z/OS Connect can enable REST based access to mainframe assets such as CICS.
This certainly is not limited to IBM products.Â Almost all vendors have recognized the value of APIs and are providing API access to their product capabilities.
But, do not confuse the fact that an API has been provided with management of these APIs.
API Management solutions can also create APIs (more on this below) or just proxy to one that has been provided as described above.Â But, that is just the start.Â I often say â€“ â€śIf you build it they will come â€“ does not work.â€ťÂ API Management is about Creating, Securing, and Managing APIs.Â Letâ€™s look at each of these:
- While many software products are providing APIs, there are still others that do not.Â So, one aspect of creating APIs in an API management solution is to support the existing software assets that do not provide their own APIs but are still required parts of the solutions your business is trying to build.Â This might include web service interfaces, databases, or other software products that do not supply their own APIs.
- A second aspect is to provide consumer oriented APIs, not provider oriented APIs.Â In the earlier section on â€śproviding APIsâ€ť these APIs that are focused on what the providing software can give you.Â They are provider focused.Â The SAP APIs only supply information that is in SAP.Â If this is all the consumer is looking for, then we can simply proxy to this API.Â However, if the consumer wants a solution that is a combination of the data that is in SAP plus other applications – perhaps from Watson and the mainframe, then we can create one new consumer oriented API that invokes all the necessary APIs sourced from SAP, Watson, and z/OS Connect to provide the consumer with the answer that they want rather than give them many provider oriented APIs and force them to build the solution themselves.
- Controlling who has access to the APIs and what they can see/do is another core function of API Management.Â A runtime gateway will authenticate any calling application and potentially the user of the application if necessary, allowing them access only to the appropriate information.
- In addition, we may want to limit how often an application can call the API (i.e. rate limits).Â This is important to protect the back-end systems from being overwhelmed by requests, but also to support distinct levels of consumption and potentially become part of a monetization model for accessing the business resources.
- After creating the APIs, we need to manage them.Â The APIs need to be tested and moved through a lifecycle (Test, QA, Production, and eventually Retirement).Â When ready we need to publish the APIs so that they can be consumed by our target audience – and only that audience.Â We also need to deploy the API to the gateway so it can be secured during execution.Â New versions of APIs need to be handled with appropriate migration of API consumers.
- Driving consumption of the APIs is critically important.Â Where can the consumers find the APIs?Â How can consumers perform self-service subscription Â to use the APIs that are provided?Â How do they get sample code to invoke the API or documentation?Â All of this (and more) is done through the developer portal to help automate the self-service consumption of the APIs.
- Understanding who is using the APIs and how much goes a long way to driving a successful API initiative.Â Role based analytics show business and technical information about the API consumption.Â Usage information may also be part of a monetization model for your APIs.
This is not meant to be a complete list of everything that is done in API management.Â The point was to show some of the differences between â€śhaving an APIâ€ť and â€śmanaging an APIâ€ť.Â Providing APIs is a great start.Â But, this is not sufficient to drive an API initiative.Â Attempting to drive an API initiative with unmanaged APIs can cause problems â€“ ranging from lack of consumption, to lack of security, and lack of visibility.Â API Management provides the capabilities to Create, Secure, and Manage APIs, and allows your business to truly execute an API initiative.
To understand more about IBMâ€™s thoughts on the API Economy visit the IBM API Economy website.Â IBM API Connect is IBMâ€™s complete foundation to Create, Run, Manage, and Secure APIs.Â You can find more information about IBM API Connect at the API Connect website.Â And you can also experience a trial version of API Connect.
If you have questions, please let me know.Â Connect with me through comments here or via twitter @Arglick to continue the discussion.