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.
- The Business Value of Continuous Delivery Download this whitepaper to learn more about the business value of Continuous Delivery and see why it could be a game changer for...
- Ten Factors Shaping the Future of Application Delivery Download this research report conducted by Enterprise Management Associates (EMA) to learn how those that are seeking to accelerate application delivery are leveraging...
- Adobe Creative Cloud FAQ The following are answers to common questions about Adobe® Creative Cloud™ for teams membership, purchasing, security, and storage.
- What's coming to Adobe Creative Cloud Editing and video content creation workflows are about to get easier and more exciting, with major updates coming soon to Creative Cloud, bringing...
- Live Webcast How to serve up a Grand Slam with a scalable IT Infrastructure for cloud, big data and advanced analytics Register today to attend this webcast, and see examples of how The U.S. Tennis Association, Wimbledon and U.S. Golf Association are using the...
- Live Webcast Security Vulnerabilities Associated With Having Local Administrator Privileges Viewfinity will demonstrate how removing admin rights and granularly managing privileges at the application level reduces the attack surface.
- Live Webcast IBM FlashSystem V840: Leveraging Software-Defined Flash to Drive Your Business With end-to-end, tightly integrated functionality and super-fast flash technology, products like IBM FlashSystem V840 Enterprise Performance Solution empower businesses to leverage the efficiency...
- On-demand webinar - 7 Keys to Service Catalog Implementation Success Watch this webinar to learn 7 crucial keys to make your service catalog a success!
- Transform Your IT Service Management Watch this webinar, to learn how EasyVista can increase IT productivity & efficiency and deliver streamlined & integrated IT Service & Asset Mgmt.