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

Slides:



Advertisements
Similar presentations
Distributed Processing, Client/Server and Clusters
Advertisements

Database Architectures and the Web
Elements of a Microprocessor system Central processing unit. This performs the arithmetic and logical operations, such as add/subtract, multiply/divide,
Chapter 13 (Web): Distributed Databases
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Chapter 9: The Client/Server Database Environment
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
© 2001 by Prentice Hall6-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 6 Software Introduction.
Distributed Systems: Client/Server Computing
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Introduction to client/server architecture
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
Shilpa Seth.  Centralized System Centralized System  Client Server System Client Server System  Parallel System Parallel System.
PMIT-6102 Advanced Database Systems
© 2001 by Prentice Hall5-1 Local Area Networks, 3rd Edition David A. Stamper Part 2: Hardware Chapter 5 LAN Hardware.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
1 © Prentice Hall, 2002 Chapter 8: The Client/Server Database Environment Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott,
MBA 664 Database Management Systems Dave Salisbury ( )
Database Architectures and the Web Session 5
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
© 2005 by Prentice Hall 1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott,
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
© 2005 By Prentic Hall1 1 University Of Palestine Essentials of Management Information Systems Kenneth C. Laudon, Jane P. Laudon Instructor: Mr. Ahmed.
How computer’s are linked together.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
SYSTEMSDESIGNANALYSIS 1 Chapter 21 Implementation Jerry Post Copyright © 1997.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
System Architecture & Hardware Configurations Dr. D. Bilal IS 582 Spring 2008.
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
Thepul Ginige Lecture-5 Implementation of Information System Part - I Thepul Ginige.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Chapter 9: The Client/Server Database Environment
Database Architectures and the Web
System Architecture & Hardware Configurations
The Client/Server Database Environment
Local Area Networks, 3rd Edition David A. Stamper
The Client/Server Database Environment
The Client/Server Database Environment
System Architecture & Hardware Configurations
Chapter 9: The Client/Server Database Environment
Database Architectures and the Web
CHAPTER 2 Application Layer.
Introduction to client/server architecture
#01 Client/Server Computing
Chapter 16 Designing Distributed and Internet Systems
Ch > 28.4.
Lecture-5 Implementation of Information System Part - I Thepul Ginige
Chapter 17: Client/Server Computing
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

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

© 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:

© 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

© 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.

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

© 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.

© 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.

© 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

© 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.

© 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

© 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

© 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

© 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.

© 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

© 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

© 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.

© 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)

© 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.

© 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

© 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