SlideShare a Scribd company logo
Client-Server Architecture

   King Fahd University of Petroleum & Minerals
   SWE 316: Software Design & Architecture
   Semester: 072
Objectives
       To understand client-server architecture

            2-tier

            3-tier




 SWE 316 (072)            Client-Server Architecture   2
Client-Server Architecture
       The application is modelled as a set of services that
       are provided by servers and a set of clients that use
       these services.

       Clients know of servers but servers need not know of
       clients.

       Clients and servers are logical processes.




 SWE 316 (072)             Client-Server Architecture          3
Application Layers
       Presentation layer
            Concerned with presenting the results of a computation to
            system users and with collecting user inputs.


       Application processing layer
            Concerned with providing application specific functionality
            e.g., in a banking system, banking functions such as open
            account, close account, etc.


       Data management layer
            Concerned with managing the system databases.




 SWE 316 (072)                  Client-Server Architecture                4
Application Layers (Cont’d)




 SWE 316 (072)   Client-Server Architecture   5
Types of Client-Server Architectures

       Two-tier
            The three application layers are mapped onto two computer
            systems – the client and the server.
            Client can be
                 Thin client; or
                 Fat client


       Three-tier
            The three application layers are mapped onto three logically
            separate processes that executes on different processors.




 SWE 316 (072)                     Client-Server Architecture              6
Thin and Fat Clients
       Thin-client model
            In a thin-client model, all of the application processing and
            data management is carried out on the server. The client is
            simply responsible for running the presentation software.


       Fat-client model
            In this model, the server is only responsible for data
            management. The software on the client implements the
            application logic and the interactions with the system user.




 SWE 316 (072)                  Client-Server Architecture                  7
Thin and Fat Clients (Cont’d)




 SWE 316 (072)   Client-Server Architecture   8
Thin-Client Model
       Used when legacy systems are migrated to client
       server architectures.

            The legacy system acts as a server in its own right with a
            graphical interface implemented on a client.


       A major disadvantage is that it places a heavy
       processing load on both the server and the network.




 SWE 316 (072)                  Client-Server Architecture               9
Fat-Client Model
       More processing is delegated to the client as the
       application processing is locally executed.

       Most suitable for new C/S systems where the
       capabilities of the client system are known in advance.

       More complex than a thin client model especially for
       management. New versions of the application have to
       be installed on all clients.




 SWE 316 (072)            Client-Server Architecture             10
A Client-Server ATM System




SWE 316 (072)   Client-Server Architecture   11
Three-Tier Architecture
       Each of the application layers may execute on a
       separate processor.

       Allows for better performance than a thin-client model
       and is simpler to manage than a fat-client model.

       A more scalable architecture - as demands increase,
       extra servers can be added.




 SWE 316 (072)            Client-Server Architecture            12
A 3-tier Client-Server Architecture




 SWE 316 (072)   Client-Server Architecture   13
An Internet Banking System




 SWE 316 (072)   Client-Server Architecture   14
Use of Client-Server Architectures

   Architecture        Applications
   Two-tier C/S        Legacy system applications where separating application processing and
   architecture with   data management is impractical.
   thin clients        Computationally-intensive applications such as compilers with little or
                       no data management.
                       Data-intensive applications (browsing and querying) with little or no
                       application processing.
   Two-tier C/S        Applications where application processing is provided by off-the-shelf
   architecture with   software (e.g. Microsoft Excel) on the client.
   fat clients         Applications where computationally-intensive processing of data (e.g.
                       data visualisation) is required.
                       Applications with relatively stable end-user functionality used in an
                       environment with well-established system management.
   Three-tier or       Large scale applications with hundreds or thousand s of clients
   multi-tier C/S      Applications where both the data and the application are volatile.
   architecture        Applications where data from multiple sources are integrated.


 SWE 316 (072)                        Client-Server Architecture                                15
Summary
      Tow basic client-server architecture

           2-tier
                Thin client: all of the application processing and data
                management is carried out on the server
                Fat clients: run some or all of the application logic.


           3-tier
                Allows for better performance than a thin-client approach and is
                simpler to manage than a fat-client approach.




SWE 316 (072)                      Client-Server Architecture                      16

More Related Content

What's hot

file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada
umardanjumamaiwada
 
Block Level and File Level
Block Level and File LevelBlock Level and File Level
Block Level and File Level
Integral university, India
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecturesuks_87
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computing
Mohammad Ilyas Malik
 
