0% found this document useful (0 votes)
24 views27 pages

Middleware

The document discusses the evolution of distributed computing and the role of middleware in enabling communication between applications across various platforms. It outlines different types of middleware, including RPC, Object-Oriented, Message-Oriented, and Transaction Processing Monitors, along with their properties and use cases. Additionally, it explains the significance of web services as a standardized means for interoperability between diverse software applications, detailing key specifications like SOAP, WSDL, and UDDI.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views27 pages

Middleware

The document discusses the evolution of distributed computing and the role of middleware in enabling communication between applications across various platforms. It outlines different types of middleware, including RPC, Object-Oriented, Message-Oriented, and Transaction Processing Monitors, along with their properties and use cases. Additionally, it explains the significance of web services as a standardized means for interoperability between diverse software applications, detailing key specifications like SOAP, WSDL, and UDDI.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

Middleware emergence

 Distributed computing evolved from single-tier


(terminal/mainframe) to 2-tier (client-server)
to n-tier architecture

 To support heterogeneous environments open


networking standards were introduced (i.e. OSI)

 How do we build/connect applications over a


network?

 Answer: middleware

1
N-tier architecture
 More scalable architecture that
separates processing to different
servers

2
What is Middleware?
 Middleware enables applications running across
multiple platforms to communicate with each
other .

 Middleware shields the developer from


dependencies on Network Protocols, OS and
hardware platforms.

 Middleware is a software layer that lies between


the operating system and the applications on each
site of the system.

3
ODBC – primitive middleware?
 Example of primitive middleware: ODBC
 Client application is shielded from the details of
the database implementation
 Not true middleware: defines client side software
only

4
Types of Middleware
 Homegrown Middleware Solutions
 RPC (Remote Procedure Calls)
 Object-Oriented MW - ORB (Object Request
Brokers)
 MOM (Message Oriented Middleware)
 Transaction Processing Monitors

5
Homegrown Middleware
 Customized to meet specific needs
 Needs substantial investments

Pros
 Can meet specific needs
Cons
 Not cost effective
 Lacks scalability

6
Remote Procedure calls
 Procedure/Function Oriented
 Follows the Request/Reply Model
 Mode of Communication is synchronous
 Provides Location/Platform transparency
 Technologies: ONC RPC, DCE/RPC

7
Object Oriented
 Language Independent
 Provides Location and Access transparency
 Mode of Communication is Synchronous
 Competing Standards (CORBA, DCOM, RMI)

8
Message Oriented
 Data is transferred between applications as a message
 Mode Of Communication :- Asynchronous
 Basic Components of MOM
1.Message (Information that needs to be transferred)
2.Queue (A container used to store and distribute
messages)
 Types Of MOM
1. Message Queuing (Store and Forward)
2. Publish / Subscribe
 Products: IBM WebSphere MQ, TIBCO Rendezvous

Queue
App-1 App-2
9
Transaction Processing Monitors
 Transaction Processing Monitors are used for
coordinating and monitoring the efforts of various
application in a distributed environment.
 Products: Tuxedo, IBM CICS, Microsoft Transaction Server

Client App App1

App2
TPM
App3
10
Property of Transactions
 Transaction is a collection of operations that
should be treated as a single logical operation.

 To ensure reliable transactions ACID properties


are needed

11
Property of Transactions
ACID properties:
 A: Atomicity: either the entire set of operations
happens or none of it does.

12
Property of Transactions
ACID properties:
 A: Atomicity: either the entire set of operations
happens or none of it does.
 C: Consistency: the set of operations taken
together should move the system from one
consistent state to another.

13
Property of Transactions
ACID properties:
 A: Atomicity: either the entire set of operations
happens or none of it does.
 C: Consistency: the set of operations taken
together should move the system from one
consistent state to another.
 I: Isolation: even though multiple transactions
may operate concurrently, there is a total order
on all transactions. Stated another way: each
transaction perceives the system as if no other
transactions were running concurrently.

14
Property of Transactions
 Transaction is a collection of operations that should be
treated as a single logical operation.
ACID properties:
 A: Atomicity: either the entire set of operations happens or
none of it does.
 C: Consistency: the set of operations taken together should
move the system from one consistent state to another.
 I: Isolation: even though multiple transactions may operate
concurrently, there is a total order on all transactions.
Stated another way: each transaction perceives the system
as if no other transactions were running concurrently.
 D: Durability: even the face of a crash, once the system has
said that a transaction completed, the results of the
transaction must be permanent.

15
Why Web Services?
 Lack of standardization in middleware

 Web services basic platform is available


everywhere (XML, HTTP)

 Can serve as an integration tool for different


business applications across organization
boundaries without regards to what each business
uses as the internal platform

16
Why Web Services?
Can serve as an integration tool for different
business applications across organization
boundaries without regards to what each business
uses as the internal platform

17
What are Web Services?
 Web services provide a standard means of
interoperating between different software
applications, running on a variety of platforms.

18
Web Services
 Web services provide a standard means of
interoperating between different software
applications, running on a variety of platforms.

 W3C Working Group definition:


A Web service is a software system designed to
support interoperable machine-to-machine
interaction over a network…

19
Web Services
 Web services provide a standard means of
interoperating between different software
applications, running on a variety of platforms.

 W3C Working Group definition:


A Web service is a software system designed to
support interoperable machine-to-machine
interaction over a network. It has an interface
described in a machine-processable format
(specifically WSDL).

20
Web Services
 Web services provide a standard means of
interoperating between different software
applications, running on a variety of platforms.

 W3C Working Group definition:


A Web service is a software system designed to
support interoperable machine-to-machine
interaction over a network. It has an interface
described in a machine-processable format
(specifically WSDL). Other systems interact with the
Web service in a manner prescribed by its
description using SOAP messages, typically conveyed
using HTTP with an XML serialization in conjunction
with other Web-related standards
21
Web Services
 Specifications for Web Services are defined as
modules:
 SOAP
 WSDL
 UDDI

 Basic platform is XML over HTTP

22
Web Services

23
XML
 Simple markup, data description language
(based on SGML)

 Human-readable

 Customizable schema can be used to define


atributes and elements

 XML can be used to created custom XML-based


languages and services

 XML-based messages transported over HTTP


serve as the basic platform for Web Services
24
SOAP
 XML-based protocol defining message format

 One-way asynchronous technology

 Can use a variety of message passing styles: RPC,

publish/subscribe

 Primary underlying protocol is HTTP, but others


can be used (SMTP)

25
WSDL
 XML-based language

 Defines/describes Web services interfaces, data


and message types, interaction patterns and
protocol mappings

26
UDDI
 Web Services Registry (of WSDL documents)

 Protocol for discovering and publishing Web


Services

 UDDI registry is accessed by XML-based SOAP


messages

27

You might also like