An Overview of Experience-Based API Integration Patterns
Self-service API management is crucial because it empowers API consumers to design their own API proxy endpoints—but a pattern is key to its successful implementation.
Join the DZone community and get the full member experience.Join For Free
As part of any API management platform rollout project, a new API publication pattern targeting API consumers should be promoted: experience-based APIs.
This approach will become the driver for self-service API management, enabling consumer-specific API wrappers that are designed and implemented by the consuming teams.
This article provides an overview of the pattern, emphasizing the benefits and value created by its adoption.
Façade APIs Sit Between Consumer and Legacy APIs
Façades and proxies are a well-known pattern of integration architects with traditional EAI and SOA knowledge. They bring multiple benefits and offer a wide set of capabilities that can enrich the functionality offered by the legacy APIs being proxied.
Typical capabilities supported by API proxies are:
Light API composition and content-based routing.
Message transformation and protocol bridging.
API aggregation and policy enforcement (security, threat, quotas, etc.).
Caching and mock-up creation.
Canary and AB testing.
Experience-Based APIs Use API Proxies for Consumer-Specific API Publication
The Proxy pattern can be extended to enable the creation of multiple Proxy endpoints, each one dedicated to a specific API consumer.
These new Proxy endpoints will be designed, developed, and configured focusing exclusively on the business requirements of their API consumers. Proxy capabilities (transformation, protocol bridging, etc.) can be applied per endpoint, leading to the availability of tailored proxy endpoints that can expose functionality somewhat disparate than the original legacy API.
It is also a good practice to make available a generic one-size-fits-all proxy endpoint to support consumers that need no tailoring of the legacy API business function. Organizations have been successfully exposing and consuming these generic endpoints for a long time, and their immediate decommissioning would not make sense.
There are three key principles that must not be disregarded when implementing the Experience based APIs pattern. Their aim is to ensure maximum value can be derived from the pattern adoption.
It is important to understand the consumers of an API. Only then can a decision be made if experience and/or general-purpose endpoints are required.
Most APIs are designed by providers and focus on data model purity. Experience-based APIs target optimizations and/or performance — not the data model.
Many APIs are designed by API teams with facilitated support in mind. The exposure of experience-based APIs can bring extra complexity to the support processes.
API Management Platforms Promote a Shift to Experience-Based API Architecture
General purpose APIs are currently exposed, providing reusable functionality to multiple user-facing applications. However, desktop, mobile, wearables, and other devices’ experiences differ drastically. The functionality exposed is also different.
Additionally, existing legacy SOAP services are verbose and provide less suitable payload formats.
A Suitable Solution
Promote consumer grade experience-based APIs as a core integration pattern, enabling self-service API management for efficient publication of consumer specific APIs:
Self-service is crucial to the pattern since it empowers API consumers to design, implement, and configure their own API proxy endpoints. API consumers will have full control and ownership of the proxy endpoints they consume.
Contribute to a smoother customer journey and exceptional customer engagement. Support a mobile first strategy, delivering APIs that:
Require fewer calls for increased battery life and limited data plans.
Expose less data for superior app performance.
When Experience-Based APIs and Self-Service API Management Are Encouraged
As demonstrated in the figure below, there are three use cases in which experience-based APIs and self-service API management are typically encouraged.
Published at DZone with permission of Manuel Xavier. See the original article here.
Opinions expressed by DZone contributors are their own.