Digital Transformation & Software Engineering Services
API Series Part 1:  API Centric Design

API Series Part 1: API Centric Design

In this Digital Transformation era, it is of paramount importance for organizations to adopt APIs to execute ideas quickly and acquire new business opportunities. APIs (Application Program Interface) play an essential role, as they are the building blocks of Digital Transformation, thus enabling organizations to deliver an exceptional customer experience, and thereby increasing their revenue streams and optimizing internal IT operations.

Gartner predicts that 50% of business-to-business collaboration will take place through APIs by 2017, and by 2018 75% of Fortune 1000 firms will offer public Web APIs1

  • Added Revenue Source – Extend the reach of your content by maximizing the distribution channels. For example, 90% of Expedia’s revenue is derived from APIs.2
  • New Customer Acquisition Channel – Organizations can open new channels that provide significant growth in CLTV (Customer Life Time Value) when compared to other traditional channels. Gartner states that by 2018, more than 50 percent of users will use a tablet or smartphone first for all online activities.3
  • Fosters Open Innovation – With developer-friendly APIs, organizations can attract creative developers who bring in a variety of insights that can result in new uses for your service/product. For example, Indian Railways opened up their ticketing API, which enabled the creation of consumer friendly apps. There are now 6 to 8 user-developed mobile apps in addition to the website from Indian Rail and other third party partners.
  • Increased Collaboration – APIs nurture integration and interoperability of Enterprise Applications, thereby removing the barriers in software collaboration that were there for years. For e.g., Twitter redesigned their API strategy so that twitter.com would be consumers of their own API. This shift helped in optimizing the collaboration of their API team with each of the consumers including their own website team and mobile apps team.
  • Flexibility – APIs can help in addressing unanticipated future business needs. By making data available through APIs, one can provide greater flexibility in delivering services. For example, Myntra, a leading online fashion apparel store, went with a mobile-only strategy in 2015 that backfired, as they saw customer visits dip by 20%.4 Nevertheless, thanks to an API strategy in place, they were able to bring back the desktop-based application in a short amount of time.

That is Awesome! APIs are transformative, and the benefits are multi-fold. However, how do Organizations build an “API Economy” so that they do not fall behind in the race? Are there any challenges?

Yes, there are:

  • Accelerating Go-to-market Strategy

How soon can one conceptualize, develop and publish the APIs?

  • Orchestration within the Enterprise Ecosystem

How do we orchestrate APIs within the suite of enterprise applications besides access to external third party developers and partners?

  • Securing Open/Public APIs

Consideration of best practices and industry standards to secure open/public APIs.

  • Onboarding Developers and Partners

Ability for third party developers to discover and trial-option before using the published APIs. The ideal solution would provide a self-service portal that can enable some of these, including documentation, authorization and 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. There should be a trial option before charging the third party partners and developers.

API Centric Design is a strategy that provides an insightful approach to the design, development, 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.

  • Design Principles

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

  • Guidelines & Best Practices

Industry specific standards and guidelines 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.

Contact Ness if you are looking for assistance with your API strategy. This is the first blog in a 3-part series on API. “Part 2: Key API Design Principles and Best Practices can be viewed here. “Part 3: Understanding the Capabilities of API Management Platforms can be viewed here.

1 http://searchsoa.techtarget.com/feature/What-CIOs-developers-should-know-about-the-API-economy.

2http://hbr.org/2015/01/the-strategic-value-of-apis

3 http://www.gartner.com/newsroom/id/2939217

4 http://www.business-standard.com/article/companies/myntra-s-app-only-dream-is-dead-to-relaunch-desktop-website-on-june-1-116050301169_1.html

About the Author

Thribhuvan Hungenahalli Krishnamurthy Thribhuvan Hungenahalli Krishnamurthy
Thribhuvan is a Solutions Architect with Ness Digital Engineering in Bangalore. He has extensive experience in the design and development of enterprise applications using Java/J2EE technologies. A tech freak, he loves exploring new technologies and is passionate about coding.

Comments are closed.