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.

Why 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

What is ColdFusion API Manager

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.

Architecture of API Manager

Architecture of API Manager

User roles in API Manager

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.

Features of API Manager

The API Manager has the following features:

Feature Description
Create an API

There are multiple ways to create an API, for example:

  • Manually create an API.
  • Import from Swagger.
  • Import internal Swagger from ColdFusion for ColdFusion-based REST services.
  • Convert a SOAP service into a REST service.
  • Import a SOAP API through a proxy service.
API Versioning

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:
  • Basic
  • API Keys
  • OAuth2 using SAML
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:

  • Administrator portal: You can configure server settings, SLAs, mail settings for notifications, and so on.
  • Publisher portal:  You can create, publish, view, and manage APIs.
  • Subscriber Portal: You can subscribe, view, and test an API.
Analytic Dashboards

You can view metrics and API usage statistics in the API Manager via a dashboard. There are three different types of dashboard:

  • Administrator dashboard: You can analyze all the Publishers, their API's(with versioning) and their usage. You can take actions based on low performance or high usage of API's and much more.
  • Publisher dashboard: You can analyze overall metrics of multiple API's(with versioning) or you can compare your APIs (with versioning) based on factors like data consumed/generated and usage or request-time on time based graphs. You can take actions based on usage, performance or load(time based) of your APIs and much more.
  • Subscriber dashboard: You can analyze the API's(with versioning) you are subscribed to on multiple factors like data consumed/generated or usage or request time. Application/API based filtering is provided. You can figure out widely used API's or low performing API's. You can also take actions based on API's facing throttling limit with time graphs, and much more.
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,

  • Notify a subscriber if the subscriber approaches the end of a subscribed SLA.
  • Notify a publisher to approve a subscription if someone has made a request to subscribe to an API.
  • Notify all subscribers  if a publisher downgrades  the status of a published API to "Deprecate".

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy