Documente Academic
Documente Profesional
Documente Cultură
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
Client
Server
Presentation Logic
Database Logic
Business Logic
DBMS
Database Logic
Data
base
Scaleability?
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
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)