Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak
Overview Ganesh Client/Server technologies Middleware Alex DirectExchange Sequoia Tier Architecture on the Grid
Computing models 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 are classified as service consumers (clients) and service providers (servers). 2 Tier 3 Tier N Tier
Two Tier C/S Architecture Layers Clients Servers Functionalities User Interface – Client Business Logic – Client (Server??) Database management – Server
3 Tier C/S Architecture Presentation Tier Business Tier Database Tier
2 Tier vs. 3 Tier Modularity Change management Reuse Performance Scalability Multiple data sources ????
Example N-Tier Architecture J2EE Application Model
Middleware Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems.
Middleware
Enable multiple processes interact across a network Between Apps and OS/Network services More functional API for: Heterogeneity Location transparency Reliability Scalability
Types of middleware Middleware can take the following forms: Remote procedure call Object request broker Transaction Processing monitor Message oriented middleware
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 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 Atomicity Trans. must be done or undone completely Consistency One consistent state to another Isolation Each trans. must be independent of others Durability Completed transactions are permanent
Transaction Processing Monitor Monitors a transaction as it passes through the different stages to Guarantee integrity of transaction Runtime resource management
TP Monitors Clients connect to the TP monitor TP Monitor Accepts transactions Queues them Takes responsibility till they are finished Two types TP Heavy TP Lite
Features 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 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 across network across platform and OS
Message Oriented middleware Message – Self contained object Message header – address, id, priority Body of the message Message is intelligent when compared to a transaction in TP systems. In TP systems Transactions are just packets Intelligence to handle them is in monitor
Message Oriented Middleware
Features of MOM 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 Client may be only sender, only receiver or both Single receiver Use of a message queue
Publish – Subscribe messaging Free sender from knowing the receivers Messages are categorized on topics List of senders/receivers is dynamic
Vendor Offerings MQSeries by IBM JMS by Java MSMQ by Microsoft DECMessageQ by BEA
References Client/Server Middleware