API Centric Design

March 2019


In my previous blog, I gave a brief insight to the importance of API Economy and it's role in the Digital Transformation. APIs are considered to be transformative playing an important role in modernizing an enterprise architecture thus enabling Digital Transformation. However, how easy it is to build “API Economy” that one can adapt to overcome the challenges that are there in the existing enterprise technology. Is there any approach? Are there any best practices? Yes, there are and this article exactly focuses on the approach that one can consider to overcome the challenges while embracing API Economy.

So, what are the challenges?

  • Accelerating Go-to-market Strategy - How soon one can conceptualize, develop, migrate and publish the APIs?

  • Orchestration within the Enterprise Ecosystem - How to orchestrate APIs within the suite of enterprise applications besides access to external third party developers and partners?

  • Securing Protected/Public APIs - Consideration of best practices and industry standards to secure open/public APIs

  • Onboarding Developers and Partners - Ability for third party developers/partners to discover before using the published APIs. An ideal solution would be to provide a self-service portal that can enables free-trial option, provides comprehensive documentation and user guide, sandboxing and technical support.

  • Deployment Agility to support Changing Business Needs - Simplifying the development, testing and deployment aspects thereby mitigating the risks involved while reacting to changing business needs.

  • Understand API Usage and Optimization - Provision to log and understand the API usage metrics thereby providing an opportunity to optimize the published APIs. Continuous monitoring and improvement is the key to success.

  • Monetization - From providing various subscription models to defining usage tiers depending on the requirements. Also, there should be a trial-based option before charging the third party partners and developers.

API Centric Design is a strategy that provides insightful approach to the design, development, testing and provisional aspects of API that one can apply to overcome some of these challenges.

Here are the aspects that one should consider for the design and development of APIs:

Architectural Patterns

Emphasizes on the trade-offs of various architectural styles and patterns such as SOAP, RESTful and Event driven based APIs. It is essential to understand the business needs and characteristics of APIs and the consideration of various factors before deciding upon the pattern.

Types of API

Companies develop APIs to achieve various business objectives, and it is essential to distinguish the types of APIs being develop and apply necessary design priciplies, best practices and guidelines.

  1. Private APIs

    • Also called as Internal APIs

    • Published for internal use by the Organization’s developers to improve its own products and services within an enterprise ecosystem

    • Private APIs are not exposed to third parties

  2. Partner APIs

    • Can only be used by specific parties with whom the company makes an agreement to share the data.

    • Used within business relationships, often to integrate software between partnering companies

  3. Public APIs

    • Also called as Open APIs

    • Published publicly and can be used by any third-party.

    • There are no restrictions on these APIs

Design Principles

Key design principles to consider at the beginning of an API design and development project.

Guidelines and Best Practices

Applying industry specific standards, guidelines & best practices for the design and development of APIs.

API Management

It is essential to manage the APIs once published for external/internal users. Published APIs bring in revenue and hence adherence to contract definition, continuous monitoring, understanding the usage metrics, and other non-functional needs such as security, scalability, and availability. All are important factors of API management. A few platforms such as Apigee, WSO2, Amazon API Gateway, and many prominent providers offer capabilities around these, and one can make viable options in deciding to build vs. buy.