Network Virtualization
Network VirtualizationNetwork Virtualization
Network Virtualization
Kingston Smiler
 
Cloud computing and utility computing
Cloud computing and utility computingCloud computing and utility computing
Cloud computing and utility computingasmita tarar
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systemsReza Gh
 
Levels of Virtualization.docx
Levels of Virtualization.docxLevels of Virtualization.docx
Levels of Virtualization.docx
kumari36
 
Virtualization
Virtualization Virtualization
Virtualization
Ydel Capales
 
cluster computing
cluster computingcluster computing
cluster computing
anjalibhandari11011995
 
Virtualize of IO Devices .docx
Virtualize of IO Devices .docxVirtualize of IO Devices .docx
Virtualize of IO Devices .docx
kumari36
 
Overview of computing paradigm
Overview of computing paradigmOverview of computing paradigm
Overview of computing paradigm
Ripal Ranpara
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
Mehul Boghra
 
Virtualization.ppt
Virtualization.pptVirtualization.ppt
Virtualization.ppt
vishal choudhary
 
Uml Common Mechanism
Uml Common MechanismUml Common Mechanism
Uml Common Mechanism
Satyamevjayte Haxor
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
WSO2
 
NIST Cloud Computing Reference Architecture
NIST Cloud Computing Reference ArchitectureNIST Cloud Computing Reference Architecture
NIST Cloud Computing Reference Architecture
Thanakrit Lersmethasakul
 

What's hot (20)

file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada
 
Cloud Service Models
Cloud Service ModelsCloud Service Models
Cloud Service Models
 
Block Level and File Level
Block Level and File LevelBlock Level and File Level
Block Level and File Level
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Load balancing
Load balancingLoad balancing
Load balancing
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computing
 
Network Virtualization
Network VirtualizationNetwork Virtualization
Network Virtualization
 
Cloud computing and utility computing
Cloud computing and utility computingCloud computing and utility computing
Cloud computing and utility computing
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
 
Levels of Virtualization.docx
Levels of Virtualization.docxLevels of Virtualization.docx
Levels of Virtualization.docx
 
Virtualization
Virtualization Virtualization
Virtualization
 
cluster computing
cluster computingcluster computing
cluster computing
 
Virtualize of IO Devices .docx
Virtualize of IO Devices .docxVirtualize of IO Devices .docx
Virtualize of IO Devices .docx
 
Overview of computing paradigm
Overview of computing paradigmOverview of computing paradigm
Overview of computing paradigm
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
 
Virtualization.ppt
Virtualization.pptVirtualization.ppt
Virtualization.ppt
 
Uml Common Mechanism
Uml Common MechanismUml Common Mechanism
Uml Common Mechanism
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
NIST Cloud Computing Reference Architecture
NIST Cloud Computing Reference ArchitectureNIST Cloud Computing Reference Architecture
NIST Cloud Computing Reference Architecture
 

Similar to 2 08 client-server architecture

Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11Tech_MX
 
Client server computing
Client server computingClient server computing
Client server computingjorge cabiao
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
Sangeetha Sg
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Sibel Kuzgun AKIN
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
RituBhargava7
 
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
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud Provisioning
Ar Agarwal
 
Chapter2
Chapter2Chapter2
Chapter2suks_87
 
client-server-architecture.ppt
client-server-architecture.pptclient-server-architecture.ppt
client-server-architecture.ppt
gowriganesh
 
client-server-architecture ss.ppt
client-server-architecture ss.pptclient-server-architecture ss.ppt
client-server-architecture ss.ppt
OsmanGani61
 
Part 1 network computing
Part 1 network computingPart 1 network computing
Part 1 network computingLinh Nguyen
 
Client server computing_keypoint_and_questions
Client server computing_keypoint_and_questionsClient server computing_keypoint_and_questions
Client server computing_keypoint_and_questions
lucky94527
 
SOFTWARE COMPUTING
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTING
DrThenmozhiKarunanit
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
Khubaib Ahmad Kunjahi
 
Estructura Cliente
Estructura ClienteEstructura Cliente
Estructura Cliente
guest0be78e4
 
Microsoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanMicrosoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanDavid J Rosenthal
 

Similar to 2 08 client-server architecture (20)

Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
 
Client server computing
Client server computingClient server computing
Client server computing
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
 
Client server computing
Client server computingClient server computing
Client server computing
 
Clientserver
ClientserverClientserver
Clientserver
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
Client server architecture in .net by varun tiwari
Client server architecture in .net by varun tiwariClient server architecture in .net by varun tiwari
Client server architecture in .net by varun tiwari
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud Provisioning
 
