Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex

  • Slides: 27
Download presentation
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak

Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak

Overview n Ganesh n n n Client/Server technologies Middleware Alex n n n Direct.

Overview n Ganesh n n n Client/Server technologies Middleware Alex n n n Direct. Exchange Sequoia 2000 3 -Tier Architecture on the Grid

Computing models n n Terminal host model File sharing model Client/Server model Peer to

Computing models n n Terminal host model File sharing model Client/Server model Peer to Peer model

Client/Server model Client/server model is a concept for describing communications between computing processes that

Client/Server model Client/server model is a concept for describing communications between computing processes that are classified as service consumers (clients) and service providers (servers). n n n 2 Tier 3 Tier N Tier

Two Tier C/S Architecture n Layers n n n Clients Servers Functionalities n n

Two Tier C/S Architecture n Layers n n n Clients Servers Functionalities n n n User Interface – Client Business Logic – Client (Server? ? ) Database management – Server

3 Tier C/S Architecture n n n Presentation Tier Business Tier Database Tier

3 Tier C/S Architecture n n n Presentation Tier Business Tier Database Tier

2 Tier vs. 3 Tier n n n n Modularity Change management Reuse Performance

2 Tier vs. 3 Tier n n n n Modularity Change management Reuse Performance Scalability Multiple data sources ? ?

Example N-Tier Architecture J 2 EE Application Model

Example N-Tier Architecture J 2 EE Application Model

Middleware is a class of software technologies designed to help manage the complexity and

Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems.

Middleware

Middleware

Middleware n n n Enable multiple processes interact across a network Between Apps and

Middleware n n n Enable multiple processes interact across a network Between Apps and OS/Network services More functional API for: n n Heterogeneity Location transparency Reliability Scalability

Types of middleware Middleware can take the following forms: n Remote procedure call n

Types of middleware Middleware can take the following forms: n Remote procedure call n Object request broker n Transaction Processing monitor n Message oriented middleware

Transaction A Transaction means a sequence of information exchange and related work (such as

Transaction A Transaction means a sequence of information exchange and related work (such as database updating) which is treated as an unit for the purposes of satisfying a request and ensuring database integrity.

Examples of transactions n n n Purchase online using credit card Withdraw money from

Examples of transactions n n n Purchase online using credit card Withdraw money from ATM Electronic funds transfer Book an airline ticket Ordering in Inventory management Billing for phone calls

Transactional Integrity - ACID n Atomicity n n Consistency n n One consistent state

Transactional Integrity - ACID n Atomicity n n Consistency n n One consistent state to another Isolation n n Trans. must be done or undone completely Each trans. must be independent of others Durability n Completed transactions are permanent

Transaction Processing Monitors a transaction as it passes through the different stages to n

Transaction Processing Monitors a transaction as it passes through the different stages to n n Guarantee integrity of transaction Runtime resource management

TP Monitors n n Clients connect to the TP monitor TP Monitor n n

TP Monitors n n Clients connect to the TP monitor TP Monitor n n Accepts transactions Queues them Takes responsibility till they are finished Two types n n TP Heavy TP Lite

Features n n Maps requests to controlled set of processing routines for performance Ability

Features n n Maps requests to controlled set of processing routines for performance Ability to update multiple DBMSs in a single transaction Connectivity to flat files, non relational DB and legacy data Prioritize transactions

Vendor Implementations n n Tuxedo by BEA JTS by Java MTS by Microsoft CICS

Vendor Implementations n n Tuxedo by BEA JTS by Java MTS by Microsoft CICS by IBM

Message Oriented Middleware Messaging is an asynchronous method of passing information between processes n

Message Oriented Middleware Messaging is an asynchronous method of passing information between processes n n across network across platform and OS

Message Oriented middleware n Message – Self contained object n n Message header –

Message Oriented middleware n Message – Self contained object n n Message header – address, id, priority Body of the message Message is intelligent when compared to a transaction in TP systems. In TP systems n n Transactions are just packets Intelligence to handle them is in monitor

Message Oriented Middleware

Message Oriented Middleware

Features of MOM n n n n Primarily asynchronous communication Point to multi-point Ordered

Features of MOM n n n n Primarily asynchronous communication Point to multi-point Ordered delivery Receipt notification Handling duplicates Message queues – FIFO or priority basis Messages – persistent or non-persistent

Point to point messaging n n n Client may be only sender, only receiver

Point to point messaging n n n Client may be only sender, only receiver or both Single receiver Use of a message queue

Publish – Subscribe messaging n n n Free sender from knowing the receivers Messages

Publish – Subscribe messaging n n n Free sender from knowing the receivers Messages are categorized on topics List of senders/receivers is dynamic

Vendor Offerings n n MQSeries by IBM JMS by Java MSMQ by Microsoft DECMessage.

Vendor Offerings n n MQSeries by IBM JMS by Java MSMQ by Microsoft DECMessage. Q by BEA

References n Client/Server n n http: //edocs. bea. com/tuxedo/tux 80/atmi/intbas 3. htm http: //www.

References n Client/Server n n http: //edocs. bea. com/tuxedo/tux 80/atmi/intbas 3. htm http: //www. sei. cmu. edu/str/descriptions/clientserver. html http: //www. sei. cmu. edu/str/descriptions/threetier. html Middleware n n http: //www. sei. cmu. edu/str/descriptions/middleware. htm http: //www. eecs. wsu. edu/~bakken/middleware. pdf http: //www. execpc. com/~gopalan/mts/msmq. html http: //proj-cmw. web. cern. ch/proj-cmw/workshop/mom. pdf