Table of Contents
The support for communication in a distributed application is perhaps the most frequently offered middleware feature. The support for communication includes building network protocols on top of the functions provided by the network hardware, and building application interfaces on top of the functions provided by the network protocols.
The role of network protocols in middleware is efficiently supporting various forms of communication that the applications may require. The protocols are built in layers that form a protocol stack. At the very bottom of the stack are the functions provided by the network hardware, which allow sending and receiving packets on the network segment connected directly to the network hardware. Further up the protocol stack, other layers add necessary functions such as routing, fragmentation and reassembly, acknowledgement and retransmission, etc.
The role of application interfaces in middleware is seamlessly integrating various forms of communication into the applications. The interfaces take care of formatting the data to be communicated, synchronizing the communicating parties, reporting the communication errors, etc.
The following sections describe selected groups of network protocols, roughly in the order of increasing complexity, and selected groups of application interfaces.