Understanding Networked Applications A First Course 1 CONTENTS INTRODUCTION. WHAT IS CLIENT SERVER...

23
Understanding Networked Applications A First Course 1 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

Transcript of Understanding Networked Applications A First Course 1 CONTENTS INTRODUCTION. WHAT IS CLIENT SERVER...

Page 1: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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

Page 2: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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.

Page 3: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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.

Page 4: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course4

Clienthost

Serverhost

Clienthost

Page 5: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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

Page 6: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course6Client/server

Peer-to-peerServer

“I want to access some information”

“I want to collaborate

with my colleague”

Client

Page 7: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course7

Distinctions

• Client-server– Asymmetric relationship– Client predominately makes requests, server

makes replies

• Peer-to-peer– Symmetric relationship

Page 8: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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

Page 9: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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

Page 10: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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.

Page 11: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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.

Page 12: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course12

Client

Webbrowser

Webserver

Application logic

Databases and DBMS

Commongatewayinterchange

Host architecture

Application partition

Page 13: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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.

Page 14: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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.

Page 15: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course15

Departments

Enterprise

CommerceEnterprise-to-enterprise

Consumer

Page 16: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course16

Customers

Consumer Enterprise

Customer-servicedepartment Technical-support

department

software4u.com

Page 17: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

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

Page 18: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course18

Accounts Products Orders

Customer logic

Databases

Agent logic

Customers Agents Technicians

Technician logic

Page 19: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course19

Book distributioncenters

books4u.comCustomers

Financial institution

Consumer Enterprise Inter-enterprise

Page 20: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course20

Clients

Customers Merchandise

Acquirerbank

BookdistributorsOrders

Customer logic

Databases

Fullfillment logic

Page 21: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course21

Stock marketstocks4u.com

Customers

Information providers

Consumer Enterprise Inter-enterprise

Page 22: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course22

Clients

Accounts Products

Informationproviders

FinancialmarketsOrders

Customer logic

Databases

Trading logic

Page 23: Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.

Understanding Networked Applications A First Course23

Local floristsflowers4u.com

Customers

Financial institution

Consumer Enterprise Inter-enterprise