Our discussion of the various types of B2B application integration has thus far centered on data-oriented interfaces. However, in addition to these categories, we must also examine those interfaces that exist solely to provide access to existing applications. In other words, we must examine application interface-oriented B2B application integration—or, stated another way, we must examine our ability to bind systems together by using standard, or proprietary, interfaces.
Our examination presents us with a technology in flux. Application interfaces are evolving rapidly. Once almost exclusively proprietary, APIs now use such standard mechanisms as Java's Remote Method Invocation (RMI), the Common Object Request Broker Architecture (CORBA) Internet Inter-ORB Protocol (IIOP), and Microsoft’s Component Object Model (COM+). This rapid evolution presents today's developers with a tremendous advantage over their predecessors. Rather than devote long hours to learning and implementing interfaces that are not portable to other applications, today's developers can familiarize themselves with standard interfaces and language bindings that exist from tool to tool.
When standard interfaces become universal, intercompany or intracompany application integration will no longer present such a difficult challenge for developers and architects. Development tools, which rarely communicate with applications that use a proprietary interface, will be capable of communicating with those applications using a standard interface. Once-monolithic applications will become "link-able" to other applications through these standard interfaces.
Application interfaces are interfaces that developers expose from packaged, or custom, applications to gain access to various levels, or services, of those applications. Some interfaces are limited in scope, while others are "feature-rich." Some interfaces allow access to business processes only; some allow access directly to the data. Some allow access to both.
Developers expose these interfaces for two reasons. The first is to provide access to the business processes and data encapsulated within their applications without requiring other developers to invoke the user interface or to go directly to the database. The use of such interfaces creates a benefit for B2B application integration by allowing external applications to access the services of these applications without making any changes to the packages or applications themselves.
Exposing these interfaces also provides a mechanism for allowing encapsulated information to be shared. For example, if SAP data is required from Excel, SAP exposes the interfaces that allow you to invoke a business process or to gather common data.
Such application-oriented interface B2B application integration is distinct from both method-oriented B2B application integration and user interface-oriented B2B application integration.
It is possible to distribute the methods that exist within enterprises among various applications. However, it is more often the case that they are shared by using an application server, a distributed object, or some other common business logic–processing mechanism. Most popular applications provide traditional application interfaces, which are true data- and method-sharing mechanisms.
In addition to the potential complexities of application interfaces and their dynamic nature, this difference in approach distinguishes application interface-oriented B2B application integration from other types of B2B application integration. The range in terms of the number and quality of the features that different application interfaces provide makes it nearly impossible to know what to anticipate when invoking a particular application interface.