Chapter2
Chapter2Chapter2
Chapter2
 
client-server-architecture.ppt
client-server-architecture.pptclient-server-architecture.ppt
client-server-architecture.ppt
 
client-server-architecture ss.ppt
client-server-architecture ss.pptclient-server-architecture ss.ppt
client-server-architecture ss.ppt
 
Part 1 network computing
Part 1 network computingPart 1 network computing
Part 1 network computing
 
Client server computing_keypoint_and_questions
Client server computing_keypoint_and_questionsClient server computing_keypoint_and_questions
Client server computing_keypoint_and_questions
 
SOFTWARE COMPUTING
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTING
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
 
Estructura Cliente
Estructura ClienteEstructura Cliente
Estructura Cliente
 
Microsoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanMicrosoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by Atidan
 

2 08 client-server architecture

  • 1. Client-Server Architecture King Fahd University of Petroleum & Minerals SWE 316: Software Design & Architecture Semester: 072
  • 2. Objectives To understand client-server architecture 2-tier 3-tier SWE 316 (072) Client-Server Architecture 2
  • 3. Client-Server Architecture The application is modelled as a set of services that are provided by servers and a set of clients that use these services. Clients know of servers but servers need not know of clients. Clients and servers are logical processes. SWE 316 (072) Client-Server Architecture 3
  • 4. Application Layers Presentation layer Concerned with presenting the results of a computation to system users and with collecting user inputs. Application processing layer Concerned with providing application specific functionality e.g., in a banking system, banking functions such as open account, close account, etc. Data management layer Concerned with managing the system databases. SWE 316 (072) Client-Server Architecture 4
  • 5. Application Layers (Cont’d) SWE 316 (072) Client-Server Architecture 5
  • 6. Types of Client-Server Architectures Two-tier The three application layers are mapped onto two computer systems – the client and the server. Client can be Thin client; or Fat client Three-tier The three application layers are mapped onto three logically separate processes that executes on different processors. SWE 316 (072) Client-Server Architecture 6
  • 7. Thin and Fat Clients Thin-client model In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software. Fat-client model In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user. SWE 316 (072) Client-Server Architecture 7
  • 8. Thin and Fat Clients (Cont’d) SWE 316 (072) Client-Server Architecture 8
  • 9. Thin-Client Model Used when legacy systems are migrated to client server architectures. The legacy system acts as a server in its own right with a graphical interface implemented on a client. A major disadvantage is that it places a heavy processing load on both the server and the network. SWE 316 (072) Client-Server Architecture 9
  • 10. Fat-Client Model More processing is delegated to the client as the application processing is locally executed. Most suitable for new C/S systems where the capabilities of the client system are known in advance. More complex than a thin client model especially for management. New versions of the application have to be installed on all clients. SWE 316 (072) Client-Server Architecture 10
  • 11. A Client-Server ATM System SWE 316 (072) Client-Server Architecture 11
  • 12. Three-Tier Architecture Each of the application layers may execute on a separate processor. Allows for better performance than a thin-client model and is simpler to manage than a fat-client model. A more scalable architecture - as demands increase, extra servers can be added. SWE 316 (072) Client-Server Architecture 12
  • 13. A 3-tier Client-Server Architecture SWE 316 (072) Client-Server Architecture 13
  • 14. An Internet Banking System SWE 316 (072) Client-Server Architecture 14
  • 15. Use of Client-Server Architectures Architecture Applications Two-tier C/S Legacy system applications where separating application processing and architecture with data management is impractical. thin clients Computationally-intensive applications such as compilers with little or no data management. Data-intensive applications (browsing and querying) with little or no application processing. Two-tier C/S Applications where application processing is provided by off-the-shelf architecture with software (e.g. Microsoft Excel) on the client. fat clients Applications where computationally-intensive processing of data (e.g. data visualisation) is required. Applications with relatively stable end-user functionality used in an environment with well-established system management. Three-tier or Large scale applications with hundreds or thousand s of clients multi-tier C/S Applications where both the data and the application are volatile. architecture Applications where data from multiple sources are integrated. SWE 316 (072) Client-Server Architecture 15
  • 16. Summary Tow basic client-server architecture 2-tier Thin client: all of the application processing and data management is carried out on the server Fat clients: run some or all of the application logic. 3-tier Allows for better performance than a thin-client approach and is simpler to manage than a fat-client approach. SWE 316 (072) Client-Server Architecture 16