What is Middleware?
Middleware is computer software that connects software applications or components. It is used to support complex and distributed applications. Middleware Technology includes web servers, application servers, content management systems and similar tools that support application development and delivery. Software layer that allows an application to interoperate with other software doesn’t require the user to know the underlying code. Middleware is particularly essential to modern information technology based on XML, SOAP, Web services, and SOA.
Middleware is similar to the middle layer of three-tier single system architecture, except that it is stretched across multiple systems or applications. Examples include database systems, telecommunications software, transaction monitors, and messaging-and-queuing software. Middleware technology uses a standard for constructing and interconnecting the application or components.
Middleware Requirements
Network communication:
Marshalling and unmarshalling.
Coordination:
Activation/termination, threading, group requests, synchronicity.
Reliability:
Delivery guarantees, total/partial ordering, atomicity, replication.
Scalability:
Transparency of access/location/migration/replication, load balancing.
Heterogeneity:
Platform, operating system, network OS, programming language.