application programming interface (api) a set of function and call programs that allow clients and...

42

Upload: jennifer-williams

Post on 24-Dec-2015

229 views

Category:

Documents


0 download

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