You often have to rely on others to perform functions that you may not be able or permitted to do by yourself, such as opening a bank safety deposit box. Similarly, virtually all software has to request other software to do some things for it.
To accomplish this, the asking program uses a set of standardized requests, called application programming interfaces (API), that have been defined for the program being called upon. Almost every application depends on the APIs of the underlying operating system to perform such basic functions as accessing the file system. In essence, a program's API defines the proper way for a developer to request services from that program.
Developers can make requests by including calls in the code of their applications. The syntax is described in the documentation of the application being called. By providing a means for requesting program services, an API is said to grant access to or open an application.
Building an application with no APIs, says Josh Walker, an analyst at Forrester Research Inc. in Cambridge, Mass., "is basically like building a house with no doors. The API for all computing purposes is how you open the blinds and the doors and exchange information." APIs also exist between applications.
SAP AG's enterprise applications include APIs, called BAPI, that offer other applications access to business data. When an industry settles on a data standard, a common API allowing access to applications that process that data often follows, Walker says.
Middleware works by providing a standardized, API-like interface that can allow applications on different platforms or written in different languages to interoperate. Although APIs provide a quick and easy way to tap into an application, they can be constraining for certain power users such as independent software vendors, says Adam Braunstein, an analyst at Robert Frances Group Inc. in Westport, Conn.
Open source code exposes every instruction and operation in an application and therefore offers the most flexibility. But understanding source code can be time-consuming, and it also exposes the author's intellectual property.
When Novell Inc. was rumored to be considering opening up the source code for its Novell Directory Services (NDS) software last year, then-Vice President Chris Stone said most corporate developers didn't want to delve into open source code. Instead, he said, they wanted additional sets of APIs they could work with more quickly. So far, Novell has kept NDS code closed.
Corporate developers should consider including APIs in applications they develop, especially if they expect the applications to last and interact with other applications, Braunstein says. As time goes on, the likelihood that another developer will need to tap an application's services increases. He says having the foresight to include APIs saves subsequent developers from having to find and review the source code.
- HTTP Status Code Cheat Sheet Look at the Graph, Find the Code and Boom - You're Solving Problems. Identifying and understanding common HTTP status codes can go a...
- 10 Steps to Application and Network Performance Nirvana 10 simple steps that network operations teams can take to ensure that applications and underlying infrastructure can both be tuned for maximum performance.
- Application Performance Management for Dummies Application performance management helps deliver the application performance users and the business demand. Effectively monitoring and troubleshooting application performance issues requires a comprehensive...
- IDC Report: Optimize IT and Business Gains This IDC Whitepaper outlines how CIOs can understand what the "total cost of data" is across their entire organization and how Delphix can...
- Accelerate your innovation with IBM Bluemix™ Join us for a webcast introducing the new IBM BluemixTM. IBM Bluemix (www.bluemix.net) is a developer oriented Platform as a Service (PaaS) environment...
- Maximizing Availability for the Modern Data Center Check out this information-packed resource center for help in maximizing the availability of your data center - from overcoming challenges to choosing the... All App Development White Papers | Webcasts