Anda di halaman 1dari 23

3-Tier Architecture

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 Dont require persistent connection between Client and Server Easier to move to ORB-based 3TAs

Differences between monitor based and message based architectures




Transactions


Dumb Vs Intelligent Less flexible Vs More flexible Less portable Vs More portable (Reason: middle layer not abstract from other layers)

Middle Tier


Portability


3 Tier with an Application Server




 

Most of Applications 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 & playcomponents 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

Anda mungkin juga menyukai