Upload
rishikese-mr
View
760
Download
7
Tags:
Embed Size (px)
DESCRIPTION
The seminar discuss about the common middleware concept and middleware in distributed applications .Also we discuss about 4 different types of middleware. MOM( Message oriented Middleware), ORB (object request broker), TP Monitors, Request procedure calls RPC. The slide also gives the advantages and disadvantages of each.
Citation preview
MIDDLEWARE
Presentation By,
RISHIKESE M.R.
S7 CS-B
SOE, CUSAT
SPECIAL THANKS TO …
MY GUIDE :NEETHU S. KUMAR
OUR CO-ORDIANTOR: Dr. SUDHEEP ELAYIDOM
2
School of Engineering,CUSAT
OVERVIEW• Introduction
• What is Middleware
• History
• Middleware Application
• Middleware Architecture
• Uses Of Middleware
• Middleware Objectives
• Middleware in Distributed application
• Types Of Middleware
• Conclusion
• Reference
3
School of Engineering,CUSAT
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.
4
School of Engineering,CUSAT
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.
5
School of Engineering,CUSAT
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.
6
School of Engineering,CUSAT
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.
7
School of Engineering,CUSAT
MIDDLEWARE ARCHITECTURE
8
School of Engineering,CUSAT
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.
9
School of Engineering,CUSAT
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
10
School of Engineering,CUSAT
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.
11
School of Engineering,CUSAT
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
12
School of Engineering,CUSAT
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.
13
School of Engineering,CUSAT
MOM
14
School of Engineering,CUSAT
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
15
School of Engineering,CUSAT
MOM ADVANTAGES
● Asynchronous
● Flexible
● Portability
● Interoperability
● Reduces Complexity
16
School of Engineering,CUSAT
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?)
17
School of Engineering,CUSAT
MOM PRODUCTS
• IBM Websphere MQ Series
• Sonic MQ
• MS MQ
• Java Message Queue
18
School of Engineering,CUSAT
MOM - ARCHITECTURE
Database
Transaction
J2EE Application
Middle Layer
Listener
Listener
Message
Message
Message
MessageMessage
Process C
Process B
Process A
A
P
P
L
I
C
A
T
I
O
N
1
2 3
4
5 67
8
0
9
C
B
AQ1 Q2
19
School of Engineering,CUSAT
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.
20
School of Engineering,CUSAT
RPC
21
School of Engineering,CUSAT
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
22
School of Engineering,CUSAT
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 client
• slow/failed clients may delay servers when replying
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
23
School of Engineering,CUSAT
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
24
School of Engineering,CUSAT
ORB
Client ApplicationRemote Service
(Object)
ORB
Locate serviceActivate service
communicate
Establish
connection
25
School of Engineering,CUSAT
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.
26
School of Engineering,CUSAT
DISADVANTAGES OF ORB
Specified by consensus and compromise.
No reference implementation.
Not perfect.
27
School of Engineering,CUSAT
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.
28
School of Engineering,CUSAT
TRANSACTION PROCESSING MONITOR
Database
Processing
Routines
Client
Client
Client
Client
Client
Transaction
Processing
Monitor
29
School of Engineering,CUSAT
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
30
School of Engineering,CUSAT
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.
31
School of Engineering,CUSAT
CONCLUSION
● Middleware is connectivity software .
● Consists of a set of enabling services.
• Middleware is independent of network services.
● Allow multiple processes running on one or more machines to interact with each other.
● Middleware services are sets of distributed software.
● Middleware is an important abstraction for building distributed systems.
32
School of Engineering,CUSAT
REFERNCE
• www.google.com\images
• Slideshare.com
• Wikipedia
• http://www.chetanasprojects.com/Thread-MIDDLEWARE-TECHNOLOGY-Seminar
• http://seminarprojects.com/Thread-middleware-technologies
• http://eprints.ucl.ac.uk/674/1/corba
• http://www.swing-grid.ch/resources/middleware_tools
33
School of Engineering,CUSAT
QUESTIONS ???
34
School of Engineering,CUSAT
THANK YOUYOU