Vous êtes sur la page 1sur 19

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