Skip to content

APIs and You

August 5, 2009
IMAGINE YOU HAVE THREE NEIGHBORS: Closed Carl, Open Oscar and API Annie. Each of you is like an application. Like any neighbor, you sometimes need to borrow things from your neighbors, such as a lawn mower. This is the equivalent of applications integrating.
CLOSED CARL simply won’t provide you with any services. He mows his own lawn behind a high fence. Not only is there no way to ask him for anything, you can’t even walk onto his property to try because his fence has no gate. An application like Closed Carl exposes no source code or APIs.
OPEN OSCAR is the opposite. He’s so open that he will let you freely enter his yard whenever you’d like and even tinker with his mower so it suits your needs exactly. Of course, once you’ve changed the design from what’s documented in the manual, you’ve entered the mower maintenance business. An application like Open Oscar has open source code, giving you free reign if you want it.
API ANNIE will let you borrow the mower if you ask in the right way (by calling the “getMower” API in your own application code). You can’t enter the gate without that request, and you can’t open the mower and tinker with it. But you can get the service of mowing as needed. Applications like Annie, which are closed but have APIs, are the most common in enterprise settings.
Application Programming Interface (API) is an older technology that facilitates exchanging messages or data between two or more different software applications. API is the virtual interface between two inter working software functions, such as a word processor and a spreadsheet. This technology has been expanded from simple subroutine calls to include features that provide for interoperability (the ability of two or more systems or components to exchange information and to use the information that has been exchanged.)And system modifiability (the degree to which a system or component facilitates the incorporation of changes, once the nature of the desired change has been determined) in support of the requirement for between multiple applications. An API is the software that is used to support system-level ,software products or newly-developed software into existing or new applications. APIs are also a type of Middleware that provide for data sharing across different platforms; this is an important feature when developing new or upgrading existing distributed systems. This technology is a way to achieve the total cross-platform consistency that is a goal of systems and standards.
Technical Detail
An API is a set of rules for writing function or subroutine calls that access functions in a library. Programs that use these rules or functions in their API calls can communicate with any others that use the API, regardless of the others’ specifics. APIs work with a wide spectrum of application dialogues (i.e., interprogram communication schemes) to facilitate information exchange. These include database access, client/server, peer-to-peer, real-time, event-driven, store and forward, and transaction processing. APIs combine error recovery, data translation, security, queuing, and naming with an easy-to-learn interface that comprises simple but powerful actions/commands (verbs). To invoke an API, a program calls a SEND-type function, specifying parameters for destination name, pointers to the data, and return confirmation options. The API takes the data and does all the communications-specific work transparent to the application.
There are four types of APIs that enables data sharing between different software applications on single or distributed platforms:
  • Remote Procedure Calls(RPCs)
Using RPCs, programs communicate via procedures (or tasks) that act on shared data buffers. SQL is a non-procedural data access language that allows data sharing between applications by access into a common database. File transfer allows for data sharing by sending formatted files between applications. Message delivery provides data sharing by direct interprogram communications via small formatted messages between loosely- or tightly-coupled applications. Current standards that apply to APIs include the ANSI standard SQL API. There are ongoing efforts to define standards for the other types.
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: