SlideShare a Scribd company logo
Client/Server
Computing
See chapter 7, Stalling’s book
Ho Sooi Hock
Outlines
 Elements of Client/Server Computing
 Reasons for Growing Interest of Client/Server
Paradigm
 Characteristics of Client/Server Computing
 Classes of Client/Server Applications
 Role of Middleware
 Three Middleware Mechanisms
Elements of Client/Server
Computing
 An environment populated by clients and
servers
 Clients are generally single-user workstations that
provide user friendly interfaces
 Servers provide a set of shared user services to the
clients, e.g. database server
 As a form of distributed computing, networking
is the third essential ingredient linking the
distributed resources
Client/Server Environment
Why Client/Server Computing is
Gaining Popularity?
 Trend # 1:
 An effort by companies to downsize and streamline
processes in a competitive business environment
 Trend # 2:
 The introduction of the small business units (SBUs)
concept
Client/Server computing is a new technical
approach providing new ways of organising
business, automating tasks and eliminating
barriers to information
Characteristics of Client/Server
Computing
 It brings user friendly applications to the
desktops, giving users greater control over
timing and style of computer usage, and
allowing departments to be more responsive to
local needs
 Enables databases, network management and
utility functions to be centralised
 Commitment to open and modular systems by
the user organisations and vendors
 Networking is fundamental to the operation,
thus good network management and security
functions are necessary
Generic Client/Server
Architecture
Client/Server Architecture for
Database Applications
A Sample Database Server
Client Server DB
SELECT NAME FROM EMPLOYEE_TABLE WHERE
EMP_NO LIKE “777-77-7777”
“Daniel Shimoda”
Desirable and Misused Client/Server
Classes of Client/Server
Applications
 Host-based processing
 Server-based processing
 Client-based processing
Classes of Client/Server
Applications
 Cooperative processing
Thin Clients vs Fat Clients*
 Thin client is a minimal client. Thin clients
utilize as few resources on the host PC as
possible. A thin client's job is generally just to
graphically display information from the
application server. This allows a company the
ease of managing their business logic for all
applications at a central location.
 Fat client (also known as rich client or thick
client) is a client that performs the bulk of the
data processing operations. The data itself is
stored on the server.
* source: Wikipedia, the free encyclopedia.
Three-Tier Client/Server
Architecture
 To overcome the limitations of two-tier
architecture, a middle tier server (also called
gateway) is added between the user machine
(typically a thin client) and the backend servers
(database servers)
 The middle tier is where the application/business
logic of the system resides and it performs a
number of different functions like mapping
different database queries, integrating results
from different data sources and interfacing with
backend legacy applications
Three-Tier Client/Server
Architecture
Middleware
 A software layer introduced between the
application above and communications
software, operating systems below to provide a
standardised programming interfaces and
protocols
 Hides complexities and disparities of network
protocols, operating systems and hardware
platforms
 All applications use a uniform application
programming interface (API)
Role of Middleware in
Client/Server Architecture
Logical View of Middleware
Middleware Mechanisms
Message Passing
 In this mechanism, a client process requires
some service, e.g. read a file, sends a message
containing a request for service to a server
process. The server process honors the request
and sends a message containing a reply
Remote Procedure Call
 In this mechanism, programs on different
machines interact using simple procedure
call/return semantics, just as if the two
programs were on the same machines
RPC Advantages
 Widely accepted, used and understood
 Specifies named operations with designated
types
 Because the interface is standard and precisely
defined, the communication code can be
generated automatically
 Developer can write module which are portable
among computers and operating systems with
little modification and recoding
Object-Oriented Mechanism
 Clients and servers ship messages back and forth
between objects, relying on an underlying message or
RPC structure or be developed directly on top of the
object-oriented capabilities in the operating systems
 Several competing designs, e.g. COM and CORBA
Summary
 Reasons for the growing interest of client
server computing systems
 Characteristics of client/server computing
 Architecture of client/server applications
 Middleware and the three middleware
mechanisms
Acknowlegements
This module was taught by Dr. Payam
Mamaani Barnaghi since 2005. Most slides
have been adopted from his lecture
materials and original works from William
Stallings with some changes.

More Related Content

What's hot

Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_87
 
Client Server Architecture...pptx
Client Server Architecture...pptxClient Server Architecture...pptx
Client Server Architecture...pptx
praladbaral
 
2 database system concepts and architecture
2 database system concepts and architecture2 database system concepts and architecture
2 database system concepts and architecture
Kumar
 
Presentation about servers
Presentation about serversPresentation about servers
Presentation about servers
Sasin Prabu
 
Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
webhostingguy
 
Components of client server application
Components of client server applicationComponents of client server application
Components of client server application
Ashwin Ananthapadmanabhan
 
client server architecture
client server architecture client server architecture
client server architecture
Saurabh Soni
 
