+ All Categories
Home > Documents > Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on...

Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on...

Date post: 10-Mar-2018
Category:
Upload: hoangnhi
View: 243 times
Download: 3 times
Share this document with a friend
34
Objectives Mainframe Client-Server Model Cloud Computing Summary Tutorial on Client-Server Architecture SEEM3430 Information Systems Analysis and Design Pengfei Liu Department of Systems Engineering and Engineering Management The Chinese University of Hong Kong March 19, 2015 1 / 34
Transcript
Page 1: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Tutorial on Client-Server ArchitectureSEEM3430 Information Systems Analysis and Design

Pengfei Liu

Department of Systems Engineering and Engineering ManagementThe Chinese University of Hong Kong

March 19, 2015

1 / 34

Page 2: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Outline

1 Objectives

2 Mainframe

3 Client-Server ModelTermsOverview of Client-Server ModelLayered ArchitectureTiered Distribution

4 Cloud Computing

5 Summary

2 / 34

Page 3: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Objectives

Find answers to these questions:

1 What is client-server architecture?

2 What are the differences between N-layered architecture andN-tiered distribution?

3 Can you describe the computing paradigm shift?

3 / 34

Page 4: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Outline

1 Objectives

2 Mainframe

3 Client-Server ModelTermsOverview of Client-Server ModelLayered ArchitectureTiered Distribution

4 Cloud Computing

5 Summary

4 / 34

Page 5: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Mainframe 1

Mainframe computers are computers used primarily by corporateand governmental organizations for critical applications.

1 industry and consumer statistics

2 enterprise resource planning

3 bank transaction processing

Mainframe originally referred to the large cabinets that housed thecentral processing unit and main memory of early computers.

1http://en.wikipedia.org/wiki/Mainframe computer

5 / 34

Page 6: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

IBM-S360

Figure 1 : IBM System/360 Model 65 Computer 2

2http://www.computerhistory.org/revolution/mainframe-computers/7/intro/565

6 / 34

Page 7: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Terminal-Mainframe Architecture

Figure 2 : Terminal-Mainframe Architecture 3

3Source: http://contentdeliverance.com/

7 / 34

Page 8: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Outline

1 Objectives

2 Mainframe

3 Client-Server ModelTermsOverview of Client-Server ModelLayered ArchitectureTiered Distribution

4 Cloud Computing

5 Summary

8 / 34

Page 9: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Layer vs. Tier

Definition (Layer)

Layers describe the logical groupings of the functionality andcomponents in an application.A layer is a logical structuring mechanism for the components thatmake up the software solution.

Definition (Tier)

Tiers describe the physical distribution of the functionality andcomponents on separate servers, computers, networks, or remotelocations.A tier is a physical structuring mechanism for the systeminfrastructure.

9 / 34

Page 10: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Client-Server Model

Definition

The client/server model is a computing model that acts as adistributed application which partitions tasks or workloads betweenthe providers of a resource or service, called servers, and servicerequesters, called clients. a

ahttp://en.wikipedia.org/wiki/Client-server model

1 A server is a host that is running one or more server programswhich share their resources with clients.

2 A client does not share any of its resources, but requests aserver’s content or service function.

10 / 34

Page 11: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Client-Server Model

Figure 3 : Client-Server Model 4

4Source: http://contentdeliverance.com/

11 / 34

Page 12: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Client-Server Model

Two major parts in this tutorial:

1 Logical Layered Architecture

2 Physical Tiered Distribution

12 / 34

Page 13: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Layered Architecture

Splitting application functionality into layers with distinct roles andfunctionalities

1 Help you maximize the maintainability of the application2 Optimize the way the application works when deployed in

different ways

Figure 4 : Layers 5

5http://msdn.microsoft.com/en-us/library/ff650258.aspx

13 / 34

Page 14: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Three-layered architecture

Figure 5 : The logical architecture view of a layered system 6

6http://msdn.microsoft.com/en-us/library/ee658109.aspx

14 / 34

Page 15: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Three-layered architecture

1 Presentation Layer: contains the user oriented functionalityresponsible for managing user interaction with the system,and generally consists of components that provide a commonbridge into the core business logic encapsulated in thebusiness layer.

2 Business Layer: implements the core functionality of thesystem, and encapsulates the relevant business logic.

3 Data Layer: provides access to data hosted within theboundaries of the system, and data exposed by othernetworked systems; perhaps accessed through services.

15 / 34

Page 16: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Distributed System

Distributed System

A distributed system consists of multiple autonomous computersthat communicate with each other through a computer network inorder to achieve a common goal.

N-tiered Distribution

Distributing the layers over multiple physical tiers

In order to improve scalability, fault-tolerance, andperformance.

16 / 34

Page 17: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Example: an order-processing application

The example is an order-processing application, and onlyconsiders one use case: Process Order.

This use case is responsible for allowing a customer servicerepresentative to enter an order into the system.

17 / 34

Page 18: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Single-tiered distribution

Figure 6 : Single-tiered distribution 7

