23
3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Embed Size (px)

Citation preview

Page 1: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3-Tier Architecture

Chandrasekaran RajagopalanCs6704

11/01/99

Page 2: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Emergence

File Sharing Architecture Client/Server architecture Two-Tier Architecture Three-Tier Architecture

Page 3: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

File Sharing Architecture Server downloads files from shared

location to Desktop environment Job is run at the desktop environment Works if

Shared usage is low Data transferred is low Contention is low

Page 4: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

File-Server Architecture

Page 5: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Client/Server Architecture Database server to replace File server Query based approach Reduced traffic, since required content is

only transferred Improves multi-user updating RPC or SQL typically used

Page 6: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Two-Tier Architecture Example of C/S Architecture Improves scalability over File Sharing

Architecture Consists of 3 components

User system interface Processing Management Database Management

Page 7: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Two Tier Architecture

Page 8: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Two-Tier Architecture Limitations

Performance deteriorates if number of users is greater than 100

Restricted flexibility and choice of DBMS, since data language used in server is proprietary to each vendor

Limited functionality in moving program functionality across servers

Page 9: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Three-Tier Architecture To overcome the limitations of Two-Tier

Architecture Middle tier between UI and DB Ways of incorporating Middle-Tier

Transaction processing Monitors Application Servers Message Servers

Page 10: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3-Tier with a TP Monitor Online access through

Time sharing or Transaction Processing Client connects to TP instead of DB Monitor accepts transaction, queues it and

takes responsibility until it is completed Asynchrony is achieved

Page 11: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3-Tier with a TP Monitor

Page 12: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Key services provided by the monitor ability to update multiple different DBMS in a single

transaction connectivity to a variety of data sources, including

flat files non relational DBMS mainframe

more scaleable than a 2-tier approach ability to attach priorities to transactions robust security For large (e.g., 1,000 user) applications, a TP monitor is

one of the most effective solutions.

Page 13: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3-Tier With a Messaging Server A message is a self-contained element

(treated as objects) Message knows what it is,where to go,

what to do (Intelligent) Contains two parts

Message header Address, id and priority

Body of the Message

Page 14: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Messaging Systems Designed for robustness Independent from underlying technologies

(wired or wireless protocols) Use store& forward logic and provide

message delivery after and around failures Don’t require persistent connection

between Client and Server Easier to move to ORB-based 3TAs

Page 15: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Differences between monitor based and message based architectures

Transactions Dumb Vs Intelligent

Middle Tier Less flexible Vs More flexible

Portability Less portable Vs More portable (Reason: middle

layer not abstract from other layers)

Page 16: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3 Tier with an Application Server Most of Application’s business logic is

moved to Shared host server PC is used only for presentation services Approach is similar to X Architecture

Both aim at pulling the main body of application logic off the desktop and running it on a shared host.

Page 17: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3 Tier with an Application Server

Page 18: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Advantages to Application Designer Less software on client, hence less to worry

about security Application is more scalable Less software maintenance cost Easier to design the application to be

DBMS-agnostic Allows “after the fact” application

partitioning

Page 19: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

3-Tier With an Object DBMS Using ODBMS as Middle layer ODBMS acts as “hot Cache” Retrieve, assemble and Store persistent until

required For Generalized form of storage in DBMS (server)

may be inadequate for specific application E.g: Voice or Video not supported by RDBMS

Page 20: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Distributed/Collaborative Enterprise Architectures

Based on ORB technology Goes beyond CORBA by using shared,

reusable business models(not just objects) Applications built with “plug &

play”components Performance tuning can be made, by

transferring processes

Page 21: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Distributed/Collaborative Enterprise Architectures

same interface can be used for building a desktop, single location application or a fully distributed application

application can be developed and tested locally

technical issues like queuing, timing and protocols aren't an issue for the application developer

Page 22: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

Future ?

Page 23: 3-Tier Architecture Chandrasekaran Rajagopalan Cs6704 11/01/99

References http://news.dci.com/geos/ http://javaexchange.com/dcb_white.html http://www.sei.cmu.edu/str/descriptions/

Distributed/Collaborative Enterprise Architectures Two Tier Software Architectures Three Tier Software Architectures Middleware Client Server Software Architectures