Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.

Similar presentations


Presentation on theme: "© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture."— Presentation transcript:

1 © 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture

2 © 2001 by Prentice Hall 8-2 Chapter Preview What is client/server? Client/server history Client/server advantages and disadvantages Client/server technology Client/server standards Client/server database implementations In this chapter you will study:

3 © 2001 by Prentice Hall 8-3 What Is Client/Server? A client is a software module that relies on a server software module for some of an application’s processing requirements. The server performs the work necessary to complete the request and returns the result to the client. Client/server computing is: – a modular approach to application design – an architecture for software deployment and sharing – a hardware-independent approach to application design

4 © 2001 by Prentice Hall 8-4 Client/Server Computing: A Modular Approach The client/server approach to application design takes advantage of the fact that applications typically perform a variety of functions. Three of the most common functions are presentation, business, and database logic. If this type of architecture is adopted, changes in one functional area can be isolated from the remainder of the system.

5 © 2001 by Prentice Hall 8-5 Single Process Client/Server Configuration Presentation Logic Business Logic Database Logic Application TerminalDisk drives

6 © 2001 by Prentice Hall 8-6 Client/Server Computing: Software Sharing Client/server computing can take advantage of the fact that some application logic is common to multiple programs. Because most applications use databases, the logic these applications use to access and manipulate data is mostly the same. With client/server computing, these applications can share this logic rather than have it embedded within each program.

7 © 2001 by Prentice Hall 8-7 Client/Server Computing: Hardware-Independent Approach Client/server provides a way of crafting application systems for single computers as well as for networks. Therefore, client/server applications can be spread over a wide variety of hardware configurations. The primary requirement is an ability for the client and server to communicate.

8 © 2001 by Prentice Hall 8-8 Client/Server on a Network Bus. Logic Pres. Logic Requests and Responses Clients Database (SQL) Server File/Print Server

9 © 2001 by Prentice Hall 8-9 Client/Server an Historical Perspective In the early days of computing, a programmer often needed to address the issues of hardware interfaces as well as the issues of business logic. This required more skills from the programmer, and development time was extensive because hardware-oriented logic often had to be duplicated in multiple programs. With the advent of compilers and operating systems, the application programmer’s responsibilities were reduced. Compilers allowed code to be written in high-level languages, like COBOL and C++. ON-line transaction processing (OLTP) provided another step toward client/server computing. The implementation used in leading OLTP systems was the precursor of modern client/server computing environments.

10 © 2001 by Prentice Hall 8-10 Client/Server Models Database LogicBusiness LogicPresentation Logic Database LogicBusiness LogicPresentation Logic Database LogicBusiness LogicPresentation Logic Database Server Model ServerClient Split Business Logic Model ServerClient Business Logic ClientServer Presentation Client Model

11 © 2001 by Prentice Hall 8-11 Local Procedure Call Example Procedure P2 (input1, output1) Procedure P1 (input1, input2, ouput1) Call P2 (param1, param2) Call P1 (param1, param2, param3) Program P2 P1 Main Local Procedure Calls

12 © 2001 by Prentice Hall 8-12 Remote Procedure Call Example Procedure P2 (input1, output1) P2 Server ComputerClient Computer Call P1 (param1, param2, param3) Procedure P1 (input1, input2, ouput1) Call P2 (param1, param2) Local Procedure Call P1 Main Remote Procedure Call Program

13 © 2001 by Prentice Hall 8-13 SQL Server With SQL server technology, the database processing is done on the server. In file server technology, the database processing is the responsibility of the client. The advantages of the SQL server technology are as follows: – Less data is transmitted over the network. – Database processing that can be optimized for that task is performed on the server. – If database processing demands increase, more powerful SQL servers can be installed to accommodate the increased workload. – Processing is distributed over multiple computers, each of which can be optimized for the tasks it performs.

14 © 2001 by Prentice Hall 8-14 Relationship Between SQL Server and Client Business Logic Database Driver Vendor A Database Driver Vendor B Com. Interface Client Computer Vendor A Vendor B Database (SQL) Servers

15 © 2001 by Prentice Hall 8-15 The Role of the SQL Server The SQL server’s job is to process the queries it receives from clients. The SQL server must be multithreaded. Because the SQL server specializes in carrying out database requests, it can be highly optimized for tasks it performs. To optimize the SQL server operations, an SQL server computer may be configured with some of the following options: – Multiple processors for parallel processing – Large amounts of RAM for caching disk images – Processor s dedicated for improving the speed of disk access – High-speed buses – Efficient disk subsystems that allow parallel disk accesses – Fault-tolerant disk configurations to reduce the risk of database outages – High-speed communications between client and server

16 © 2001 by Prentice Hall 8-16 Combined Client/Server Responsibilities Clients and servers have disjoint processing responsibilities. There are some processing responsibilities that may be assigned to either the client or the server or split between them. One example of this is the enforcement of business rules. There are advantages and disadvantages to having the logic for enforcing business rules in the server. When such logic is placed in the server, there is a single point at which the logic is placed. If the business logic changes, the change can be made in the server’s logic, and all clients immediately see the effect of the changes. However, adding application logic to the server increases its workload and can decrease the server’s ability to provide fast responses to requests.

17 © 2001 by Prentice Hall 8-17 Client/Server Standards Client/server standards have been formulated to allow open systems and provide a mechanisms for interoperability of clients and servers. The standards being formed include: – how clients and servers communicate with each other – how clients find the server or servers that perform their needed functions Interfaces between clients and servers have come to be called middleware. Middleware is responsible for making the connection between clients and servers. Examples of middleware and its standardization efforts are: – distributed computing environment (DCE) specifications – object request broker (ORB) – open database connectivity (ODBC)

18 © 2001 by Prentice Hall 8-18 A Look to the Future Operating system and application software evolution is placing ever higher demands for disk, memory, and processing. These increasing demands together with a dependence on desktop computing have the following consequences: – Newer, higher capacity computers are needed to replace older, lower capacity computers. – Existing computers need upgrading to accommodate new software. – Installing and supporting distributed applications can be expensive. – Managing centralized systems is easier than managing decentralized systems. In an effort to trim the costs associated with software evolution, some companies are adopting the use of thin clients and server clusters.

19 © 2001 by Prentice Hall 8-19 A Look to the Future (cont.) A thin client is a stripped-down microcomputer. The function of the thin client is to provide basic input and output much like the terminals in the earlier centralized host computer architectures. A cluster servers consists of two or more servers operating in concert with each other. The benefits of the then client architecture are: – Lower costs because the thin clients are less expensive to buy – Obsolescence is not as likely for thin clients because they do not need to keep pace with expanding software needs – Software distribution and maintenance is simpler when restricted to the servers – Management and control of applications and data is easier in a centralized architecture

20 © 2001 by Prentice Hall 8-20 High-speed Interface Between Servers Server Cluster Database (SQL) Servers File/Print Servers Application Servers Terminal Server Thin Clients Thin Client Architecture


Download ppt "© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture."

Similar presentations


Ads by Google