Understanding Networked Applications A First Course1
CONTENTS
INTRODUCTION.WHAT IS CLIENT SERVER ARCHITECTURE ?WHY WE NEED CLIENT SERVER ARCHITECTURE ?APPLICATION OF CLIENT SERVER ARCHITECTURE ?HOW COMPONENTS INTERACT ?WHAT IS NETWORK PROTOCOL ?WHAT IT DOES ? WHAT IT PROTECTS YOU FROM ?LIMITATION CONCLUSION
Understanding Networked Applications A First Course2
CLIENT / SERVER SYSTEM
What Is a Client/Server system?
A system that links a client and server through networks.
It describes a computing model for the development of computerized systems.
This model is based on the distribution of functions between two types of independent and autonomous processes; servers and clients.
Understanding Networked Applications A First Course3
Client / Server System
Server process Client process
Network
Clients request services from different server processes.
Services: File, print, fax, multimedia, communicationsClients can request services from several servers and servers can provide services for more than one clients.
Understanding Networked Applications A First Course4
Clienthost
Serverhost
Clienthost
Understanding Networked Applications A First Course5
Part of the rationale
• Specialization:– Clients specialize in user interface– Servers specialize in managing data and
application logic
• Sharing:– Many clients can be supported by few servers– Often data and logic are shared among
applications and users
Understanding Networked Applications A First Course6Client/server
Peer-to-peerServer
“I want to access some information”
“I want to collaborate
with my colleague”
Client
Understanding Networked Applications A First Course7
Distinctions
• Client-server– Asymmetric relationship– Client predominately makes requests, server
makes replies
• Peer-to-peer– Symmetric relationship
Understanding Networked Applications A First Course8
ClientServer
Client
Email client sends message to server
Message is stored on POP server
Later, recipient’s email client retrieves message from server
Email application
Understanding Networked Applications A First Course9
Client
Server
Client
Chat clients send user’s typing to server
Chat server aggregates typing from all users and sends to all clients
Other user’s clients display aggregated typing from chat server
Chat application
Understanding Networked Applications A First Course10
Client/Server Architecture
The client/Server architecture is based upon hardware and software components that interact to form a system.
• Front-end application(Client): Any computer process that requests services from the server.
• Back-end application(Server): Any computer processing providing services to the clients.
• Communications middleware(Middleware): Any computer process through which clients and servers communicate.
Understanding Networked Applications A First Course11
How components interact?
Clientprocess
Communicationsmiddleware
network
Databaseserver
SQL
Data Data
SQL
Clients process sends SQL request through
communications middleware.
Middleware routes SQL request to
database server process.
Database server process receives request, validates it, and
executes it.
Understanding Networked Applications A First Course12
Client
Webbrowser
Webserver
Application logic
Databases and DBMS
Commongatewayinterchange
Host architecture
Application partition
Understanding Networked Applications A First Course13
Network protocols
Network protocol is a set of rules that determines how messages between computers are sent, interpreted, and processed.
As a result of the client/server computing boom, many mainframes and midrange computers are now implementing support for more open, nonproprietary network standards such as TCP/IP, to allow direct access from client/server PC-based front-end applications.
The selection of network topology and protocols is one of the most critical decisions in a client/server system’s development. For the commercial software developers, this may be market-driven. Because this will decide the number of people they can reach.
Understanding Networked Applications A First Course14
Network Protocols
• Transmission Control Protocol/ Internet Protocol (TCP/IP)
The official communications protocol of the Internet. TCP/IP is the main communications protocol used by Unix systems, is supported by most operating systems at the midrange and personal computer levels.
• Internet Packet Exchange/Sequenced Packet Exchange (IPX/SPX)
Communications protocol developed by Novell. IPX/SPX is supported by the majority of client/server network applications and by all PC operating systems.
Understanding Networked Applications A First Course15
Departments
Enterprise
CommerceEnterprise-to-enterprise
Consumer
Understanding Networked Applications A First Course16
Customers
Consumer Enterprise
Customer-servicedepartment Technical-support
department
software4u.com
Understanding Networked Applications A First Course17
Web server
Customer logic
Customeraudit
Softwaredocumentation
Webbrowser
Problemknowledge
base
Databases
Agent logic
Consumerapplication
Enterpriseapplication
Technician logic
Web server
Webbrowser
Web server
Webbrowser
Cus
tom
er c
are
Understanding Networked Applications A First Course18
Accounts Products Orders
Customer logic
Databases
Agent logic
Customers Agents Technicians
Technician logic
Understanding Networked Applications A First Course19
Book distributioncenters
books4u.comCustomers
Financial institution
Consumer Enterprise Inter-enterprise
Understanding Networked Applications A First Course20
Clients
Customers Merchandise
Acquirerbank
BookdistributorsOrders
Customer logic
Databases
Fullfillment logic
Understanding Networked Applications A First Course21
Stock marketstocks4u.com
Customers
Information providers
Consumer Enterprise Inter-enterprise
Understanding Networked Applications A First Course22
Clients
Accounts Products
Informationproviders
FinancialmarketsOrders
Customer logic
Databases
Trading logic
Understanding Networked Applications A First Course23
Local floristsflowers4u.com
Customers
Financial institution
Consumer Enterprise Inter-enterprise