Professional Documents
Culture Documents
Objectives
– introduce the client/server model
– give an overview of DCE and Java RMI
A brief definition:
– A server is a program (or collection of
cooperating programs) that provides services
and/or manages resources on the behalf of other
programs (its clients).
clients
LAN
or WAN
network
Presentation Logic
Stand-alone Business Logic
Application Database Logic Data
DBMS base
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
240-322 Cli/Serv.: Models/1 11
2.2. Component Placement?
Client
Server
Presentation Logic
Database Logic
Business Logic
DBMS
Database Logic
Data
base
Scaleability?
240-322 Cli/Serv.: Models/1 15
2.4. The 3-tier Model Fig. 1.6, p.12
UNIX
Clients ServerServer
Win/NT Data Data
Server
Tier 2
LAN
Tier 3
240-322 Cli/Serv.: Models/1 17
Points
– back-end server(s)
specialized by account type
very robust concurrency control, transaction processing
Server
Client
Business Logic
Presentation Logic
Database Logic
Business Logic
DBMS
Data
base
240-322 Cli/Serv.: Models/1 23
Three ways of distributing the ‘business
logic’ (i.e. the program code):
– locate it entirely on the client (‘fat’ client)
– locate it entirely on the server (‘fat’ server)
– split it between the client and server
Easier to program
– less networking
– more direct access to client platform
features, such as GUI
Multiple Servers
Client
Database Logic
Presentation Logic
DBMS
Business Logic
Database Logic
DBMS Data
Data Data
base
base base
240-322 Cli/Serv.: Models/1 28
Issues
Middleware
Physical Network
240-322 Cli/Serv.: Models/1 32
Common New Features
Asynchronous connectivity
– e.g. asynchronous RPCs
Authentication services
– you must 'prove' who you are to the system
Time services
Groupware middleware:
– Microsoft Exchange, Lotus Notes
Object middleware:
– CORBA, DCOM (more on these in part 2)
An open system:
– complies with industry standards for
programming, communication, networking,
presentation, etc.
– is scaleable
240-322 Cli/Serv.: Models/1 39
3.2. Advantages of Client/Server
Client Server
Application Application Remote
RPC
code code Procedure
Stub Code Stub Code
Network
240-322 Cli/Serv.: Models/1 48
Using RPC
Network
240-322 Cli/Serv.: Models/1 50
DCE Architecture Fig. 1.9, p.23
Applications
PC Integration Dist. Services
RPCs
Presentation Services
Threads Services
OS
240-322 Cli/Serv.: Models/1 Network Services 51
5.1. Distributed File System (DFS)