Middleware emergence

watermelonroachdaleInternet and Web Development

Jul 30, 2012 (5 years and 3 months ago)

228 views

1

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


2

N
-
tier architecture


More scalable architecture that separates
processing to different servers

3

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.


4

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


5

Types of Middleware


Homegrown Middleware Solutions


RPC (Remote Procedure Calls)


Object
-
Oriented MW
-

ORB (Object Request
Brokers)


MOM (Message Oriented Middleware)


Transaction Processing Monitors



6

Homegrown Middleware


Customized to meet specific needs


Needs substantial investments


Pros


Can meet specific needs

Cons


Not cost effective


Lacks scalability


7

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


8

Object Oriented


Language Independent


Provides Location and Access transparency


Mode of Communication is Synchronous


Competing Standards

(CORBA, DCOM, RMI)




9

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

App
-
2

Queue


10

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

TPM

App1

App2

App3

11

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

12

Property of Transactions

ACID properties:


A: Atomicity: either the entire set of operations
happens or none of it does.

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.

14

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.

15

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.

16

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


17

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


18

What are Web Services?


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


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…

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

21

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


22

Web Services


Specifications for Web Services are defined as
modules:


SOAP


WSDL


UDDI



Basic platform is XML over HTTP




23

Web Services

24

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


25

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)


26

WSDL


XML
-
based language



Defines/describes Web services interfaces, data and
message types, interaction patterns and protocol
mappings


27

UDDI


Web Services Registry (of WSDL documents)



Protocol for discovering and publishing Web Services



UDDI registry is accessed by XML
-
based SOAP
messages