You are on page 1of 18

Middleware

Middleware
• Middleware is a general term for software
that serves to "glue together" separate, often
complex and already existing, programs. Some
software components that are frequently
connected with middleware include
enterprise applications and Web services.
• For Example:
• The middleware that is used to connect a
database system with a web server.
• This allows a user to request data from a
database using forms displayed on a Web
browser, while also allowing for the Web
server to return Web pages based on the
user's request.
Origin
• Middleware gained popularity in the 1980s as
a solution to the problem of how to link newer
applications to older legacy systems. It also
facilitated distributed processing, the
connection of multiple applications to create a
larger application, usually over a network.
• With businesses using so many different
software programs to fill their needs, it's
necessary that the different programs work
together to get the end results they are
looking for.
• In such situations, middleware is required.
• As mentioned earlier, the term middleware is
used to describe products that serve as the
glue between two applications.
• "Middleware is sometimes called plumbing
because it connects two sides of an
application and passes data between them."
Illustration:
Some of the ways middleware services can
be used:
• Security: Authenticating particular client
programs to some system component to
verify, for example, that the client program
and its user are really who they say they are.
• Transaction management: Ensures that a
system or database don't get corrupted if
problems occur.
• Message queues: Enables loosely coupled systems to
pass messages back and forth to each other. These
messages can trigger actions or transactions to occur.

• Application server: A server that hosts an


application programming interface (API), which
exposes business logic and business processes so
that other applications can use the shared logic and
processes
• Web server: A computer program that is
responsible for accepting requests from Web
browsers, as well as sending responses and
content to those browsers — usually Web
pages, such as HTML documents, and linked
objects, such as images.
• Directory: Enables a client program to find
other services or servers located in a
distributed enterprise
Note:
• What may be "middleware" in one case won't necessarily be
in another.
• In general, middleware should have at least the following
characteristics:
I. Primarily (usually exclusively) software; usually doesn't
need any specialized hardware.
II. If it weren't there, applications that depend on it would
have to incorporate it as part of their application and would
experience a lot of duplication.
III. Almost certainly connects two applications and passes data
between them.
Examples of Common middleware

• Enterprise Service Bus  (ESBs)


• TP monitors
• Distributed Computing Environment (DCE) 
• Remote Procedure Call (RPC) systems
• Object Request Brokers (ORBs)
• Database access systems
• Message Passing
Categories of Middleware
• Distributed computing system middleware can
loosely be divided into two categories :
I. Those that provide human-time services
(such as web request servicing)
II. and those that perform in machine-time. 
Types of Middleware
1. MESSAGE ORIENTED MIDDLEWARE

This type of middleware is an infrastructure that supports the


receiving and sending of messages over distributed
applications. It enables applications to be disbursed over
various platforms and makes the process of creating software
applications spanning many operating systems and network
protocols much less complicated.

Examples include:
• Multiplatform MOM for IBM.Available on IBM
• Various APIs such as JMS, XMS ,MQI
2.OBJECT MIDDLEWARE

• Object middleware, also called an object request


broker, gives applications the ability to send objects
and request services via an object oriented system.
• In short, it manages the communication between
objects.
• Examples include 
• CORBA.
•  Distributed Component Object Model (DCOM)
•  Enterprise JavaBeans (EJB) by  Oracle Corporation.
3.REMOTE PROCEDURE CALL (RPC) MIDDLEWARE

• RPC is a powerful technique for constructing


distributed, client-server based applications. It is
based on extending the notion of conventional, or
local procedure calling, so that the called procedure
need not exist in the same address space as the
calling procedure.
• Remote Procedure Call (RPC) is a protocol that one
program can use to request a service from a
program located in another computer in a network
without having to understand network details. 
4. DATABASE MIDDLEWARE

• This type of middleware allows for direct


access to databases, providing direct
interaction with them. There are many
database gateways and connectivity options.
You simply have to see what will work best for
your necessary solution. This is the most
general and commonly known type of
middleware.
• This includes SQL database software.
5. TRANSACTION MIDDLEWARE
This type of middleware includes applications like transaction processing
monitors. It also encompasses web-application servers. These types of
middleware are becoming more and more common today.
6. PORTALS
This refers to enterprise portal servers.
An enterprise portal is a framework for integrating information, people and
processes across organizational boundaries
It is considered middleware because portals facilitate front-end integration.
They are used to create interactions between a user’s computer or device
and back-end systems and services. E.g Content Management System
7. EMBEDDED MIDDLEWARE
This type of middleware allows for communication and integration services
with an interface of software or firmware. It acts as a liaison between
embedded applications and the real-time operating system.

You might also like