Client server technology
Client server technologyClient server technology
Client server technology
Anwar Kamal
 
Client server computing
Client server computingClient server computing
Client server computing
Student
 
Billing software
Billing softwareBilling software
Billing software
Varun Jain
 
2 08 client-server architecture
2 08 client-server architecture2 08 client-server architecture
2 08 client-server architecture
jit_123
 
J2 ee container & components
J2 ee container & componentsJ2 ee container & components
J2 ee container & components
Keshab Nath
 
web server
web serverweb server
web server
nava rathna
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
JAINIK PATEL
 
Remote invocation
Remote invocationRemote invocation
Remote invocation
ishapadhy
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
Thanachart Numnonda
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
guestd0cc01
 
Web servers
Web serversWeb servers
Web servers
Kuldeep Kulkarni
 
Hardware and Software parallelism
Hardware and Software parallelismHardware and Software parallelism
Hardware and Software parallelism
prashantdahake
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
OECLIB Odisha Electronics Control Library
 

What's hot (20)

Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Client Server Architecture...pptx
Client Server Architecture...pptxClient Server Architecture...pptx
Client Server Architecture...pptx
 
2 database system concepts and architecture
2 database system concepts and architecture2 database system concepts and architecture
2 database system concepts and architecture
 
Presentation about servers
Presentation about serversPresentation about servers
Presentation about servers
 
Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 
Components of client server application
Components of client server applicationComponents of client server application
Components of client server application
 
client server architecture
client server architecture client server architecture
client server architecture
 
Client server technology
Client server technologyClient server technology
Client server technology
 
Client server computing
Client server computingClient server computing
Client server computing
 
Billing software
Billing softwareBilling software
Billing software
 
2 08 client-server architecture
2 08 client-server architecture2 08 client-server architecture
2 08 client-server architecture
 
J2 ee container & components
J2 ee container & componentsJ2 ee container & components
J2 ee container & components
 
web server
web serverweb server
web server
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
 
Remote invocation
Remote invocationRemote invocation
Remote invocation
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
 
Web servers
Web serversWeb servers
Web servers
 
Hardware and Software parallelism
Hardware and Software parallelismHardware and Software parallelism
Hardware and Software parallelism
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
 

Similar to client-server-architecture.ppt

Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
Tech_MX
 
Clientserver
ClientserverClientserver
Clientserver
Madhumithah Ilango
 
Differences Between Architectures
Differences Between ArchitecturesDifferences Between Architectures
Differences Between Architectures
prasadsmn
 
Chapter2
Chapter2Chapter2
Chapter2
suks_87
 
SOFTWARE COMPUTING
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTING
DrThenmozhiKarunanit
 
Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad
Faisal Shehzad
 
Client server computing
Client server computingClient server computing
Client server computing
StudsPlanet.com
 
Introduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah HazratIntroduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah Hazrat
Attaullah Hazrat
 
Client server based computing
Client server based computingClient server based computing
Client server based computing
Mohammad Affan
 
Client server
Client serverClient server
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Server
guest8fdbdd
 
N - Tier Applications, Enterprise Java Beans, Component technologies
N - Tier Applications, Enterprise Java Beans, Component technologiesN - Tier Applications, Enterprise Java Beans, Component technologies
N - Tier Applications, Enterprise Java Beans, Component technologies
Martin A
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
Sangeetha Sg
 
setting-up computer server(client/server topology)
setting-up computer server(client/server topology)setting-up computer server(client/server topology)
setting-up computer server(client/server topology)
jersonrodriguez22
 
CH12.ppt
CH12.pptCH12.ppt
CH12.ppt
ssuser5c874e
 
Lecture5 architecture styles.pdf
Lecture5 architecture styles.pdfLecture5 architecture styles.pdf
Lecture5 architecture styles.pdf
ssuser9d62d6
 
Estructura Cliente
Estructura ClienteEstructura Cliente
Estructura Cliente
guest0be78e4
 
Client-Server Model
Client-Server ModelClient-Server Model
Client-Server Model
HTS Hosting
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
RituBhargava7
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
Webx
 

Similar to client-server-architecture.ppt (20)

Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
 
Clientserver
ClientserverClientserver
Clientserver
 
Differences Between Architectures
Differences Between ArchitecturesDifferences Between Architectures
Differences Between Architectures
 
Chapter2
Chapter2Chapter2
Chapter2
 
SOFTWARE COMPUTING
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTING
 
Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad
 
Client server computing
Client server computingClient server computing
Client server computing
 
Introduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah HazratIntroduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah Hazrat
 
Client server based computing
Client server based computingClient server based computing
Client server based computing
 
Client server
Client serverClient server
Client server
 
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Server
 
