During the 1990s, the World Wide Web was born. During the 2000s, it evolved from a collection of fragmented services into a fused ecosystem to provide consumers a truly simplified and integrated experience. Today, the lines between email, photo sharing services, social networking sites and news sources continue to blur at an increasing pace, thanks in part to application program interface (API).
This convergence represents a new business model for organizations exposing (or publishing) services programmatically to both end users and other organizations. It also represents a novel revenue stream. This revolution is well underway with Amazon quickly approaching one trillion transactions through its various service offerings and salesforce.com generating more than one-half of its revenue from services.
“Exposed services” can enable a number of things, such as allowing cloud-deployed systems to interact with one another and make calls to locally deployed systems, big data processing, mobile apps functioning and more. These services are the fusion of the Internet economy.
Enabling technical services programmatically for external consumption involves creating an API and exposing it similarly to how a company would publish a Web page. APIs have been around for decades; computer programmers use APIs to communicate between system components behind the scenes. Now, driven by Internet technology advances, today’s APIs are business assets, offering a simplified interface to access valuable business data and functionality organizations can leverage to expand their reach to partners, third-party developers and ultimately consumers.
Enterprises have data and functions that consumers want but cannot access until the information is publicly exposed. For example, a traveler might check a mobile app to determine if a first-class seat upgrade is available. Compare that to standing in a long airport line. Having the right information at point of need is valuable and can help solidify customer loyalty. This is possible because the airline has exposed key APIs to enable access to this key information.
The question becomes not is it possible, but is there demand for key APIs? At the same time, exposure introduces an avalanche of questions ranging from security to process, which drives the need to look at APIs in a whole new way.
Exposed APIs represent a new application style (distinct from Web or batch applications, for instance), and there are many architecture concerns to be addressed. Beyond using a simple system diagram, the architecture has to include well defined patterns, naming standards, enforceable models, reusable framework code and the like.
Categorize use cases into two groups: transactions requesting information for a single entity (address and phone number for John Smith, for example); and requests for large data sets (a list of all customers in a specific zip code). The single entity transactions are likely to be used by a developer writing an app, whereas the large data sets are needed for a new application you’re developing and deploying in the cloud.