Middleware is a term used to describe separate products that serve as a link between two software applications so that they can exchange data . Middleware applications are used in complex environments and do not necessarily represent one-to-one interactions between software agents.
Middleware is an integral part of modern information management technology based on XML, SOAP, web services, and service-oriented architecture.
Typically, middleware programs provide messaging services so that different applications can communicate. For example, there are a number of middleware products that link a database system to a Web server. This allows users to request information stored in the database through resident forms in a Web browser, with the data received the Web server can return dynamic web pages based on user requests and profiles.
Middleware is used is characterized by simplifying software development as follows:
- Hides the complexity of distributed applications
- Hides the heterogeneity of hardware, operating systems and protocols
- Provides uniform, high-level interfaces used to make applications interoperable, reusable, and portable
- Provides a set of common services that minimizes duplication of effort and improves collaboration between applications
Common categories of middleware are:
- TP monitores
- DCE surroundings
- RPC sistemas
- Object Request Brokers (ORBs)
- Access database systems
- Message Passing