Sie sind auf Seite 1von 35

MIDDLEWARE

Presentation By,
RISHIKESE M.R.
S7 CS-B
SOE, CUSAT
2

SPECIAL THANKS TO …

MY GUIDE :NEETHU S. KUMAR


OUR CO-ORDIANTOR: Dr. SUDHEEP ELAYIDOM

School of Engineering,CUSAT
3

OVERVIEW
• Introduction
• What is Middleware
• History
• Middleware Application
• Middleware Architecture
• Uses Of Middleware
• Middleware Objectives
• Middleware in Distributed application
• Types Of Middleware
• Conclusion
• Reference
School of Engineering,CUSAT
4

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.
School of Engineering,CUSAT
5

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.

School of Engineering,CUSAT
6

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.

School of Engineering,CUSAT
7

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.

School of Engineering,CUSAT
8

MIDDLEWARE ARCHITECTURE

School of Engineering,CUSAT
9

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.

School of Engineering,CUSAT
10

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

School of Engineering,CUSAT
11

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.

School of Engineering,CUSAT
12

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

School of Engineering,CUSAT
13

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.

School of Engineering,CUSAT
14

MOM

School of Engineering,CUSAT
15

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
School of Engineering,CUSAT
16

MOM ADVANTAGES
● Asynchronous
● Flexible
● Portability
● Interoperability
● Reduces Complexity

School of Engineering,CUSAT
17

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?)

School of Engineering,CUSAT
18

MOM PRODUCTS
• IBM Websphere MQ Series
• Sonic MQ
• MS MQ
• Java Message Queue

School of Engineering,CUSAT
19

MOM - ARCHITECTURE
J2EE Application
A
P 2 3
P Process C C Listener
L
I Message
C 4
A
T
Process B B Transaction
I Message
O
N Process A 6
5 7
8 Listener
A
Q1 Q2 Message
1
Message Message

Middle Layer

9 Database

School of Engineering,CUSAT
20

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.

School of Engineering,CUSAT
21

RPC

School of Engineering,CUSAT
22

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
School of Engineering,CUSAT
23

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
School of Engineering,CUSAT
24

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

School of Engineering,CUSAT
25

ORB
ORB

Activate service
Locate service

Establish
connection

communicate

Client Application Remote Service


(Object)

School of Engineering,CUSAT
26

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.

School of Engineering,CUSAT
27

DISADVANTAGES OF ORB

 Specified by consensus and compromise.


No reference implementation.
Not perfect.

School of Engineering,CUSAT
28

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.

School of Engineering,CUSAT
29

TRANSACTION PROCESSING
MONITOR

Client

Client
Processing
Routines
Transaction
Client Processing
Monitor

Client

Database
Client

School of Engineering,CUSAT
30

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

School of Engineering,CUSAT
31

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.

School of Engineering,CUSAT
32

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.

School of Engineering,CUSAT
33

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

School of Engineering,CUSAT
34

QUESTIONS ???

School of Engineering,CUSAT
THANK YOUYOU

Das könnte Ihnen auch gefallen