Chapter 6: Client/Server and Intranet Computing
description
Transcript of Chapter 6: Client/Server and Intranet Computing
![Page 1: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/1.jpg)
Chapter 6:Client/Server and Intranet
Computing
Business Data Communications, 6e
![Page 2: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/2.jpg)
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
![Page 3: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/3.jpg)
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.
![Page 4: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/4.jpg)
Client-Server Environment
![Page 5: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/5.jpg)
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
![Page 6: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/6.jpg)
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
![Page 7: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/7.jpg)
Classes of Client-Server Applications
• Host-based processing
• Server-based processing
• Client-based processing
• Cooperative processing
• “Thick client” vs “Thin server”
![Page 8: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/8.jpg)
3-Tier Client/Server Architecture
![Page 9: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/9.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 10: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/10.jpg)
Middleware Architecture
![Page 11: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/11.jpg)
Logical View of Middleware
![Page 12: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/12.jpg)
Basic Message Passing Primitives
![Page 13: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/13.jpg)
Message 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
![Page 14: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/14.jpg)
Remote Procedure Call Mechanism
![Page 15: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/15.jpg)
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
![Page 16: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/16.jpg)
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
![Page 17: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/17.jpg)
Intranets
• Implementation of Internet-based technologies within an organization, rather than for global connectivity
• Immensely successful in corporate computing contexts
![Page 18: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/18.jpg)
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
![Page 19: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/19.jpg)
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
![Page 20: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/20.jpg)
Corporate Intranet Example
![Page 21: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/21.jpg)
Web/Database Connectivity
• Advantages– Ease of administration
– Deployment
– Development speed
– Flexible information presentation
• Disadvantages– Limited functionality
– Stateless operation makes tracking difficult
![Page 22: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/22.jpg)
Intranet Webs vs Traditional Client/Server
• Client/Server Disadvantages Include:1. 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
![Page 23: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/23.jpg)
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
![Page 24: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/24.jpg)
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
![Page 25: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/25.jpg)
Advantages of Extranets
• Reduced costs
• Coordination
• Customer Satisfaction
• Expedited communication
![Page 26: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/26.jpg)
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
![Page 27: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/27.jpg)
Service Oriented Architecture
• Client/server architecture utilized widely by enterprise systems
• Business functions consist of modular structures
![Page 28: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/28.jpg)
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.
![Page 29: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/29.jpg)
Key Characterisitics for Effective Services Use
• Coarse-grained
• Interface-based design
• Discoverable
• Single Instance
• Loosely Coupled
• Asynchronous
![Page 30: Chapter 6: Client/Server and Intranet Computing](https://reader036.fdocuments.net/reader036/viewer/2022081418/568144bf550346895db187ad/html5/thumbnails/30.jpg)
SOA Example