Slides

advertisement
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
App-1
Queue
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
App1
Client App
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
Download