Middleware is software designed to connect or integrate software components across distributed or disparate applications and systems. Its primary role is to enable effective data transfer between applications, making it a critical component for services that rely on multiple applications or data sources.
Technologies that support programme-to-programme communication include:
- Object Request Brokers (ORBs)
- Message-Oriented Middleware (MOM)
- Remote Procedure Calls (RPCs)
- Point-to-Point Web Services
Newer technologies are continually emerging, such as the Enterprise Service Bus (ESB), which facilitates communication between programmes, systems, and services regardless of their architecture or origin. ESBs are especially valuable in deploying Service-Oriented Architectures (SOAs).
Middleware Management:
Middleware management can be performed in two contexts:
- Application Management Function – Middleware dedicated to specific applications.
- Technical Management Function – Middleware viewed as an extension of the operating system on a particular platform.
Core functionalities provided by middleware include:
- Facilitating data transfer from various applications or data sources.
- Delegating tasks to another application or procedure for processing.
- Transmitting data to other systems (e.g., publishing data on websites).
- Deploying updated software modules across distributed environments.
- Collating and distributing system messages or operational instructions (e.g., events or scripts for remote devices).
- Managing network multicast setups (simultaneous delivery of information to multiple destinations).
- Regulating queue sizes.
Middleware Management Activities:
Effective middleware management encompasses the following tasks:
- Service Design and Transition: Collaborating during service design to ensure the right middleware solutions are selected and can operate optimally when deployed.
- Operation and Optimisation: Ensuring the correct operation and ongoing performance optimization of middleware solutions.
- Incident Detection and Resolution: Identifying and resolving issues related to middleware.
- Maintenance and Updates: Maintaining middleware, including managing licenses and installing updates or new versions.
- Configuration Management: Defining and maintaining information about how applications are linked through middleware, with this data stored as part of the Configuration Management System (CMS).