You can adopt any one of the following middleware connectivity strategies when bridging legacy systems to the Web:
- Microsoft Distributed Internet Application Architecture (DNA): Includes Microsoft's Component Object Model (COM) and Distributed Component Object Model (DCOM). If you plan to use Microsoft-only products, this may be the best solution. This model tends to use Java somewhat reluctantly.
- Oracle Network Computing Architecture (NCA): Employs Java and a series of "cartridges" designed to facilitate clients, application servers, and data servers communicating with each other.
- IBM Network Computing Framework (NCF): Employs Java, IBM servers, and languages such as CORBA to ensure that IBM legacy servers can cooperate with Web servers.
In addition to being middleware scripting and database connectivity solutions, Microsoft DNA, Oracle NCA, and Netscape ONE are complete end to end set of services.
One technical response to the enterprise integration problem is to use application programming interfaces (API).
Each API provides a standard set of programming calls that access functions in a library.
APIs have associated with them a set of commonly understood rules and procedures for using the calls in meaningful ways. Because the same API can run on different platforms, it is possible to achieve portability. One example of a successful and frequently used API is the socket library
. Socket calls are functions that provide standard interfaces for accessing different transport and network level protocols, including the transmission control protocol (TCP), the user datagram protocol (UDP), and the Internet protocol (IP). The socket API, or one of its descendents, is available on all commonly used operating systems. Notice that protocols and APIs are independent of one another. In other words, the rules for using a protocol like TCP are independent of the specific calls and functions for developing TCP code on a particular machine.
APIs are powerful and commonly used tools for achieving interoperability and portability for specific architectural layers. Furthermore, the existence of standard protocols, such as TCP and IP, greatly simplifies the development of distributed computing in general, at scales beyond that of a single enterprise. Despite this, APIs and standard, layer-specific protocols by themselves do not address many of the problems of software development for enterprise and distributed computing systems. This is because current distributed applications require the use and integration of multiple types of programs and services, such as databases, multimedia players,Web servers, message servers, common graphical user interfaces (GUIs), and so on. What is required is the composition of multiple types of services in ways that are semantically meaningful to the application developer. This is evident when considering a third factor in the evolution of middleware: the explosive growth and importance of e-commerce systems.