Title: Chapter 6: Client/Server and Intranet Computing
1Chapter 6Client/Server and Intranet Computing
- Business Data Communications, 6e
2What is Client/Server?
- Client
- Server
- Network
- How is client/server different from other
distributed computing? - Heavy reliance on user-friendly applications
- Emphasis on centralizing databases and management
functions - Commitment to openness/modularity
- Networking fundamental to operation
3Client/Server Terminology
- Application Programming Interface (API) A set of
function and call programs that allow clients and
servers to intercommunicate. - Client A networked information requester
(usually a PC or workstation) that can query a
database and/or other information from a server. - Middleware A set of drivers, APIs, or other
software that improves connectivity between a
client application and a server. - Relational Database A database in which
information access is limited to the selection of
rows that satisfy all search criteria. - Server A computer, usually a high-powered
workstation or a mainframe, that houses
information for manipulation by networked
clients. - Structured Query Language (SQL) A language
developed by IBM and standardized by ANSI for
addressing, creating, updating, or querying
relational databases.
4Client-Server Environment
5Why is Client-Server Different?
- Emphasis on user-friendly client applications
- Focus on access to centralized databases
- Commitment to open and modular applications
- Networking is fundamental to the organization
6Client/Server Applications
- Emphasis on GUI for users
- Database Example
- Database on server, applications for access on
client, glue (like SQL) enables requests) - Application logic can be client-only, or split
between client and server
7Classes of Client-Server Applications
- Host-based processing
- Server-based processing
- Client-based processing
- Cooperative processing
- Thick client vs Thin server
83-Tier Client/Server Architecture
9Middleware
- 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).
10Middleware Architecture
11Logical View of Middleware
12Basic Message Passing Primitives
13Message Passing Issues
- Reliability vs Unreliability
- Reliable facilities guarantee delivery, provide
error-checking, retransmission, etc - Alternatively, the message can be sent without
success/failure reduces complexity and overhead,
passes responsibility for confirmation to
application - Blocking vs Nonblocking
- Non-blocking more efficient, but difficult to
test and debug programs - Blocking (synchronous) retains control until
acknowledgment is received
14Remote Procedure Call Mechanism
15Client/Server Binding
- Nonpersistent binding
- Does not maintain state information, connections
re-established as necessary - Inappropriate for RPCs used frequently by same
caller - Persistent binding
- Connection sustained until procedure return
- Useful for applications making repeated calls to
remote procedures
16Object-Oriented Mechanisms
- Clients and servers ship messages between
objects. - May rely on an underlying message or RPC
structure or be developed directly on top of
object-oriented capabilities in the operating
system - Success depends on standardization of the object
mechanism, but competing models exist - COM, OLE, CORBA
17Intranets
- Implementation of Internet-based technologies
within an organization, rather than for global
connectivity - Immensely successful in corporate computing
contexts
18Advantages of Intranets
- Rapid prototyping
- Scales effectively
- Little training required
- Can be implemented on 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
19The Intranet Web
- Web Content
- The web can be used to effectively distribute
content in a way that requires no new training
for end-users - Web/Database Connectivity
- Multiple tools exist to serve as middleware
between web servers and data sources - Electronic Mail
- Network News
20Corporate Intranet Example
21Web/Database Connectivity
- Advantages
- Ease of administration
- Deployment
- Development speed
- Flexible information presentation
- Disadvantages
- Limited functionality
- Stateless operation makes tracking difficult
22Intranet Webs vs Traditional Client/Server
- Client/Server Disadvantages Include1. Long
development cycles2. Difficulty in partitioning
applications, and modifying based on user
feedback3. Effort in distributing upgrades to
clients4. Difficult in scaling servers to
respond to increased load5. Continuous
requirement for more powerful desktop machines
23Other Intranet Technologies
- Electronic Mail
- Closed internal mail systems (delivery
verification, etc) - Internal mailing lists
- Network news (USENET)
- Can be adopted for internal intranet uses
24Extranets
- Extends the intranet concept to provide
information and services to selected outside
populations, such as customers and suppliers - Enables the sharing of information between
companies - A TCP/IP enabled form of EDI
25Advantages of Extranets
- Reduced costs
- Coordination
- Customer Satisfaction
- Expedited communication
26Methods for Converting Intranets to Extranets
- Long-distance dial-up access
- Internet access to intranet with security
- Internet access to an external server that
duplicates some of a companys intranet data - Internet access to an external server that
originates database queries to internal servers - Virtual private network
27Service Oriented Architecture
- Client/server architecture utilized widely by
enterprise systems - Business functions consist of modular structures
28SOA Architectural Elements
- Service provider network node that provides a
service interface for a software asset that
manages a specific set of tasks. - Service requestor network node that discovers
and invokes other software services. - Service broker specific kind of service provider
that acts as a registry and allows lookup of
service provider interfaces and service locations.
29Key Characterisitics for Effective Services Use
- Coarse-grained
- Interface-based design
- Discoverable
- Single Instance
- Loosely Coupled
- Asynchronous
30SOA Example