Like people from different countries who can't communicate without a translator, applications running different types of software or operating on different computer platforms need help communicating.
Enter the middleman - called middleware.
Middleware, software that functions as a translation layer, sits between an application residing on one server and any number of clients that want access to that application. In short, middleware allows users to interact with one another and with applications in a heterogeneous computing environment.
It's important to note that the functions middleware provides are hidden, so that applications and information can be easily - and smoothly - accessed across different architectures, protocols and networks.
Automates Business Operations
Middleware also automates business operations, tying together a company's back-end and front-end operations. Look at it as the glue that connects disparate applications such as Web-based applications and older mainframe-based systems. It lets companies continue to benefit from their investments in legacy systems while allowing them to connect with newer systems and the latest developments that drive newer applications.
In the fast-growing world of e-commerce, for example, middleware can help a company be successful by linking its payment, accounting, production and shipping systems with its Internet-based, customer-focused applications.
Middleware functions can be divided into three main categories: application-specific, information-exchange and management and support middleware.
Application-specific middleware provides services for various classes of applications such as distributed-database services, distributed-data/object-transaction processing and specialized services for mobile computing and multimedia.
Information-exchange middleware handles the exchange of information across a network. It's used for tasks such as transferring data, issuing commands, receiving responses, checking status and resolving deadlocks.
Management and support middleware is responsible for locating resources, communicating with servers, handling security and failures and monitoring performance.
Specific Types of Middleware
The types of middleware include database middleware, application server middleware, message-oriented middleware, transaction-processing monitors and Web middleware.
While all middleware performs communication functions, the type of middleware - or the combination of products - that a company chooses will depend on exactly what information needs to be communicated.
Consider kitchen knives, for example. Several types of knives are available, but a diner wouldn't use a butcher knife to cut medium-rare filet mignon.
So if access to a database is a top priority for a particular company, then database middleware is the way to go. However, it's more likely that the company will use database software with other types of middleware.
Database middleware only enables applications to communicate with one or more local or remote databases. It doesn't transfer calls or objects. And while database-oriented middleware is easy to deploy and relatively inexpensive, it doesn't include features found in more complex software products.
Database middleware, for example, doesn't allow for two-way communication between servers and clients. Servers can't initiate contact with clients, they can only respond when asked.
Application server middleware is a Web-based application server that provides interfaces to a wide variety of applications and is used as middleware between browser and legacy systems.
Messaging-oriented middleware provides an interface between client and server applications, allowing them to send data back and forth intermittently.
Messaging middleware is similar to an e-mail system, except that it sends data between applications. If the target computer isn't available, the middleware stores the data in a message queue until the machine becomes available.
A transaction-processing monitor is middleware technology that sits between a requesting client program and databases, ensuring that all databases are updated properly. It's a control program that manages the transfer of data between multiple terminals and the application programs that serve them.
Finally, companies looking to succeed in e-commerce must have information systems with the ability to respond to changing business requirements. And Web middleware allows those companies to more easily integrate back-end applications with new e-commerce systems.