application programming interface (api) a set of function and call programs that allow clients and...
TRANSCRIPT
Chapter 9
Client/Server, Intranet, and Cloud Computing
Client/Server Terminology
Client-Server Environment
Client/Server Characteristics
Client/Server Architecture
Client/Server Architecture for Database Applications
Client/Server
Database Usage
Classes of Client/Server Applications
Three Level Architectural Client/Server Framework
Three-Tier Client/Server Architecture
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)
The Role of Middleware in Client/Server Architecture
Logical View of Middleware
Middleware Mechanisms
Basic Message Passing Primitives
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
Remote Procedure Call Mechanism
RPC Flow
Client/Server Binding
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
Intranets
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
Example Corporate Web Page Structure
Web/Database Connectivity
Web/Database Connectivity
AdvantagesEase of administrationDeploymentDevelopment speedFlexible information presentation
DisadvantagesLimited functionalityStateless operation makes tracking difficult
Intranet Webs Versus Traditional Client/Server
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
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
Methods for Converting Intranets to Extranets
Service Oriented Architecture (SOA) Model
Key Characteristics for Effective Use of Services
Example Use of SOA
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.”
Cloud Computing Elements
Service Models
Deployment Models
Cloud Computing
Context
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.”
Reference Architecture Objectives
NIST Cloud Computing Reference Architecture
Figure 9.20 NIST Cloud Computing Reference Architecture
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