|
|
Fig. 1: Middleware
|
 |
Middle... where?
Exactly.
Without middleware, messages that a computer passes to another computer would get lost.
Middleware refers to a layer of software between the network and the application. It is quite a
general term; it encompasses everything from the client's application programming interface
(API) that sends a request for a service to the transmission of the message (Orfali 16-17). It
allows client software to communicate with the server in an abstract manner, compared to explicit
commands.
This abstract communication may not seem
like such a big deal, but for vendors of different platforms and different applications, it is.
Applications often speak their own dialect. Similarly, Chinese people speak their local dialect,
such as Mandarin and Cantonese. When computers using different operating systems are
connected together, its applications can barely communicate without middleware, because they
speak in a different dialect and language. They certainly won't understand each other.
Middleware technologies provide a way
around that: their interoperability and standardization, when combined, make it the perfect
language translator. It opens communication between new applications and legacy — or, not-quite-modern — applications, converting data between different formats. The advantage is
obvious, but it can also save money in upgrade costs.
The software also provides many other services:
 |
authentication of computers |
 |
transactions |
 |
remote procedural calls — allows an application to execute a procedure on another computer |
 |
queues — allows computers to asynchronously communicate by leaving a message for the other computer to pick up later |
 |
time synchronization (Burghart) |
 |
distributed directories — allows a computer to access directories of another computer as if it were its own |
 |
...and much, much more! |
Middleware is one technology that can seemingly do it all, and do it with each other seamlessly.
|