Since the early days of computing, developers have struggled to make applications communicate. Specialized protocols, such as COM+, CORBA, and even SOAP, emerged over the years, but none were sufficient to meet the need for scale, simplicity, and cross-language functionality.
APIs are the technology behind this approach. APIs allow developers to create an open architecture for sharing functionality and data between applications. APIs are like windows into an application—a direct conduit that leads straight into the core functionality and data residing in the heart of the app.