0% found this document useful (0 votes)
85 views30 pages

Distributed Information Systems: Middleware

The document discusses middleware, providing an overview and introduction. Middleware is software that connects other software applications and hides the complexity of distributed systems. It describes the history of middleware and common types like message-oriented middleware, remote procedure calls, object request brokers, and transaction processing monitors. It explains key concepts like location transparency, common services, and how middleware supports distributed applications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views30 pages

Distributed Information Systems: Middleware

The document discusses middleware, providing an overview and introduction. Middleware is software that connects other software applications and hides the complexity of distributed systems. It describes the history of middleware and common types like message-oriented middleware, remote procedure calls, object request brokers, and transaction processing monitors. It explains key concepts like location transparency, common services, and how middleware supports distributed applications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Distributed Information Systems

MIDDLEWARE
Chapter 3

Dr. Abbas Abdulazeez Abdulhameed

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 makes it easier for software developers to perform


communication and input/output, so they can focus on the specific
purpose of their application.

➢ Middleware is the software that connects software components or


enterprise applications.

➢ Middleware is the software layer that lies between the operating system
and the applications on each side of a distributed computer network .

➢ Typically, it supports complex, distributed business software


applications.

3
WHAT IS MIDDLEWARE ?

➢Layer between OS and distributed applications.

➢ Hides complexity and heterogeneity of distributed system .

➢ Software that functions as a conversion or translation layer.

➢ Bridges gap between low-level OS communications and


programming language abstractions.

➢ Provides common programming abstraction and infrastructure


for distributed applications.

4
HISTORY…

➢ Till 1980 most computing was based on central host computers.


The term middleware first appeared in the late 1980s to describe
network connection management software RPC was first
developed circa 1982 by Birrell and Nelson.

➢ 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

➢ Middleware services are sets of distributed software that provide


a more functional set of APIs than does the operating system and
network services.
➢ Locate transparently across the network, providing interaction
with another application or service.

➢ Be independent from network services.

➢ Be reliable and available.

➢ Scale up in capacity without losing functionality.

6
MIDDLEWARE ARCHITECTURE

7
USES OF MIDDLEWARE

➢ Be reliable and available.

➢ Scale –up in capacity without losing function.

➢ Middleware reduces application development and maintenance


efforts.

➢ Middleware provides distributed computing.

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)

➢ Middleware in the context of distributed applications is software that


provides services beyond those provided by the operating system to enable
the various components of a distributed system to communicate and
manage data.

➢ Middleware supports and simplifies complex distributed applications.

➢ It includes web servers, application servers, messaging 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.

10
TYPES OF MIDDLEWARE

There are different types of middleware and we are going to


discuss about.

➢ MESSAGE ORIENTED MIDDLEWARE

➢ REMOTE PROCEDURE CALLS

➢ OBJECT REQUEST BROKER

➢ TRANSACTION PROCESSING MONITORS

11
MOM (MESSAGE ORIENTED MIDDLEWARE)

➢ MOM is a client / server infrastructure which allows the application to be


distributed over multiple heterogeneous platforms.

➢ Reduces complexity of applications spanning operating systems and network


protocols by insulating them from un-necessary details.

➢ Data is exchanged by message passing and/or message queuing.

➢ Providing the directory, security, and administrative services required to support


messaging.

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

➢ Message formats originally unknown to middleware


• No type checking (JMS addresses this – implementation?)

➢ Queue abstraction only gives one-to-one communication


• Limits scalability (JMS pub/sub – implementation?)

16
MOM PRODUCTS

➢ IBM Websphere MQ Series


➢ Sonic MQ
➢ MS MQ
➢ Java Message Queue

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.

➢ Allows a computer program to cause a subroutine or procedure to


execute in another address space without the programmer.

➢ Explicitly coding the details for this remote interaction.

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)

➢ Middleware infrastructure that support the development of distributed


object-oriented applications .

➢ CORBA (Common Object Request Broker Architecture) is the most


common example .

➢ Distributed Component Object Model (DCOM) and COM+ specific to


Microsoft is another example

23
ORB

ORB

Activate service
Locate service

Establish
connection

communicate

ClientApplication Remote Service


(Object)

24
ADVANTAGES OF ORB

➢ vendor-neutral and open standard.

➢ portable.

➢ wide variety of implementations.

➢ hardware platforms, operating systems and languages.

➢ takes the grunt work out of distributed programming.

25
DISADVANTAGES OF ORB

➢ Specified by consensus and compromise.


➢ No reference implementation.
➢ Not perfect.

26
TRANSACTION PROCESSING MONITORS

➢ For long the dominant form of middleware.

➢ Main goal is to support execution of distributed


transactions.

➢ Is a set of information which process the data transaction


in database system.

27
TRANSACTION PROCESSING MONITOR

Client

Client
Processing
Routines
Transaction Processing
Client Monitor

Client

Database
Client

28
TP MONITORS

➢ TP monitors initially developed as multithreaded servers to support large numbers


of terminals from a single process.

➢ Provide infrastructure for building and administering complex transaction


processing systems with a large number of clients and multiple servers.

➢ 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

➢ Presentation facilities to simplify creating user interfaces.

➢ Persistent queuing of client requests and server responses.

➢ Routing of client messages to servers.

➢ Coordination of two-phase commit when transactions access


multiple servers.

30

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy