![Page 1: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/1.jpg)
![Page 2: Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050809/56649dc85503460f94abd696/html5/thumbnails/42.jpg)
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