7http://msdn.microsoft.com/en-us/library/ff647195.aspx

18 / 34

Page 19: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Two-tiered distribution

Figure 7 : Two-tiered distribution 8

8http://msdn.microsoft.com/en-us/library/ff647195.aspx

19 / 34

Page 20: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Three-tiered distribution

Figure 8 : Three-tiered distribution 9

9http://msdn.microsoft.com/en-us/library/ff647195.aspx

20 / 34

Page 21: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Client Tier

Thin Client: uses a browser to provide the executionenvironment for the application’s user interface (HTMLdefined) .

Thick Client: also known as Fat Client/Rich Client, involvecompiled code artifacts (components, assemblies, etc.)running on the client machine to provide the application’s userinterface and client-side logic.

Smart Client: represent a best-of-both-worlds approach.

21 / 34

Page 22: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Comparison of Thick, Smart and Thin Client

Figure 9 : Comparison of Thick, Smart and Thin Client 10

10http://www.develop-one.net/blog/2006/01/10/DefinitionForSmartClient.aspx

22 / 34

Page 23: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Four-tiered distribution

Figure 10 : Four-tiered distribution 11

11http://msdn.microsoft.com/en-us/library/ff647195.aspx

23 / 34

Page 24: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Criteria for structuring your solution’s tiers

Tiers allow servers and client computers to be optimized forspecific tasks, such as interacting with users, serving Webpages, and hosting databases.

Tiers separate servers that had different security profiles,scalability and fault-tolerance requirements.

Tiers reduce the administration and deployment overheadrequired of distributed applications.

However, each tier involved in processing a client requestdegrades performance and adds application and systemmanagement overhead.

24 / 34

Page 25: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Some Notes on N-layered Architecture and N-tieredDistribution

1 Layers are concerned with the logical division of componentsand functionality, and do not take into account the physicallocation of components.

2 Layers can be located on different tiers, or they may reside onthe same tier.

3 Although both layers and tiers use the same set of names(presentation, business, services, and data), remember thatonly tiers imply a physical separation.

4 Not all N-layered applications should be distributed asN-tiered, but all N-tiered distribution must internally bedesigned as N-layered architecture.

.

25 / 34

Page 26: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Outline

1 Objectives

2 Mainframe

3 Client-Server ModelTermsOverview of Client-Server ModelLayered ArchitectureTiered Distribution

4 Cloud Computing

5 Summary

26 / 34

Page 27: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Definition of Cloud Computing

Definition

Cloud computing is a model for enabling ubiquitous, convenient,on-demand network access to a shared pool of configurablecomputing resources (e.g., networks, servers, storage, applications,and services) that can be rapidly provisioned and released withminimal management effort or service provider interaction. a

ahttp://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

27 / 34

Page 28: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Cloud Computing

Figure 11 : Cloud computing logical diagram 12

12http://en.wikipedia.org/wiki/Cloud computing

28 / 34

Page 29: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Service Models of Cloud Computing

Software as a Service (SaaS): The capability provided to theconsumer is to use the provider’s applications running on acloud infrastructure.

Platform as a Service (PaaS): The capability provided to theconsumer is to deploy onto the cloud infrastructureconsumer-created or acquired applications created usingprogramming languages, libraries, services, and toolssupported by the provider.

Infrastructure as a Service (IaaS): The capability provided tothe consumer is to provision processing, storage, networks,and other fundamental computing resources.

29 / 34

Page 30: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Deployment Models of Cloud Computing

Private cloud : The cloud infrastructure is provisioned forexclusive use by a single organization comprising multipleconsumers (e.g., business units). It may be owned, managed,and operated by the organization, a third party, or somecombination of them, and it may exist on or off premises.Public cloud : The cloud infrastructure is provisioned for openuse by the general public. It may be owned, managed, andoperated by a business, academic, or governmentorganization, or some combination of them. It exists on thepremises of the cloud provider.Hybrid cloud : The cloud infrastructure is a composition oftwo or more distinct cloud infrastructures (private,community, or public) that remain unique entities, but arebound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud burstingfor load balancing between clouds)

30 / 34

Page 31: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Computing Paradigm Shift

Figure 12 : Computing paradigm shift 13

13Source: BofA Merrill Lynch Global Research.

31 / 34

Page 32: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Outline

1 Objectives

2 Mainframe

3 Client-Server ModelTermsOverview of Client-Server ModelLayered ArchitectureTiered Distribution

4 Cloud Computing

5 Summary

32 / 34

Page 33: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Summary

1 Objectives

2 Mainframe

3 Client-Server ModelTermsOverview of Client-Server ModelLayered ArchitectureTiered Distribution

4 Cloud Computing

5 Summary

33 / 34

Page 34: Tutorial on Client-Server Architectureseem3430/Tutorial Notes/client-server.pdf · Tutorial on Client-Server Architecture ... Thin Client: uses a browser to ... bound together by

Objectives Mainframe Client-Server Model Cloud Computing Summary

Questions and Answers

Thank You!

34 / 34


Recommended