Middleware

What is Middleware?
‡ Middleware is computer software that connects software components or applications. ‡ The software consists of a set of services that allows multiple processes running on one or more machines to interact across a network. ‡ This technology evolved to provide for interoperability in support of the move to coherent distributed architectures, which are used most often to support and simplify complex, distributed applications. ‡ It includes web servers, application servers, and similar tools that support application development and delivery. ‡ Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and Service-Oriented Architecture (SOA).
6/28/2010 Vikas Prasad 2

Middleware Providers
‡ IBM, Red Hat, and Oracle Corporation are major vendors providing middleware software. ‡ Vendors such as Axway, SAP, TIBCO, Mercator Software, Crossflo, Vitria and webMethods were specifically founded to provide Web-oriented middleware tools. ‡ Groups such as the Apache Software Foundation and the ObjectWeb Consortium encourage the development of open source middleware.
6/28/2010 Vikas Prasad 3

Uses of Middleware·s
Middleware services provide a more functional set of API·s to allow an application to: ‡ Locate transparently across the network, thus providing interaction with another service or application ‡ Be independent from network services ‡ Be reliable and always available when compared to the operating system and network services.

6/28/2010

Vikas Prasad

4

Types of Middleware·s
Hurwitz's classification system organizes the many types of middleware that are currently available. These classifications are based on scalability and recoverability: ‡ RPC·s ³ Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous. ‡ MOM·s ³ Messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing. ‡ ORB·s ³ This type of middleware makes it possible for applications to send objects and request services in an object-oriented system. ‡ SQL-oriented Data Access ³ middleware between applications and database servers. ‡ Embedded Middleware ³ communication services and integration interface software/firmware that operates between embedded applications and the real time operating system.

6/28/2010

Vikas Prasad

5

Other Middleware·s
Additional classification includes: ‡ TP Monitors ³ Provides tools and an environment to develop and deploy distributed applications ‡ Application Servers ³ software installed on a computer to facilitate the serving (running) of other applications. ‡ Enterprise Service Bus ³ An abstraction layer on top of an Enterprise Messaging System.

6/28/2010

Vikas Prasad

6

Where does Middeware lies?
CLIENT MIDDLEWARE SERVER

SERVICE SPECIFIC
ODBC TxRPC MAIL ORB HTTP

OBJECTS WEB

WEB BROWSER
SNMP

DSM
CMIP TIVOLI/ORB

GUI/OOGUI DSM OS
NOS
Directory RPC Security Messaging Distributed File Peer-to-Peer

GROUPWARES OLTP DBMS
TRANSPORT STACK
NetBIOS TCP/IP IPX/SPX SNA

6/28/2010

Vikas Prasad

7