The most successful companies in today's digital era create and maintain unambiguous and stable interfaces for their business. Companies execute their strategies around extensive interfaces within and outside their enterprises. These interfaces are known as Application Programming Interfaces (APIs).
An API-centric approach encourages evolution and management of various interfaces between systems. In this approach, all systems are loosely coupled and allow associated services to have a wide range of uses. An API-centric approach is similar to Service Oriented Architecture (SOA) except that APIs deal with one-to-many architectures instead of one-one architecture of SOAs.
As a result, newer technologies, such as, REST web services make it easier to execute an enterprise API strategy.
A well-planned API strategy helps businesses in executing complex software-driven strategies, such as:
- Better restructuring of internal software systems
- Reduction of maintenance costs
- Increase in agility and lean production processes
- Better customer engagement and retention
ColdFusion API Manager helps you to create APIs that expose core functionalities of application and other backend systems. These APIs are then published and managed at runtime.
The API Manager includes the following functionalities, such as:
- Access control: The API Manager helps you to restrict certain APIs to trusted subscribers and enforce usage for each users based on roles.
- Analytics: You can track the usage of an API across applications, methods, and users.
- Portal: There are separate portals for an API administrator, publisher, and subscriber with custom workflows.
The API Manager includes the following roles:
API Administrator-The API administrator manages and administers all core functions and properties of the API Manager.
API Publisher-The API publisher creates an API, lists resources of each API, views all subscribed users, and analyzes metrics of an API.
API Subscriber-The API subscriber can browse the subscribed APIs, select an API tier, create applications, and view notifications from the publisher.
|Create an API||
There are multiple ways to create an API, for example:
API versioning is essential when designing and building a REST API. As updates are made to your APIs, you want to make sure you can make interface changes without affecting the current usage of your API.
In the API Manager, you can create multiple versions of the same API and manage them separately. You can later deprecate and retire a published version.
|API Security||You can authenticate your API through the following security mechanisms:
|Documentation||The publisher can provide the complete description of an API and a try-out tool for a subscriber to test the API.|
In The API Manager, there are portals to configure, publish, and subscribe APIs, and view reports. The different types of portals are:
You can view metrics and API usage statistics in the API Manager via a dashboard. There are three different types of dashboard:
|Metering and Throttling||The API Manager contains a scalable metering solution that works across all cluster nodes. The API Manager makes the asynchronous throttle calls based on the metrics data. The API Manager manages metering through a distributed in-memory database for real-time control.|
|SLAs and Tiers||The API Manager helps you create SLA tiers for your APIs by defining the throughput and enforcing approvals.|
|Monitoring and Analytics||The API Manager publishes all information, such as, publisher information, subscriber information, API resources, request and response payload, response status from end-point, response time, response format, and SLA plan to a monitoring server. This data is published on an analytics server within or outside a network. The administrator, or publisher, or consumer can generate reports and analyze the data.|
|Caching||The API Manager contains a caching system where an API response can be cached suitably. The caching can be enabled at subresource level if all the resources are not cacheable at the API level.|
|SOAP to REST conversion||The ColdFusion community develops and uses SOAP services extensively. The API Manager helps you to wrap the SOAP services and expose them as REST service externally. There is a wizard to help a publisher map the SOAP input parameters to that of the REST parameters.|
|SOAP Proxy||Import a SOAP API through a proxy service and map SOAP endpoints to proxy endpoints.|
|Clustering||The API Manager helps you to set up clusters using the IP of the machine that hosts the distributed data store services.|
|Connector||In the API Manager, the connector fetches all nodes through a shared file. A connector is by a ColdFusion server and the API Manager, running on different machines, at the same time.|
|Sandbox||In the API Manager, you can test your API before going to production by configuring a sandbox URL. At runtime, based on the API key, the API Manager calls the sandbox URL's endpoints and makes a request to the production server. There is also a failover server, which acts as a backup server in events when the primary endpoint server is unable to serve a request.|
You can notify users of certain events in the API Manager. For example,