Tutorial on Client-Server Architecture



Similar documents
Cloud Computing. Course: Designing and Implementing Service Oriented Business Processes


IS PRIVATE CLOUD A UNICORN?

Cloud definitions you've been pretending to understand. Jack Daniel, Reluctant CISSP, MVP Community Development Manager, Astaro

The NIST Definition of Cloud Computing (Draft)

See Appendix A for the complete definition which includes the five essential characteristics, three service models, and four deployment models.

The NIST Definition of Cloud Computing

CHAPTER 8 CLOUD COMPUTING

Cloud Computing Submitted By : Fahim Ilyas ( ) Submitted To : Martin Johnson Submitted On: 31 st May, 2009

Business Intelligence (BI) Cloud. Prepared By: Pavan Inabathini

Private Cloud 201 How to Build a Private Cloud

CSO Cloud Computing Study. January 2012

Fundamental Concepts and Models

SCADA Cloud Computing

Kent State University s Cloud Strategy

Perspectives on Moving to the Cloud Paradigm and the Need for Standards. Peter Mell, Tim Grance NIST, Information Technology Laboratory

Capability Paper. Today, aerospace and defense (A&D) companies find

Cloud Computing Architecture: A Survey

Session 5. Mixing and matching Public, Private and Hybrid Clouds for maximum benefits

Validation of a Cloud-Based ERP system, in practice. Regulatory Affairs Conference Raleigh. 8Th September 2014

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

Topics. Images courtesy of Majd F. Sakr or from Wikipedia unless otherwise noted.

Cloud Computing; What is it, How long has it been here, and Where is it going?

White Paper on CLOUD COMPUTING

Technology & Business Overview of Cloud Computing

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

Cloud Computing Flying High (or not) Ben Roper IT Director City of College Station

Securing and Auditing Cloud Computing. Jason Alexander Chief Information Security Officer

Enterprise Governance and Planning

OVERVIEW Cloud Deployment Services

Cloud SingularLogic:

Cloud Computing Technology

East African Information Conference th August, 2013, Kampala, Uganda. Security and Privacy: Can we trust the cloud?

Soft Computing Models for Cloud Service Optimization

Cloud Computing For Distributed University Campus: A Prototype Suggestion

Cloud Computing in the Federal Sector: What is it, what to worry about, and what to negotiate.

What is Cloud Computing? First, a little history. Demystifying Cloud Computing. Mainframe Era ( ) Workstation Era ( ) Xerox Star 1981!

The Private Cloud Your Controlled Access Infrastructure

Managing Cloud Computing Risk

Grid Computing Vs. Cloud Computing

Perspectives on Cloud Computing and Standards. Peter Mell, Tim Grance NIST, Information Technology Laboratory

Strategies for Secure Cloud Computing

SOA and Cloud in practice - An Example Case Study

Network and Services (NETW-903)

Understanding Client/Server Computing

A Study on Service Oriented Network Virtualization convergence of Cloud Computing

Cloud Computing demystified! ISACA-IIA Joint Meeting Dec 9, 2014 By: Juman Doleh-Alomary Office of Internal Audit

White Paper. Cloud Performance Testing

Cloud Computing An Elephant In The Dark

ITL BULLETIN FOR JUNE 2012 CLOUD COMPUTING: A REVIEW OF FEATURES, BENEFITS, AND RISKS, AND RECOMMENDATIONS FOR SECURE, EFFICIENT IMPLEMENTATIONS

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

Where in the Cloud are You? Session Thursday, March 5, 2015: 1:45 PM-2:45 PM Virginia (Sheraton Seattle)

Distributed Database Design

Why Private Cloud? Nenad BUNCIC VPSI 29-JUNE-2015 EPFL, SI-EXHEB

WHAT S ON YOUR CLOUD? Workload Deployment Strategies for Private and Hybrid Clouds RESEARCH AND ANALYSIS PROVIDED BY TECHNOLOGY BUSINESS RESEARCH

OWASP Chapter Meeting June Presented by: Brayton Rider, SecureState Chief Architect

Virtualization Technologies in SCADA/EMS/DMS/OMS. Vendor perspective Norman Sabelli Ventyx, an ABB company

Cloud Models and Platforms

CLOUD ARCHITECTURE DIAGRAMS AND DEFINITIONS

APPLICABILITY OF CLOUD COMPUTING IN ACADEMIA

Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges.

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com

The Hybrid Cloud: Bringing Cloud-Based IT Services to State Government

