Professional Documents
Culture Documents
Agenda
Computer
Communication
Front End
Telecommunication Application
(Modem/Serial
Network Port etc) Application
Application
Terminal Database
(Remote)
Operating System
Modem
MAINFRAME SYSTEM
Terminal
(Remote)
Terminal
(Local)
Copyright © 2005, Infosys ER/CORP/CRS/OS12/003
4
Technologies Ltd
Version No: 2.0
Client/Server Technology
Client/Server Technology
• Client/Server technology involves the client and server, both having
processing capabilities.
• The client request for a service and the server processes this request
and sends a reply.
Client
Program
Request
Server
User 1 Desktop Program
Computer
Network
Response Server
machine
Client
Program
• File Servers
• Groupware Servers
– Mail Servers
– Newsgroup Servers
– Calendar Servers
– Workflow Servers
• Database Servers
• Transaction Servers
PC
NETWORK
PC
File Server
PC
Server
Machine
Network
E-Mail Client
Directory
on desktop Server
Software
LDAP protocol
(Address Query)
Server
Machine
Newsgroup
Server
Software
Calendar
Server
Software
Fill Leave
Start Submit
Application
Employee
End
Inform
Record
Manager for
Application
Approval
Leave
System Status = Status =
Approved Rejected
YES
Approve?
Manager
NO
Manual Tasks
Automated Tasks taken care
by system
Manual Tasks
Fill Leave
Start Submit
Application Automated Tasks taken care
by system
Employee
End
Inform
Record
Manager for NO Automatic
Application
Approval Approval
Leave
System Status = Status = 15 days
YES
Approved Rejected Elapsed?
YES
Approve?
Manager
NO
NO ACTION TAKEN
• The code that processes the SQL request and the data reside on the same server.
• The server uses its own processing power to find the requested data. Play an important role in data warehousing.
Client
Program
SQL
Requests
Client Machine
Network
Database
Client
Program
Server machine
Results
Client Machine
Server
Client
Application Business
Logic
Database 1
TP Monitor
Network
Client
Machine Server machine
Database 2
• Types of TP Monitors
– TP Light (Lite)
• An extension to database
• Example: Sybase Transact SQL, Oracle PL/SQL
– TP Heavy
• Uses database, but outside the database
• Allows application programmer to write business logic services
• Additional Services like scheduling, queuing, buffering etc
• Security services like Encryption, authentication, and authorization
• Example: BEA Tuxedo, IBM’s CICS
Client Server 1
Application
Load Services
Client machine Balancing Deposit
software Withdraw
Network Bal Enquiry
Load Server 2
Balancer
Client machine machine Services
Deposit
Withdraw
Bal Enquiry
Client machine
Server 3
CLUSTER
• Service:
– There is a relationship between client and server process.
• Multi-user support:
– A single server can entertain requests at a time from many clients
– Can share common resources
• Scalability:
– Scalability of a server or an application is the ability to provide service
without degradation in performance as load increases
User Interface
Business Business logic
(GUI, text Client side Server side
logic Network and Data handling
Based, HTML Middleware Middleware
(if any) code
based etc)
Request
Process
• When a client invokes a remote procedure BLOCKED
– The remote procedure executes as if it is a local
function call
– Sends the response back to the client process Response
– Involves network communication for data from Server
transfer
Deposit(iAccNo,fAmt)
Client Code Withdraw(iAccNo,fAmt) Application Code
Balance(iAccNo){
Business Logic
Results to Client
}
Server Stub
MIDDLEWARE
Balance(iAccNo){
(Network Call)
Send request to server
}
Client
Network Transport Services Server
Stub
Server
Assign a thread
to service the
REQUEST request
Param: Service Name
Additional Parameters er vice t
S ues
Service1
Service2 ReqThread Pool
Client
RESPONSE a c k to
Status tu rn b l
Re Poo
Requested Data
File System
Configuration File
1. Thread Pool size
2. Service configuration
3. Other Parameters
Other things
Processing
– Client can do other tasks while the server processes the
Continue
request
Request
Process
distributed over multiple heterogeneous platforms.
Other things
Processing
Continue
Examples:
– A mainframe talking to a non-mainframe applications
Check TIME
– IBM MQ Series is one such Message Oriented Status
Middleware, JMS in J2EE Applications
Processing
Completed
• Check
Reduces complexity of developing applications that Status
span multiple operating systems
Response
Handle
Server
ASYNCHRONOUS
• Masks the application developer from the details of COMMUNICATION
the various operating system and network interfaces
Request Queue
Request2 Request1
Client Server
Program Program
Response1
Response Queue
Presentation
Logic Database
Management
Data Store Data Store Data Store Data Store Data Store
• Remote Presentation Logic: Only the presentation layer goes to the client. Business
and data management layer goes to the server.
• Distributed Business Logic: The presentation layer and a part of the business layer
goes to the client. The other part of business layer and data management goes to the
server.
• Remote Data Management: Both the presentation and business layer goes to the client.
The data management layer goes to the server.
• Distributed Database : Presentation layer, business layer and a part of the data
management layer goes to the client. The other part of the data management goes to the
server.
• Fat Server: Most of the application’s code resides on the server side
•The client combines UI services + business services and the other data services.
SQL
or Database
File IO
Client Program
(UI + Business Logic)
running on Server machine
the client machine
TIER 1 TIER2
Via
Gateways
Legacy System
Business Network
Network Logic
Client Program
(UI + Business Logic)
SQL Queries
running on Server machine Database
the client machine
Server machine
2Tier 3 Tier
System Administration Complex Less Complex
Security Low High
Encapsulation of Data Low High
Performance Good Good
Scalability Poor Excellent
Application Reuse Poor Excellent
Legacy Application Difficult to implement Yes (Via Gateways)
Integration
Hardware Architecture Limited Excellent
Flexibility
• ODBC relies on data servers to convert the ODBC calls into different database
formats
• That means Oracle drivers are needed to access Oracle databases
• Sybase drivers are needed to access Sybase databases and so on
Application
Driver Manager
Driver to Driver to
Oracle SQL Server
Computer
HTTP
Web Application
HTML Documents