N - Tier Applications, Enterprise Java Beans, Component technologies
N - Tier Applications, Enterprise Java Beans, Component technologiesN - Tier Applications, Enterprise Java Beans, Component technologies
N - Tier Applications, Enterprise Java Beans, Component technologies
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
 
setting-up computer server(client/server topology)
setting-up computer server(client/server topology)setting-up computer server(client/server topology)
setting-up computer server(client/server topology)
 
CH12.ppt
CH12.pptCH12.ppt
CH12.ppt
 
Lecture5 architecture styles.pdf
Lecture5 architecture styles.pdfLecture5 architecture styles.pdf
Lecture5 architecture styles.pdf
 
Estructura Cliente
Estructura ClienteEstructura Cliente
Estructura Cliente
 
Client-Server Model
Client-Server ModelClient-Server Model
Client-Server Model
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 

Recently uploaded

Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 

Recently uploaded (20)

Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 

client-server-architecture.ppt

  • 1. Client/Server Computing See chapter 7, Stalling’s book Ho Sooi Hock
  • 2. Outlines  Elements of Client/Server Computing  Reasons for Growing Interest of Client/Server Paradigm  Characteristics of Client/Server Computing  Classes of Client/Server Applications  Role of Middleware  Three Middleware Mechanisms
  • 3. Elements of Client/Server Computing  An environment populated by clients and servers  Clients are generally single-user workstations that provide user friendly interfaces  Servers provide a set of shared user services to the clients, e.g. database server  As a form of distributed computing, networking is the third essential ingredient linking the distributed resources
  • 5. Why Client/Server Computing is Gaining Popularity?  Trend # 1:  An effort by companies to downsize and streamline processes in a competitive business environment  Trend # 2:  The introduction of the small business units (SBUs) concept Client/Server computing is a new technical approach providing new ways of organising business, automating tasks and eliminating barriers to information
  • 6. Characteristics of Client/Server Computing  It brings user friendly applications to the desktops, giving users greater control over timing and style of computer usage, and allowing departments to be more responsive to local needs  Enables databases, network management and utility functions to be centralised  Commitment to open and modular systems by the user organisations and vendors  Networking is fundamental to the operation, thus good network management and security functions are necessary
  • 9. A Sample Database Server Client Server DB SELECT NAME FROM EMPLOYEE_TABLE WHERE EMP_NO LIKE “777-77-7777” “Daniel Shimoda”
  • 10. Desirable and Misused Client/Server
  • 11. Classes of Client/Server Applications  Host-based processing  Server-based processing
  • 12.  Client-based processing Classes of Client/Server Applications  Cooperative processing
  • 13. Thin Clients vs Fat Clients*  Thin client is a minimal client. Thin clients utilize as few resources on the host PC as possible. A thin client's job is generally just to graphically display information from the application server. This allows a company the ease of managing their business logic for all applications at a central location.  Fat client (also known as rich client or thick client) is a client that performs the bulk of the data processing operations. The data itself is stored on the server. * source: Wikipedia, the free encyclopedia.
  • 14. Three-Tier Client/Server Architecture  To overcome the limitations of two-tier architecture, a middle tier server (also called gateway) is added between the user machine (typically a thin client) and the backend servers (database servers)  The middle tier is where the application/business logic of the system resides and it performs a number of different functions like mapping different database queries, integrating results from different data sources and interfacing with backend legacy applications
  • 16. Middleware  A software layer introduced between the application above and communications software, operating systems below to provide a standardised programming interfaces and protocols  Hides complexities and disparities of network protocols, operating systems and hardware platforms  All applications use a uniform application programming interface (API)
  • 17. Role of Middleware in Client/Server Architecture
  • 18. Logical View of Middleware
  • 20. Message Passing  In this mechanism, a client process requires some service, e.g. read a file, sends a message containing a request for service to a server process. The server process honors the request and sends a message containing a reply
  • 21. Remote Procedure Call  In this mechanism, programs on different machines interact using simple procedure call/return semantics, just as if the two programs were on the same machines
  • 22. RPC Advantages  Widely accepted, used and understood  Specifies named operations with designated types  Because the interface is standard and precisely defined, the communication code can be generated automatically  Developer can write module which are portable among computers and operating systems with little modification and recoding
  • 23. Object-Oriented Mechanism  Clients and servers ship messages back and forth between objects, relying on an underlying message or RPC structure or be developed directly on top of the object-oriented capabilities in the operating systems  Several competing designs, e.g. COM and CORBA
  • 24. Summary  Reasons for the growing interest of client server computing systems  Characteristics of client/server computing  Architecture of client/server applications  Middleware and the three middleware mechanisms
  • 25. Acknowlegements This module was taught by Dr. Payam Mamaani Barnaghi since 2005. Most slides have been adopted from his lecture materials and original works from William Stallings with some changes.