Distributed Information Systems: Middleware
Distributed Information Systems: Middleware
MIDDLEWARE
Chapter 3
1
OVERVIEW
➢ Introduction
➢ What is Middleware
➢ History
➢ Middleware Application
➢ Middleware Architecture
➢ Uses Of Middleware
➢ Middleware Objectives
➢ Middleware in Distributed application
➢ Types Of Middleware
2
INTRODUCTION
➢ Middleware is computer software that provides services to software
applications beyond those available from the operating system.
➢ Middleware is the software layer that lies between the operating system
and the applications on each side of a distributed computer network .
3
WHAT IS MIDDLEWARE ?
4
HISTORY…
➢ Early RPC systems that achieved wide use include those by Sun.
➢ Then The OMG was formed in 1989, In the late 1990s HTTP
became a major building block for various kinds of middleware.
5
MIDDLEWARE APPLICATION
6
MIDDLEWARE ARCHITECTURE
7
USES OF MIDDLEWARE
8
MIDDLEWARE OBJECTIVES
➢ Hide heterogeneity
➢ Location independence
➢ Common functionality needed by many applications
➢ Software portability and mobile code
➢ Help integrate legacy facilities
➢ Aid application interoperability
➢ Aid scalability
9
MIDDLEWARE (DISTRIBUTED APPLICATIONS)
10
TYPES OF MIDDLEWARE
11
MOM (MESSAGE ORIENTED MIDDLEWARE)
12
MOM
13
PROPERTIES OF MOM
➢ Asynchronous interaction
• Client and server are only loosely coupled
• Messages are queued
• Good for application integration
➢ Support for reliable delivery service
• Keep queues in persistent storage
➢ Processing of messages by intermediate message server(s)
• May do filtering, transforming, logging, …
• Networks of message servers
➢ Natural for database integration
14
MOM ADVANTAGES
➢ Asynchronous
➢ Flexible
➢ Portability
➢ Interoperability
➢ Reduces Complexity
15
DISADVANTAGE OF MOM
➢ Poor programming abstraction (but has evolved)
• Rather low-level (cf. Packets)
• Request/reply more difficult to achieve, but can be done
16
MOM PRODUCTS
17
MOM - ARCHITECTURE
J2EE Application
A
P 2 3
P
Process C C Listener
L
I Message
C
A 4
T Process B B Transaction
I
O Message
N
ProcessA 6
5 7
8 Listener
A
Q1 Q2 Message
1
Message Message
Middle Layer
9 Database
18
RPC (REMOTE PROCEDURE CALL)
➢ An inter-process communication.
19
RPC
20
PROPERTIES OF RPC
➢ Language-level pattern of function call
• easy to understand for programmer
➢ Synchronous request/reply interaction
• natural from a programming language point-of-view
• matches replies to requests
• built in synchronisation of requests and replies
➢ Distribution transparency (in the no-failure case)
• hides the complexity of a distributed system
➢ Various reliability guarantees
• deals with some distributed systems aspects of failure
21
DISADVANTAGES OF RPC
➢ Synchronous request/reply interaction
• tight coupling between client and server
• client may block for a long time if server loaded leads to multi-threaded
programming at clines
• slow/failed clients may delay servers when reply multi-threading
essential at servers
➢ Distribution Transparency
• Not possible to mask all problems
➢ RPC paradigm is not object-oriented
• invoke functions on servers as opposed to methods on objects
22
ORB (OBJECT REQUEST BROKER)
23
ORB
ORB
Activate service
Locate service
Establish
connection
communicate
24
ADVANTAGES OF ORB
➢ portable.
25
DISADVANTAGES OF ORB
26
TRANSACTION PROCESSING MONITORS
27
TRANSACTION PROCESSING MONITOR
Client
Client
Processing
Routines
Transaction Processing
Client Monitor
Client
Database
Client
28
TP MONITORS
➢ Some commercial TP monitors: CICS from IBM, Pathway from Tandem, Top End
from NCR, and Encina from Transarc
29
COMMON SERVICES PROVIDED BY TP MONITORS
30