3-Tier Architecture

Download Report

Transcript 3-Tier Architecture

3-Tier Architecture
Chandrasekaran Rajagopalan
Cs6704
11/01/99
Emergence




File Sharing Architecture
Client/Server architecture
Two-Tier Architecture
Three-Tier Architecture
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
File-Server Architecture
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
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
Two Tier Architecture
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
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
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
3-Tier with a TP Monitor
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.
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
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
Differences between monitor based and
message based architectures

Transactions


Middle Tier


Dumb Vs Intelligent
Less flexible Vs More flexible
Portability

Less portable Vs More portable (Reason: middle
layer not abstract from other layers)
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.
3 Tier with an Application Server
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
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
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
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
Future ?
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