Download Chapter 6

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Chapter 6:
Client/Server and Intranet
Computing
Business Data Communications, 6e
What 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
Client/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.
Client-Server Environment
Why 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
Client/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
Classes of
Client-Server Applications
•
•
•
•
•
Host-based processing
Server-based processing
Client-based processing
Cooperative processing
“Thick client” vs “Thin server”
3-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).
Middleware Architecture
Logical View of Middleware
Basic Message Passing
Primitives
Message Passing Issues
• Reliability vs Unreliability
– Reliable facilities guarantee delivery, provide errorchecking, 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
Remote Procedure Call
Mechanism
Client/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
Object-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
Intranets
• Implementation of Internet-based
technologies within an organization, rather
than for global connectivity
• Immensely successful in corporate
computing contexts
Advantages 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
The 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
Corporate Intranet Example
Web/Database Connectivity
• Advantages
–
–
–
–
Ease of administration
Deployment
Development speed
Flexible information
presentation
• Disadvantages
– Limited functionality
– Stateless operation
makes tracking
difficult
Intranet Webs vs Traditional
Client/Server
• Client/Server Disadvantages Include:
1. Long development cycles
2. Difficulty in partitioning applications,
and modifying based on user feedback
3. Effort in distributing upgrades to clients
4. Difficult in scaling servers to respond to
increased load
5. Continuous requirement for more
powerful desktop machines
Other Intranet Technologies
• Electronic Mail
– Closed internal mail systems (delivery
verification, etc)
– Internal mailing lists
• Network news (USENET)
– Can be adopted for internal intranet uses
Extranets
• 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
Advantages of Extranets
•
•
•
•
Reduced costs
Coordination
Customer Satisfaction
Expedited communication
Methods 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 company’s intranet data
• Internet access to an external server that
originates database queries to internal servers
• Virtual private network
Service Oriented Architecture
• Client/server architecture utilized widely by
enterprise systems
• Business functions consist of modular structures
SOA 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.
Key Characterisitics for
Effective Services Use
•
•
•
•
•
•
Coarse-grained
Interface-based design
Discoverable
Single Instance
Loosely Coupled
Asynchronous
SOA Example