Top Banner
42

Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Dec 24, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.
Page 2: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Chapter 9

Client/Server, Intranet, and Cloud Computing

Page 3: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Client/Server Terminology

Page 4: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Client-Server Environment

Page 5: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Client/Server Characteristics

Page 6: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Client/Server Architecture

Page 7: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Client/Server Architecture for Database Applications

Page 8: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Client/Server

Database Usage

Page 9: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Classes of Client/Server Applications

Page 10: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Three Level Architectural Client/Server Framework

Page 11: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Three-Tier Client/Server Architecture

Page 12: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Middleware

Standardized interfaces and protocols between clients and back-end databases

Hides complexity of data sources from the end-user

Compatible with a range of client and server options

All applications operate over a uniform applications programming interface (API)

Page 13: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

The Role of Middleware in Client/Server Architecture

Page 14: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Logical View of Middleware

Page 15: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Middleware Mechanisms

Page 16: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Basic Message Passing Primitives

Page 17: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Message Passing IssuesReliability versus

Unreliability

Reliable facilities guarantee delivery if possible

Such a facility would make use of a reliable transport protocol or similar logic to perform error checking, acknowledgment, retransmission, and reordering of misordered messages

Blocking versus Nonblocking

Non-blocking is more efficient, but difficult to test and debug programs

Blocking (synchronous) retains control until acknowledgment is received

Page 18: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Remote Procedure Call Mechanism

Page 19: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

RPC Flow

Page 20: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Client/Server Binding

Page 21: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Object-Oriented Mechanisms

Clients and servers ship messages back and forth between objectsMay rely on an underlying message or RPC structure or be developed directly on top of object-oriented capabilities in the operating systemSuccess depends on standardization of the object mechanismCompeting designs:

Microsoft’s Component Object Model (COM), the basis for Object Linking and Embedding (OLE)Common Object Request Broker Architecture (CORBA) developed by the Object Management Group

Supported by IBM, Apple, Sun

Page 22: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Intranets

Page 23: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Advantages of Intranets

Rapid prototyping

Scales effectively

Little training required

Can be implemented on a variety of systems

Open architecture allows interaction across platforms

Supports a range of distributed servers

Allows integration of legacy systems on client and server side

Supports a range of media types

Inexpensive to implement

Page 24: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Example Corporate Web Page Structure

Page 25: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Web/Database Connectivity

Page 26: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Web/Database Connectivity

AdvantagesEase of administrationDeploymentDevelopment speedFlexible information presentation

DisadvantagesLimited functionalityStateless operation makes tracking difficult

Page 27: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Intranet Webs Versus Traditional Client/Server

Page 28: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Extranets

Makes use of TCP/IP and their applications, especially the WebThe distinguishing feature is that it provides access to corporate resources by outside clients

This outside access can be through the Internet or through other data communications networks

Provides more extensive access to corporate resources, usually in a fashion that enforces a security policyTypical model of operation is client/server

Page 29: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Benefits of Extranets

Reduced costsMinimizes paperwork and human involvement

CoordinationCritical information can be made available so that quick decisions can be made

Customer satisfactionProvides more information about the current status of products and services

Expedited communicationIncreases the efficiency and effectiveness of communication

Page 30: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Methods for Converting Intranets to Extranets

Page 31: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Service Oriented Architecture (SOA) Model

Page 32: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Key Characteristics for Effective Use of Services

Page 33: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Example Use of SOA

Page 34: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Cloud Computing

NIST defines cloud computing as:

“A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be

rapidly provisioned and released with minimal management effort or service provider

interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.”

Page 35: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Cloud Computing Elements

Page 36: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Service Models

Page 37: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Deployment Models

Page 38: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Cloud Computing

Context

Page 39: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Cloud Computing Reference Architecture

NIST establishes a reference architecture described as follows:

“The NIST cloud computing reference architecture focuses on the requirements of ‘what’ cloud services provide, not a ‘how to’ design solution and implementation. The reference architecture is intended to facilitate the understanding of the operational intricacies in cloud computing. It does not represent the system architecture of a specific cloud computing system, instead it is a tool for describing, discussing, and developing a system-specific architecture using a common framework of reference.”

Page 40: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Reference Architecture Objectives

Page 41: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

NIST Cloud Computing Reference Architecture

Figure 9.20 NIST Cloud Computing Reference Architecture

Page 42: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.

Summary The growth of

client/server computing Client/server

applications Database applications Classes of client/server

applications Three-tier client/server

architecture

Cloud computing Cloud computing elements Cloud computing reference

architecture

Chapter 9: Client/Server, Intranet, and Cloud Computing

Middleware Middleware architecture Message passing Remote procedure calls Object-oriented

mechanisms

Intranets Web content Web/Database applications Intranet Webs versus

traditional client/server

Service-oriented architecture

Extranets