INCREASING SERVER UTILIZATION AND ACHIEVING GREEN COMPUTING IN CLOUD

TECHNOLOGY GUIDE THREE. Emerging Types of Enterprise Computing

Cloud Computing: The Next Computing Paradigm

Enhancing Operational Capacities and Capabilities through Cloud Technologies

Private Cloud Database Consolidation with Exadata. Nitin Vengurlekar Technical Director/Cloud Evangelist

Cloud Computing for SCADA

Dr.K.C.DAS HEAD PG Dept. of Library & Inf. Science Utkal University, Vani Vihar,Bhubaneswar

NETWORK ACCESS CONTROL AND CLOUD SECURITY. Tran Song Dat Phuc SeoulTech 2015

Mobile Hybrid Cloud Computing Issues and Solutions

Chapter3: Understanding Cloud Computing

Head in the Clouds Feet On the Ground

Developing a Risk-Based Cloud Strategy

Federal Cloud Computing Initiative Overview

Radware Cloud Solutions for Enterprises. How to Capitalize on Cloud-based Services in an Enterprise Environment - White Paper

VMware Building Many Bridges to the Cloud

International Journal of Management (IJM), ISSN (Print), ISSN (Online), Volume 3, Issue 1, January- April (2012)

Software Systems Architecture in a World of Cloud Computing. Christine Miyachi SDM Entering Class 2000

An Introduction to Private Cloud

Planning the Migration of Enterprise Applications to the Cloud

Lecture 02a Cloud Computing I

Cloud Computing. Karan Saxena * & Kritika Agarwal**

ICS 434 Advanced Database Systems

Service-Oriented Cloud Automation. White Paper

Sriram Krishnan, Ph.D.

Transcription:

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

Outline 1 Objectives 2 Mainframe 3 Client-Server Model Terms Overview of Client-Server Model Layered Architecture Tiered Distribution 4 Cloud Computing 5 Summary 2 / 34

Objectives Find answers to these questions: 1 What is client-server architecture? 2 What are the differences between N-layered architecture and N-tiered distribution? 3 Can you describe the computing paradigm shift? 3 / 34

Outline 1 Objectives 2 Mainframe 3 Client-Server Model Terms Overview of Client-Server Model Layered Architecture Tiered Distribution 4 Cloud Computing 5 Summary 4 / 34

Mainframe 1 Mainframe computers are computers used primarily by corporate and 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 the central processing unit and main memory of early computers. 1 http://en.wikipedia.org/wiki/mainframe computer 5 / 34

Objectives Mainframe Client-Server Model Cloud Computing Summary IBM-S360 Figure 1 : IBM System/360 Model 65 Computer 2 2 http://www.computerhistory.org/revolution/mainframe-computers/7/intro/565 6 / 34

Terminal-Mainframe Architecture Figure 2 : Terminal-Mainframe Architecture 3 3 Source: http://contentdeliverance.com/ 7 / 34

Outline 1 Objectives 2 Mainframe 3 Client-Server Model Terms Overview of Client-Server Model Layered Architecture Tiered Distribution 4 Cloud Computing 5 Summary 8 / 34

Layer vs. Tier Definition (Layer) Layers describe the logical groupings of the functionality and components in an application. A layer is a logical structuring mechanism for the components that make up the software solution. Definition (Tier) Tiers describe the physical distribution of the functionality and components on separate servers, computers, networks, or remote locations. A tier is a physical structuring mechanism for the system infrastructure. 9 / 34

Client-Server Model Definition The client/server model is a computing model that acts as a distributed application which partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. a a http://en.wikipedia.org/wiki/client-server model 1 A server is a host that is running one or more server programs which share their resources with clients. 2 A client does not share any of its resources, but requests a server s content or service function. 10 / 34

Client-Server Model Figure 3 : Client-Server Model 4 4 Source: http://contentdeliverance.com/ 11 / 34

Client-Server Model Two major parts in this tutorial: 1 Logical Layered Architecture 2 Physical Tiered Distribution 12 / 34

Layered Architecture Splitting application functionality into layers with distinct roles and functionalities 1 Help you maximize the maintainability of the application 2 Optimize the way the application works when deployed in different ways Figure 4 : Layers 5 5 http://msdn.microsoft.com/en-us/library/ff650258.aspx 13 / 34

Three-layered architecture Figure 5 : The logical architecture view of a layered system 6 6 http://msdn.microsoft.com/en-us/library/ee658109.aspx 14 / 34

