Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | clarence-harrington |
View: | 219 times |
Download: | 3 times |
csi315csi315csi315csi315
Client/Server ModelsClient/Server Models
Client/Server Environment
LAN or WAN
Server DataBerson,Fig 1.4, p.8
clients
network
Client• Part of the local computing system • Functions• initiates contact with server (“speaks first”)• typically requests service from server, • for Web, client is implemented in browser; for e-
mail, in mail reader • Requesting the return of records
Client = “Origin”
Server• Functions• provides requested service to
client• e.g., Web server sends
requested Web page, mail server delivers e-mail
Server = “Target”
Client-Server Example• The ATM network:
– the clients are the ATM machines • user interfaces;
some simple application processing
– the server is at the bank • most application processing;
very large database of customer accounts
Client/Server Processing
• Application processing is usually distributed between a client and the server.
• Server controls services/data that the client accesses• Different client/server models are obtained by
locating different components and combinations of the application on the client and server(s).
• In general:– presentation logic stays on the client– DBMS and database move to the server– parts of the business and database logic that can be used by
several clients are placed on the server
Component Placement?• How much data is required by the local
application?• How many application users require the
same data?• How many interactions occur between
the application parts?• Technical issues
– platforms, networking
Database App.
Presentation Logic
Business Logic
Database Logic
DBMSDatabase
Stand-aloneApplication
The 2-tier Model• The database is on the server• Distributed database logic
– most of it is on the client• The client does the presentation and business logic.
Challenges• It is difficult to build heterogeneous database
environments.• Transaction processing is limited by the DBMS.• Asynchronous processing is difficult
– i.e. the client doesn’t wait for the server’s answer• Scalability
The 2-tier Model
Presentation Logic
Business Logic
Database LogicDBMS
Database
Database Logic
ClientServer
The 3-tier Model
ServerData
Application/Business logic Data Servers
ServerData
UNIX
Win/NTClients
The 3-tier Model
Server
Back-End ServerTier 1
Tier 2
Tier 3
Clients
Price/PerformanceFunctionalityLocal Autonomy
Greater IntegritySecurityCentral Control
3-Tier Architecture-Example
Database
XMLFile System(Web Site)
Or
Middle Tier“Business Logic”
dissociatesUser and Back End
Export/Import
Request
Information
ObjectRepository
3-tier over 2-tier• Benefits
– The application logic in the middle-tier is more independent of the client and the back-end server
– The application logic in the middle-tier can work more easily with data from multiple sources.
– Encourages multiple back-end servers.
Challenges• Much more complex:• network management, data integrity, maintenance,
development
• Still (partially) dependent on platformse.g. the client may still be restricted
to a certain backend application server, but not (maybe) to any data server
3 tier-ExampleATM machines are the clients (as before)
– the middle-tier servers provide certain processing• checking balances, money transfer requests• directing queries to the relevant back-end
server– back-end server(s)
• specialized by account type• very robust concurrency control, transaction
processing• Many Web applications are 3-tier:
– the Web browser is the client software– the embedded components in Web pages (e.g.
Java applets) come from the middle-tier– the back-end server contains the database
Distributing Business Logic
Three ways • Locate it entirely on the client
(‘fat’ client)• Locate it entirely on the server
(‘fat’ server)• Split it between the client and
server
Business Logic
Presentation Logic
Business LogicDBMS
Database
Database Logic
ClientServer
Business Logic
Fat Server Advantages• Easier to update the application logic since
clients not involved.
• Data is better hidden from clients.
• Easier to manage and debug since data and code is centrally located.
• Reduces bandwidth problems since data processing stays on the server.
• Better for mission-critical applications when fault-tolerance and stability are important.
Fat Client Advantages• The server is unaffected when
updates are done to the client’s application logic– the server will be more stable
• Easier to program– less networking– more direct access to client
platform features, such as GUI
Multi-tier Model
Middleware
Physical Network
Multi-tier Model• Asynchronous connectivity
• Data distribution using replication
• Name/directory services for resource location independence
• More complex data types• More complex analysis• Authentication services
– you must 'prove' who you are to the system
• Distributed file system(s)
• Time services
Mult-tier Web Applications
• The Web browser is the client software on the first tier.
• Web page components come from the second tier.
• The third tier is a database front-end for a series of fourth tier heterogeneous databases