Application Program Interfaces (APIs)

The concept of an application program interface (API) has been around for a long time. For example, the concept was used in the 1988 defintion for compatibility among variants of Unix and other operating systems. and both used the concept starting in the 1980s. used the concept for database connectivity starting in the late 1980s.

The concept of APIs is related to informaton hiding from software engineering that goes back to at least the early 1980s:

The term "hiding" implies that effective modularity can be achieved by defining a set of independent modules that communicate with one another only that information that is necessary to achieve software function.1

APIs/information hiding allow for the creation of a minimal interface that is relatively stable that can be used by other software systems to access or manipulate the underlying systems or data. This allows for enhancements to the underlying systems or data without disturbing the software systems that use the API.

Most APIs in are associated with . They usually implemented using Web Services such as or . The figure below illustrates an API for services that could be part of a service-oriented architecture (SOA) which could be hosted internally or in the Cloud.

Application Program Interface (API)

1. Roger S. Pressman, Softare Engineering: A Practitioner's Approach, (McGraw-Hill, Inc., 1982), pg. 156.

Context for Application Program Interfaces (APIs)

Home » Articles » Web Services Articles » Application Program Interfaces (APIs)

Related Articles for Application Program Interfaces (APIs)

The Savvy Manager's Guide

is also the author of a book that explains Web Services, service-oriented architecture, and Cloud Computing in an easy-to-understand, non-technical manner.

Web Services, Service-Oriented Architectures, and Cloud Computing: The Savvy Manager's Guide

by with David Dick

This is a guide for the savvy manager who wants to capitalize on the wave of change that is occurring with Web Services, service-oriented architecture, and—more recently—Cloud Computing. The changes wrought by these technologies will require both a basic grasp of the technologies and an effective way to deal with how these changes will affect the people who build and use the systems in our organizations. This book covers both issues. Managers at all levels of all organizations must be aware of both the changes that we are now seeing and ways to deal with issues created by those changes.