Three-layered architecture 1 Presentation Layer: contains the user oriented functionality responsible for managing user interaction with the system, and generally consists of components that provide a common bridge into the core business logic encapsulated in the business layer. 2 Business Layer: implements the core functionality of the system, and encapsulates the relevant business logic. 3 Data Layer: provides access to data hosted within the boundaries of the system, and data exposed by other networked systems; perhaps accessed through services. 15 / 34

Distributed System Distributed System A distributed system consists of multiple autonomous computers that communicate with each other through a computer network in order to achieve a common goal. N-tiered Distribution Distributing the layers over multiple physical tiers In order to improve scalability, fault-tolerance, and performance. 16 / 34

Example: an order-processing application The example is an order-processing application, and only considers one use case: Process Order. This use case is responsible for allowing a customer service representative to enter an order into the system. 17 / 34

Single-tiered distribution Figure 6 : Single-tiered distribution 7 7 http://msdn.microsoft.com/en-us/library/ff647195.aspx 18 / 34

Two-tiered distribution Figure 7 : Two-tiered distribution 8 8 http://msdn.microsoft.com/en-us/library/ff647195.aspx 19 / 34

Three-tiered distribution Figure 8 : Three-tiered distribution 9 9 http://msdn.microsoft.com/en-us/library/ff647195.aspx 20 / 34

Client Tier Thin Client: uses a browser to provide the execution environment for the application s user interface (HTML defined). Thick Client: also known as Fat Client/Rich Client, involve compiled code artifacts (components, assemblies, etc.) running on the client machine to provide the application s user interface and client-side logic. Smart Client: represent a best-of-both-worlds approach. 21 / 34

Comparison of Thick, Smart and Thin Client Figure 9 : Comparison of Thick, Smart and Thin Client 10 10 http://www.develop-one.net/blog/2006/01/10/definitionforsmartclient.aspx 22 / 34

Four-tiered distribution Figure 10 : Four-tiered distribution 11 11 http://msdn.microsoft.com/en-us/library/ff647195.aspx 23 / 34

Criteria for structuring your solution s tiers Tiers allow servers and client computers to be optimized for specific tasks, such as interacting with users, serving Web pages, and hosting databases. Tiers separate servers that had different security profiles, scalability and fault-tolerance requirements. Tiers reduce the administration and deployment overhead required of distributed applications. However, each tier involved in processing a client request degrades performance and adds application and system management overhead. 24 / 34

Some Notes on N-layered Architecture and N-tiered Distribution. 1 Layers are concerned with the logical division of components and functionality, and do not take into account the physical location of components. 2 Layers can be located on different tiers, or they may reside on the same tier. 3 Although both layers and tiers use the same set of names (presentation, business, services, and data), remember that only tiers imply a physical separation. 4 Not all N-layered applications should be distributed as N-tiered, but all N-tiered distribution must internally be designed as N-layered architecture. 25 / 34

Outline 1 Objectives 2 Mainframe 3 Client-Server Model Terms Overview of Client-Server Model Layered Architecture Tiered Distribution 4 Cloud Computing 5 Summary 26 / 34

Definition of Cloud Computing Definition Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. a a http://csrc.nist.gov/publications/nistpubs/800-145/sp800-145.pdf 27 / 34

Cloud Computing Figure 11 : Cloud computing logical diagram 12 12 http://en.wikipedia.org/wiki/cloud computing 28 / 34

Service Models of Cloud Computing Software as a Service (SaaS): The capability provided to the consumer is to use the provider s applications running on a cloud infrastructure. Platform as a Service (PaaS): The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. Infrastructure as a Service (IaaS): The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources. 29 / 34

Deployment Models of Cloud Computing Private cloud: The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises. Public cloud: The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider. Hybrid cloud: The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds) 30 / 34

Computing Paradigm Shift Figure 12 : Computing paradigm shift 13 13 Source: BofA Merrill Lynch Global Research. 31 / 34

Outline 1 Objectives 2 Mainframe 3 Client-Server Model Terms Overview of Client-Server Model Layered Architecture Tiered Distribution 4 Cloud Computing 5 Summary 32 / 34

Summary 1 Objectives 2 Mainframe 3 Client-Server Model Terms Overview of Client-Server Model Layered Architecture Tiered Distribution 4 Cloud Computing 5 Summary 33 / 34

Questions and Answers Thank You! 34 / 34