320 likes | 545 Views
Client Server Technologies Middleware Technologies. Ganesh Panchanathan Alex Verstak. Overview. Ganesh Client/Server technologies Middleware Alex DirectExchange Sequoia 2000 3-Tier Architecture on the Grid. Computing models. Terminal host model File sharing model Client/Server model
E N D
Client Server TechnologiesMiddleware Technologies Ganesh Panchanathan Alex Verstak
Overview • Ganesh • Client/Server technologies • Middleware • Alex • DirectExchange • Sequoia 2000 • 3-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
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 • http://edocs.bea.com/tuxedo/tux80/atmi/intbas3.htm • http://www.sei.cmu.edu/str/descriptions/clientserver.html • http://www.sei.cmu.edu/str/descriptions/threetier.html • Middleware • 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