API management is the process of publishing, promoting and overseeing application programming interfaces (APIs) in a secure, scalable environment. It also includes the creation of end user support resources that define and document specific APIs.
An application program interface (API) is code that allows two software programs to communicate with each other. The API defines the correct way for a developer to write a program that requests services from an operating system (OS) or other application. APIs are implemented by function calls composed of verbs and nouns and the required syntax is described in the documentation of the application being called.
Typically, APIs are released for third-party development as part of a software development kit (SDK) or as an open API published on the Internet. If the applications are written in different languages or have been written for different platforms, middleware can provide messaging services so the two applications can communicate with each other. API management tools that allow for data analysis and reporting can help an organization make the most efficient use of APIs.
API management tools, which can be built in-house or purchased as a service through a third-party provider, typically help developers to:
Automate and control connections between an API and the applications that use it.
Ensure consistency between multiple API implementations and versions.
Monitor traffic from individual apps.
Provide memory management and caching mechanisms to improve application performance.
Protect the API from misuse by wrapping it in security procedures and policies.
A growing open API movement, spearheaded by companies like Facebook, Google and Twitter, has led to reduced API dependency upon conventional service-oriented architecture (SOA) in favor or more lightweight JSON and REST services. Some API management tools are capable of converting existing SOAP, JMS or MQ interfaces into RESTful APIs or JSON content.