3-Tier Architecture
3-Tier Architecture
Prepared By
Channu Kambalyal
Page 1 of 19
3-Tier Architecture
Table of Contents
1.0 Traditional Host Systems........................................................................................ 3
2.0 Distributed Systems................................................................................................ 4
3.0 Client/Server Model ................................................................................................ 5
4.0 Distributed Client/Server Model .............................................................................. 6
5.0 Inter-process Communication................................................................................. 7
6.0 Benefits of the Client/Server Model ........................................................................ 8
7.0 Client/Server 2-Tier Architecture ............................................................................ 9
8.0 3-Tier Client/Server Architecture .......................................................................... 11
9.0 Middleware ........................................................................................................... 13
10.0 Architectures in Discover Financial Services ...................................................... 14
10.1 Current DAS Architecture................................................................................ 14
10.2 Migration from DAS-Tuxedo based to J2EE - WebSphere based system ...... 15
10.3 Future WebSphere Based System.................................................................. 16
11.0 Architecture Trends ............................................................................................ 17
11.1 Web Services, J2EE Connectors, Message Brokers, etc................................ 17
11.2 Business Process Management (BPM)........................................................... 19
Page 2 of 19
3-Tier Architecture
1.0 Traditional Host Systems
A Central Processing System (Mainframe) provides all processing.
Local Terminals are responsible for display and keyboard for user input and viewing
capabilities. Local Terminals do not contain any intelligent processing capabilities.
Computer
Keyboard
Computer
Keyboard
Mainfram e
Computer
Keyboard
Figure 1.0.1 Non-Client-Server System
File Server and retrieval processing provided by File Server
Word Processing and spreadsheet processing provided by PC workstation.
Computer
Keyboard
Server
Computer
Keyboard
Mainframe
Computer
Keyboard
Server
Computer
Keyboard
Figure 1.0.2 Traditional Host System with LAN
Page 3 of 19
3-Tier Architecture
2.0 Distributed Systems
Distributed System
Both data and transaction processing are divided between one or more computers
connected by a network, each computer playing a specific role in the system.
Replication
Ensures data at all sites in a distributed system reflects any changes made anywhere
in the system.
Corporate Data Centers
Data Queries Computer
Computer
Computer
Da
Host s
ta
U Regional Centers sk
pd ta
g
at server tin
es
R ou
Computer
Database RoutineTasks Computer
Computer
s
sk
Data Replication Ta
g
in
out
server R
Computer
Database Routine tasks Computer
s
te
Computer
da Ro
uti
Up n e
t a ta
Da sk
s
Computer
Data Queries Computer
Computer
Host
Figure 1.3. Distributed Data Centers
Page 4 of 19
3-Tier Architecture
3.0 Client/Server Model
• Complements distributed systems
• Responds to limitations found in the two host data processing models:
1. The traditional mainframe host model, in which a single mainframe
provides shared data access to many dumb terminals, and;
2. The local area network (LAN) model, in which many isolated systems
access a file server that provides no central processing power.
• Provides integration of data and services
• Application Processing provided by multiple tiers –
1. Database Server
2. Application Server
3. PC Workstation
Application
Server PC
Workstations
server
Computer
Database
Computer
Computer
Application
Services
Database retrievel and updating Application Logic GUI presentation
Figure 3.1 Client/Server 3-Tier Model
Page 5 of 19
3-Tier Architecture
4.0 Distributed Client/Server Model
• Application processing provided by all tiers of the network –
1. Mainframe
2. Application Servers
3. Workstations
• Multiple databases to support distributed data requirements
• Supports high volume, load balancing and scalability (extendibility)
• Requires extensive network administration and application management.
Application
Server PC
Workstations
Computer
Computer
GUI
Application Logic Computer
presentation
Application PC
Mainframe Workstations
Server
Computer
Database
Computer
Computer
Database retrievel
and updating Application PC
Server Workstations
Computer
Computer
Datab
ase
Computer
Figure 4.1 Distributed Client/Server Model
Page 6 of 19
3-Tier Architecture
5.0 Inter-process Communication
• Basis for client/server computing
• Client process communicates with server process
• Each process performs separate functions
• Data is passed between processes using IPC functions
Client Process Server Process
Get input from
user
Receive request
Request Inter-process for processing
processing from Communication
server
Pipes
FIFOs Relational
Message Queues Retreive and Database
Semaphores process data
Shared Memory
Sockets
Receive returned
Streams
values
Return values
Display output to
user
Figure 5.1 Inter-Process Communication
Page 7 of 19
3-Tier Architecture
6.0 Benefits of the Client/Server Model
• Divides Application Processing across multiple machines:
Non-critical data and functions are processed on the client
Critical functions are processed on the server
• Optimizes Client Workstations for data input and presentation (e.g., graphics
and mouse support)
• Optimizes the Server for data processing and storage (e.g., large amount of
memory and disk space)
• Scales Horizontally – Multiple servers, each server having capabilities and
processing power, can be added to distribute processing load.
• Scales Vertically - Can be moved to more powerful machines, such as
minicomputer or a mainframe to take advantage of the larger system’s
performance
• Reduces Data Replication - Data stored on the servers instead of each client,
reducing the amount of data replication for the application.
Page 8 of 19
3-Tier Architecture
7.0 Client/Server 2-Tier Architecture
Two-tier client/server architectures have 2 essential components
1. A Client PC and
2. A Database Server
2-Tier Considerations:
• Client program accesses database directly
o Requires a code change to port to a different database
o Potential bottleneck for data requests
o High volume of traffic due to data shipping
• Client program executes application logic
o Limited by processing capability of client workstation (memory, CPU)
o Requires application code to be distributed to each client workstation
Client Workstation
Server Machine
Client Program
GUI presentation
logic Da
ta
database request re q
ue
Da s te
ta d
ret
u rn
File Access ed
Routines
Database Management
System
Client Workstation
sted
re que
a
Client Program Dat ed
turn
GUI presentation a ta re Database Files
D
logic
database request
File Access
Routines
Figure 7.1 Client/Server 2-Tier Architecture
Page 9 of 19
3-Tier Architecture
Two – Tier Pros and Cons
Advantages Disadvantages
Development Issues: Development Issues:
• Simple structure • Complex application rules difficult to
• Easy to setup and maintain implement in database server – requires
more code for the client
• Complex application rules difficult to
implement in client and have poor
performance
• Changes to business logic not
automatically enforced by a server –
changes require new client side software
to be distributed and installed
• Not portable to other database server
platforms
Performance: Performance:
• Adequate performance for low to medium • Inadequate performance for medium to
volume environments high volume environments, since
database server is required to perform
• Business logic and database are business logic. This slows down database
physically close, which provides higher operations on database server.
performance.
Page 10 of 19
3-Tier Architecture
8.0 3-Tier Client/Server Architecture
3-Tier client-server architectures have 3 essential components:
1. A Client PC
2. An Application Server
3. A Database Server
3-Tier Architecture Considerations:
• Client program contains presentation logic only
o Less resources needed for client workstation
o No client modification if database location changes
o Less code to distribute to client workstations
• One server handles many client requests
o More resources available for server program
o Reduces data traffic on the network
Server Machine Server Machine
Client Workstation
Client Program Server Program Database
GUI presentation Application Logic Management
Requests for aplication Database Requests System
function
Communication Communication Database
Functions Functions File
Figure 1.8. Typical 3 – Tier Architecture
Page 11 of 19
3-Tier Architecture
3 – Tier Pros and Cons
Advantages Disadvantages
Development Issues: Development Issues:
• Complex application rules easy to • More complex structure
implement in application server • More difficult to setup and maintain.
• Business logic off-loaded from database
server and client, which improves
performance
• Changes to business logic automatically
enforced by server – changes require only
new application server software to be
installed
• Application server logic is portable to
other database server platforms by virtue
of the application software
Performance: Performance:
• Superior performance for medium to high • The physical separation of application
volume environments servers containing business logic
functions and database servers containing
databases may moderately affect
performance.
Page 12 of 19
3-Tier Architecture
9.0 Middleware
Simplifies 3-tier application development and administration by providing an extra application server
layer to manage communication between components.
Middleware Characteristics:
o Simplifies partitioning of application processing among clients and servers
o Manages distributed transactions among multiple databases
o Communicates with heterogeneous database products within a single application.
o Supports application scalability
o Supports service requests prioritization, load-balancing, data dependant routing and queuing.
Server
Client
Application
Servers
Client Client-Side Cimmunication Server-Side
Application Middelware (IPC) Middleware
Relational
Database
Figure 1.9 Middleware
Page 13 of 19
3-Tier Architecture
10.0 Architectures in Discover Financial Services
10.1 Current DAS Architecture
TUXEDO DOMAIN in 7 Centers
AIX - Tuxedo Based Application Server
Primary
Databasein Database
Riverwoods Appl.
Svc.
(Req.
BATCH Routers)
Processes About 500 to 4000
PC Clients in 7
centers
AIX - Tuxedo Based Application Server
SNA over TCP/IP
IIOP Java Clients
CORBA
UOW
Gtway Servers
Mgr
Svc (Tuxedo-
Svc
Client) Java Clients
Mainframe
Java Clients
Partial Application Logic
GUI presentation & most of the App Logic
Fig. 10.1 Current DAS Architecture
Key Features:
1. DAS – built on DCE-RPC based BEA Tuxedo Middleware (C based)
2. Clients to Tuxedo based on CORBA based Visibroker (C++/Java based)
3. Java based client applications using IIOP for Corba
4. Mainframe connectivity uses SNA over TCP/IP
Page 14 of 19
3-Tier Architecture
10.2 Migration from DAS-Tuxedo based to J2EE - WebSphere based system
TUXEDO DOMAIN in 7 Centers
AIX - Tuxedo Based Application Server
Primary
Databasein Database
Riverwoods
Appl.
Svc.
(Req.
BATCH Routers)
Processes
AIX - Tuxedo Based Application Server
SNA over TCP/IP
CORBA
UOW About 500 to 4000
Gtway Servers
Mgr PC Clients in 7
Svc (Tuxedo-
Database Replication
Svc
Client) IIOP centers
Mainframe
Java Clients
Partial Application Logic
Dist. Batch Server
Java Clients
Batch DB2 Connect
Processes
P
IIO
AIX based WebSphere App. I-
RM
Java Clients
AIX based Servers in 2 centers
Database Server
AP GUI presentation & most of the App Logic
SO
JDBC
Database EJBs
WebServices
Partial Application Logic
Fig. 10.2 Migration from DAS- Tuxedo to WebSphere based system
Current Status:
• Currently out of about 800 TPS about 45% of transaction currently run through DAS and
remaining through WebSphere
• Expected date of migration is July/August 2005
Page 15 of 19
3-Tier Architecture
10.3 Future WebSphere Based System
About 500 to 4000
PC Clients in 7
centers
AIX based WebSphere App.
Servers in 2 centers
Java Clients
RMI - IIOP
EJBs
Java Clients
Mainframe
SOAP
WebServices
Java Clients
Dist. Batch Server
Batch Partial Application Logic
Processes BC
JD GUI presentation & most of the App Logic
AIX based
Database Server
in 2 centers
Database
Fig 10.3 Future WebSphere Based 3-Tier Architecture
Key Features:
1. Latest J2EE based client applications using RMI over IIOP
2. Few SOAP based implementations with few Web-Services
3. J2EE based WebSphere Application Server
4. DB2 Connect used for Java – Mainframe – DB2 connectivity
5. JDBC used for Oracle – EJB connectivity and Transaction Management
Page 16 of 19
3-Tier Architecture
11.0 Architecture Trends
11.1 Web Services, J2EE Connectors, Message Brokers, etc
Web Services
• A standardized way of integrating Web-based applications using the XML, SOAP, WSDL and
UDDI
• A means for businesses to communicate with each other and with clients
• Allow organizations to communicate data without intimate knowledge of each other's IT
systems behind the firewall
• Unlike traditional client/server models, such as a Web server/Web page system, Web services
do not provide the user with a GUI. Web services instead share business logic, data and
processes through a programmatic interface across a network. The applications interface, not
the users. Developers can then add the Web service to a GUI (such as a Web page or an
executable program) to offer specific functionality to users.
• Different applications from different sources can communicate with each other without time-
consuming custom coding, as all communication is in XML, Web services are not tied to any
one operating system or programming language. For example, Java can talk with Perl,
Windows applications can talk with UNIX applications
• XML – Extensible Markup Language - Used to tag the data
• SOAP – Simple Object Access Protocol - Used to transfer the data
• WSDL is used for describing the services available
• UDDI - Universal Description, Discovery and Integration - Used to list what services are
available.
JMS – Java Message Service
• JMS defines the standard for reliable Enterprise Messaging
• Enterprise messaging, often also referred to as Messaging Oriented Middleware (MOM),
universally recognized as an essential tool for building enterprise applications
• Provides a reliable, flexible service for the asynchronous exchange of critical business data and
events throughout an enterprise.
• Message-driven beans enable the asynchronous consumption of JMS messages.
• Message sends and receives can participate in Java Transaction API (JTA) transactions.
• J2EE Connector Architecture allows JMS implementations from different vendors to be
externally plugged into a J2EE 1.4 application server.
J2EE Connector Architecture
• The J2EE Connector architecture enables an EIS vendor to provide a standard resource
adapter for its EIS.
• Resource adapter plugs into an application server, providing connectivity between the EIS, the
application server, and the enterprise application.
• An EIS vendor needs to provide just one standard resource adapter, which has the capability to
plug in to any application server that supports the J2EE Connector architecture.
See diagram of N-Tier Architecture for an overview of all these technologies and how they fit in.
Page 17 of 19
3-Tier Architecture
Internet Explorer - HTML, Internet Explorer - HTML,
Thin Java Clients
DHTML, Java Applets, DHTML, Java Applets,
Style Sheets, Java Script Style Sheets, Java Script
Internet
IBM HTTP Server
JSPs Servlets
WebSphere Application Server
Web Service JNDI
XML
EJB Container Database
XML Integrators
EJB EJB EJB XML Engine
J
T
S EJB EJB EJB Connector
Framework External
Connector
Transaction
Systems
Java IDL JDBC JMS
Distributed CORBA LEGACY
Clients Database Systems
Figure 11.1 Typical N-Tier Architecture using Web Services, JMS, Connectors, CORBA, XML
Databases, EJB, Servlets, JSP
Page 18 of 19
3-Tier Architecture
11.2 Business Process Management (BPM)
• Business Process Management (BPM) enables the integration of diverse applications and
human participants, as well as the coordinated exchange of information between trading
partners outside of the enterprise.
• Focuses on Business Process Documentation to Executable!
• Further Reference - BPMI.org
Figure 11.2 Typical Business Process Model
(Source: WebLogic Workshop Integrator 8.0)
Page 19 of 19