Presentation on theme: "Chapter 6: Client/Server and Intranet Computing"— Presentation transcript:
1 Chapter 6: Client/Server and Intranet Computing Business Data Communications, 6e
2 What is Client/Server? Client Server Network How is client/server different from other distributed computing?Heavy reliance on user-friendly applicationsEmphasis on centralizing databases and management functionsCommitment to openness/modularityNetworking fundamental to operation
3 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.
5 Why is Client-Server Different? Emphasis on user-friendly client applicationsFocus on access to centralized databasesCommitment to open and modular applicationsNetworking is fundamental to the organization
6 Client/Server Applications Emphasis on GUI for usersDatabase ExampleDatabase on server, applications for access on client, “glue” (like SQL) enables requests)Application logic can be client-only, or split between client and server
7 Classes of Client-Server Applications Host-based processingServer-based processingClient-based processingCooperative processing“Thick client” vs “Thin server”
9 MiddlewareStandardized interfaces and protocols between clients and back-end databasesHides complexity of data sources from the end-userCompatible with a range of client and server optionsAll applications operate over a uniform applications programming interface (API).
13 Message Passing Issues Reliability vs UnreliabilityReliable facilities guarantee delivery, provide error-checking, retransmission, etcAlternatively, the message can be sent without success/failure; reduces complexity and overhead, passes responsibility for confirmation to applicationBlocking vs NonblockingNon-blocking more efficient, but difficult to test and debug programsBlocking (synchronous) retains control until acknowledgment is received
15 Client/Server Binding Nonpersistent bindingDoes not maintain state information, connections re-established as necessaryInappropriate for RPCs used frequently by same callerPersistent bindingConnection sustained until procedure returnUseful for applications making repeated calls to remote procedures
16 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 systemSuccess depends on standardization of the object mechanism, but competing models existCOM, OLE, CORBA
17 IntranetsImplementation of Internet-based technologies within an organization, rather than for global connectivityImmensely successful in corporate computing contexts
18 Advantages of Intranets Rapid prototypingScales effectivelyLittle training requiredCan be implemented on variety of systemsOpen architecture allows interaction across platformsSupports a range of distributed serversAllows integration of legacy systems on client and server sideSupports a range of media typesInexpensive to implement
19 The Intranet Web Web Content Web/Database Connectivity Electronic Mail The web can be used to effectively distribute content in a way that requires no new training for end-usersWeb/Database ConnectivityMultiple tools exist to serve as middleware between web servers and data sourcesElectronic MailNetwork News
21 Web/Database Connectivity AdvantagesEase of administrationDeploymentDevelopment speedFlexible information presentationDisadvantagesLimited functionalityStateless operation makes tracking difficult
22 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
23 Other Intranet Technologies Electronic MailClosed internal mail systems (delivery verification, etc)Internal mailing listsNetwork news (USENET)Can be adopted for internal intranet uses
24 ExtranetsExtends the intranet concept to provide information and services to selected outside populations, such as customers and suppliersEnables the sharing of information between companiesA TCP/IP enabled form of EDI
25 Advantages of Extranets Reduced costsCoordinationCustomer SatisfactionExpedited communication
26 Methods for Converting Intranets to Extranets Long-distance dial-up accessInternet access to intranet with securityInternet access to an external server that duplicates some of a company’s intranet dataInternet access to an external server that originates database queries to internal serversVirtual private network
27 Service Oriented Architecture Client/server architecture utilized widely by enterprise systemsBusiness functions consist of modular structures
28 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.
29 Key Characterisitics for Effective Services Use Coarse-grainedInterface-based designDiscoverableSingle InstanceLoosely CoupledAsynchronous