The Harvard Business Review Article, “The Strategic Value of APIs” says, “…there are multiple ways APIs can generate growth for companies. While many may see APIs as just a technical concept, they clearly overlook the rising strategic significance of APIs. Particularly with the internet of things bringing digitization to all kinds of products and services, the influence of APIs is growing far beyond technology firms. All CEOs may soon need to
find ways to align APIs with their growth strategies.”
The three major trends of social, mobile, and cloud are greatly impacting how businesses and customers connect and engage with their customers and employees. APIs are a foundational technology that enables companies to participate in the digital economy. APIs open up the potential for the creation of entirely new businesses models or the establishment of new primary channels for products and services. The ecosystem created by connected enterprises, customers and suppliers via APIs have an economic effect – The API Economy.
Providing programmable access to systems and data can provide strategic and economic value. For example, the APIs provided by Amazon, eBay and Facebook are the primary means for paying customers to access their platforms. Like these born-on-the-web companies many traditional companies are looking to provide systems as platforms and offer information and services via APIs. These platforms require a modern architecture as well as a business strategy to monetize APIs.
Many IT organizations face challenges developing an Agile API program that is responsive to business needs. Within the IT portfolio there are large back-office systems and an increasing number of customer facing applications that reflect customer experience with the corporate brand. The former systems are complex and difficult to change requiring a long release schedules (e.g. an ERP upgrade cycle), while the latter customer facing applications must change rapidly in response to competitive threats and customer demands. So we need fast-changing systems that are integrated with the slow-moving systems in such a way as to not become a barrier to change.
Modern applications are built with services in mind. Many application software vendors have embraced Service-Oriented Architecture (SOA) and have exposed services to application data and functions. APIs are common service integration points between private and public services providing a means support a diverse developer community. However, the seemly simple integration of applications using APIs can grow out of control without the proper strategy and governance.
API consistency and governance are critical to an Agile API program. To successfully develop an API ecosystem the developer’s user experience must remain consistent. API management tools provide a developer portal to onboard development partners and help them build, test and manage their apps. These tools can also mediate legacy services and provide integrations to support APIs connectivity, security and management – e.g. versioning, throttling and metering.
APIs cannot be allowed to grow out of control to support the increasing number of mobile apps creating a point-to-point accidental architecture with inconsistent essential features such as security. SOA, API design and management become critical to achieving the goal of monetizing APIs. API management tools provide a policy enforcement point for API governance ensuring architecture consistency and a dashboard to manage their usage.
SOA abstracts slow-changing systems (like an ERP) from fast-changing systems (like mobile apps) providing coarse-grained services for legacy systems that underlie a façade of fine-grained APIs that are purpose build and can be quickly exposed to the developer ecosystem. For example, a coarse-grained order service supported by an ERP system can support many APIs such as order – list, create, delete, update, approve and pay.
If IT creates point-to-point APIs for the sake of expediency for every new app, history will repeat itself with a new spaghetti diagram of interfaces that will be become cumbersome and expensive to maintain in the long run. We can easily predict that the complexity of change management and testing a spaghetti architecture will become the antithesis of agility.