Server software accepts requests for data from client software and returns the results to the client

Similar documents
data dependence Data dependence Structure dependence

Active Server Pages Architecture

Chapter 3. Database Architecture and the Web

Database Environment. Pearson Education 2009

Chapter 13. Application Architecture and Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

CAS 703 Software Design

Creating Enterprise and WorkGroup Applications with 4D ODBC

Client Server & Distributed System. A Basic Introduction

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

C H A P T E R SYSTEM DESIGN

OVERVIEW OF DIFFERENT APPLICATION SERVER MODELS

DQpowersuite. Superior Architecture. A Complete Data Integration Package

Chapter 1: Distributed Information Systems

Database Server. 2. Allow client request to the database server (using SQL requests) over the network.

Overview Guide. Mainframe Connect 15.0

Database System Concepts and Architecture

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Boundary control : Access Controls: An access control mechanism processes users request for resources in three steps: Identification:

Where is Database Management System (DBMS) being Used?

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Chapter 3: AIS Enhancements Through Information Technology and Networks

1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda

Chapter 2 CommVault Data Management Concepts

Heckaton. SQL Server's Memory Optimized OLTP Engine

Borland AppServer. Borland

Appendix A - Glossary(of OO software term s)

Chapter 2 Distributed Information Systems Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

System Analysis & design

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!

CLIENT SERVER ARCHITECTURE:

Release Date: September, 2015 Updates:

Chapter 13: Architecture Patterns

Veritas Storage Foundation for Windows by Symantec

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Database Architectures

Benefits of Multi-Node Scale-out Clusters running NetApp Clustered Data ONTAP. Silverton Consulting, Inc. StorInt Briefing

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Caché and Data Management in the Financial Services Industry

Silberschatz and Galvin Chapter 15

Client/Server-Architecture

Chapter 20: Database System Architectures

Enterprise print management in VMware Horizon

Construction and Real Estate. Improve system performance and data security with SQL Server

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Chapter 6 Architectural Design. Chapter 6 Architectural design

Software Engineering (CSC 4350/6350) Rao Casturi

Chapters Chapter 1: Introduction to Databases

X100 ARCHITECTURE REFERENCES:

Introduction: Database Concepts Slides by: Ms. Shree Jaswal

Mastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp.

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Data Sheet: Storage Management Veritas Storage Foundation for Oracle RAC from Symantec Manageability and availability for Oracle RAC databases

Advanced Lectures on knowledge Engineering

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Super-Peer Architectures for Distributed Computing

Lecture 23 Database System Architectures

CLIENT/SERVER COMPUTING

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Architectural Design

3-Tier Architecture For Enterprise wide IT Solutions

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Software Architecture

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Advanced Data Management Technologies

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

EMPRESS Embedded RDBMS. Telecommunications and Networking

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

Distributed KIDS Labs 1

Technical Overview. Access control lists define the users, groups, and roles that can access content as well as the operations that can be performed.

Chapter 18 Distributed Systems and Web Services

Business Data Communications and Networking

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Business Continuity and Disaster Recovery. Ed Crowley Ch 12

Send me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.

CPS352 Lecture: Database System Architectures last revised 3/27/2017

Database Architectures

B.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

White Paper. Major Performance Tuning Considerations for Weblogic Server

Database System Concepts and Architecture

These are all examples of relatively simple databases. All of the information is textual or referential.

Shedding Tiers Creating a Simpler, More Manageable Storage Infrastructure

Development of web applications using Google Technology

Enterprise Geographic Information Servers. Dr David Maguire Director of Products Kevin Daugherty ESRI

Chapter 17: Distributed Systems (DS)

IBM TS7700 grid solutions for business continuity

IBM Best Practices Working With Multiple CCM Applications Draft

Common Design Principles for kdb+ Gateways

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes

In this unit we are going to speak about how computers use the networks to work together. There are several models (that in some cases are called

CS352 Lecture: Database System Architectures last revised 11/22/06

Modern Systems Analysis and Design Sixth Edition. Jeffrey A. Hoffer Joey F. George Joseph S. Valacich

Distributed OS and Algorithms

Agent-Enabling Transformation of E-Commerce Portals with Web Services

D2K Support for Standard Content Repositories: Design Notes. Request For Comments

Adding Mobile Capability to an Enterprise Application With Oracle Database Lite. An Oracle White Paper June 2007

Transcription:

Client Server Model Introduction Client machines are generally single-user workstations providing a user-friendly interface to the end user. Each server provides a set of shared services to the clients.it Enables many clients to share access to the same database and enables the use of a high-performance computer system to manage a database Definition Server software accepts requests for data from client software and returns the results to the client Where Operations are done in Client-Server Model In Client Server Relationship most of the application processing is done on a computer (client side), which obtains application services (such as database services) from another computer (server side) in a master slave configuration Client/Server Functions: The main operations of the client system are listed below: 1. Managing the user interface. 2. Accepts and checks the syntax of user inputs. 3. Processes application logic. 4. Generates database request and transmits to server. 5. Passes response back to server. The main operations of the server are listed below: 1. Accepts and processes database requests from client. 2. Checks authorization. 3. Ensures that integrity constraints are not violated.

4. Performs query/update processing and transmits responses to client. 5. Maintains system catalogue. 6. Provide concurrent database access. 7. Provides recovery control. Client/Server Topologies A Client/Server topology refers to the physical layout of the Client/Server network in which all the clients and servers are connected to each other. This includes all the workstations (clients) and the servers. The possible Client/Server topological design and strategies used are as follows: (i) Single Client, Single Server (ii) Multiple Clients, Single Server (iii) Multiple Clients, Multiple Servers

Classification of Client Server System There are three types of Client/Server systems in existence. 1. Two-tier: The architecture of any client/server environment is by definition at least a twotier system, the client being the first tier and the server being the second. The Client requests services directly from server i.e. client communicates directly with the server without the help of another server or server process. In a typical two-tier implementation, SQL statements are issued by the application and then handed on by the driver to the database for execution. The results are then sent back via the same mechanism, but in the reverse direction. It is the responsibility of the driver (ODBC) to present the SQL statement to the database in a form that the database understands In Two-Tier Client Server System the application processing is done separately for database queries and updates and for business logic processing and user interface presentation. Usually, the network binds the back-end of an application to the front-end, although both tiers can be present on the same hardware. Sometimes, the application logic (the real business logic) is located in both the client program and in the database itself. Quiet often, the business logic is merged into the presentation logic on the client side. As a result, code maintenance and reusability become difficult to achieve on the client side. On the database side, logic is often developed using stored procedures. In the two-tier architecture, if the Client/Server application has a number of business rules needed to be processed, then those rules can reside at either the Client or at the Server. :

Advantages of Two-Tier Systems 1. Availability of well-integrated PC-based tools like, Power Builder, MS Access, 4 GL tools provided by the RDBMS manufacturer, remote SQL, ODBC. 2. Tools are relatively inexpensive. 3. Least complicated to implement. 4. PC-based tools show Rapid Application Development (RAD) i.e., the application can be developed in a comparatively short time. 5. The 2-tier Client/Server provides much more attractive graphical user interface (GUI) applications than was possible with earlier technology. 6. Architecture maintains a persistent connection between the client and database, thereby eliminating overhead associated with the opening and closing of connections. 7. Faster than three-tier implementation. 8. Offers a great deal of flexibility and simplicity in management. Disadvantages of Two-Tier Systems: 1. As the application development is done on client side, maintenance cost of application, as well as client side tools etc. is expensive. That is why in 2-tier architecture the client is called fat client. 2. Increased network load: Since actual processing of data takes on the remote client, the data has to be transported over the network. This leads to the increased network stress. 3. Applications are loaded on individual PC i.e. each application is bound to an individual PC. For this reason, the application logic cannot be reused. Due to dynamic business scenario, business processes/logic have to be changed. These changed processes have to be implemented in all individual PCs. Not only that, the programs have to undergo quality control to check whether all the programs generate the same result or not. 4. Software distribution procedure is complicated in 2-tier Client/Server model. As all the application logic is executed on the PCs, all these machine have to be updated in case of a new release. The procedure is complicated, expensive, prone to errors and time consuming. 5. PCs are considered to be weak in terms of security i.e., they are relatively easy to crack. 6. Most currently available drivers require that native libraries be loaded on a client machine. 7. Load configurations must be maintained for native code if required by the driver. 8. Problem areas are encountered upon implementing this architecture on the Internet. 2. Three-Tier: In three-tier client/server system the client request are handled by intermediate servers which coordinate the execution of the client request with subordinate servers.

The proxy server makes the database request on behalf of the client and passes the results back after they have been serviced by the database. This approach eliminates the need for DBMS to be located on the same server. There are a couple of drawbacks to this model. One is that it requires that a small server process (listener) be set up on the middle server. Secondly, it requires all your client requests be transmitted into a network protocol. 1. First-tier (client-tier): The main responsibility of this tier is to receive user events and to control the user interface and presentation of data. As most of the software is removed from the client, the client is called Thin Client. Mainly browser and presentation code resides on this tier. 2. Second-tier (application-server-tier): The complex application logic is loaded here and available to the client tier on request from client. This level forms the central key towards solving the 2-tier problem. This tier can protect direct access of data. Object oriented analysis aims in this tier to record and abstract business processing in business projects. This way it is possible to map this tier directly from the case tools that support object oriented analysis.

3. Three-tier (database-server-tier): This tier is responsible for data storage. This server mostly operates on a relational database. The boundaries between tiers are logical. One can run 3-tiers in one and the same machine. The important fact is that the system is neatly structured and well-planned definitions of the software boundaries exist between the different tiers. Advantages of Three-Tier Systems: 1. Application maintenance is centralized with the transfer of the business logic for many end users into a single application server. This eliminates the concern of software distribution that are problematic in the traditional two-tier Client/Server model. 2. Clear separation of user-interface-control and data presentation from application logic. Through this separation more clients are able to have access to a wide variety of server applications. The two main advantages for client-applications are clear: quicker development through the reuse of pre-built business-logic components and a shorter test phase, because the server-components have already been tested. 3. Many users are able to access a wide variety of server applications, as all application logic are loaded in the applications server. 4. Load balancing is easier with the separation of the core business logic from the database server. 5. Dynamic load balancing: if bottlenecks in terms of performance occur, the server process can be moved to other servers at runtime. 6. Business objects and data storage should be brought as close together as possible. Ideally, they should be together physically on the same server. This way network load for complex access can be reduced. 7. The need for less expensive hardware because the client is thin. 8. Change management is easier and faster to execute. This is because a component/ program logic/business logic is implemented on the server rather than furnishing numerous PCs with new program versions. 3. N-Tier: N-tier computing obliges developer to design components according to a business schema that represents entities, relationship, activities roles, and rules, thereby enabling them to distribute functionality across logical and physical tiers, allowing better utilization of hardware and platform resources, as well as sharing of those resources and the components that they support to serve several large applications at the same time.

Another aspect of splitting tiers is that application developers and administrators are able to identify bottlenecks and throw hardware at them to enable load-balancing and failover of certain nodes. The splitting may be between application logic components, security logic, and presentation logic, computational-intensive and I/O-intensive components and so on. The most common approach used when designing N-tier system is the three-tier architecture. Three-tier and N-tier notations are similar, although N-tier architecture provides finer-grained layers. Architectures often decide to layout much more than three -tiers to deploy services (An infrastructure that supports three-tier is often made of several machines and services whose functionalities aren t part of the three-tier design). N-tier Client/Server Model Advantages 1. Overall performance has been improved. 2. The business logic is centralized. 3. Enhanced security level is attained. CLIENTS/SERVER ADVANTAGES 1. Performance and reduced workload 2. Workstation independence 3. System interoperability 4. Scalability 5. Data integrity 6. Data accessibility 7. System administration 8. Integrated services 9. Sharing resources among diverse platforms 10. Masked physical data access 11. Location independence of data processing 12. Reduced operating cost 13. Communication costs are reduced 14. Reduced hardware cost CLIENTS/SERVER DISADVANTAGES: 1. Maintenance Cost 2. Training Cost

3. Hardware Cost & Software Cost 4. Complexity Client/Server Applications: The main Applications of Client Server system are as follows 1. File sharing: File sharing is Client/Server in its most primitive form. It is the earliest form of computing over a network. In file sharing, a client computer simply sends a request for a file or records to a file server. The server, in turn, searches its database and fills the request. In a file sharing environment, the users of the information have little need for control over the data or rarely have to make modifications to the files or records. File sharing is ideal for organizations that have shared repositories of documents, images, large data objects, read-only files, etc. 2. Database centered systems: The most common use of Client/Server technology is to provide access to a commonly shared database to users (clients) on a network. This differs from simple file sharing in that a database centered system not only allows clients to request data and data-related services, but it also enables them to modify the information on file in the database. The database server not only houses the database itself; it helps to manage the data by providing secured access and access by multiple users at the same time. (i) Decision-support systems (DSS): Decision-Support Systems (DSS) are used when clients on the system frequently do analysis of the data or use the data to create reports and other documents. DSS provides a snapshot of data at a particular point in time. Typically, DSS might be utilized for a library catalog, WWW pages, or patient records in a doctor s office. (ii) Online transaction processing: Online Transaction Processing (OLTP) provides current, up-to-the-minute information reflecting changes and continuous updates. Users of an OLTP system typically require mission-critical applications that perform data access functions and other transactions with a one to two seconds response time. Airline reservations systems, point-of-sale tracking systems (i.e., cash registers in large department stores or super markets), and a stockbroker s workstation are OLTP applications. Structured Query Language (SQL): SQL, pronounced sequel, stands for Structured Query Language. It is a simple set of commands which allows users to control sets of data. Originally developed by IBM, it is now the predominant database language of mainframes, minicomputers, and LAN servers. It tells the server what data the client is looking for, retrieves it, and then figures out how to get it back to the client.

SQL has become the industry standard for creating shared databases having received the stamp of approval from the ISO and ANSI. That s important since prior to this, there was no one commonly agreed upon way to create Client/Server database applications. With standardization, SQL has become more universal which makes it easier to set up Client/Server database systems in multi-platform/multi-nos environments. 3. Groupware: Groupware can be defined as software that supports creation, flow, and tracking of non-structured information in direct support of collaborative group activity. Groupware removes control over documents from the server and distributes it over a network, thus enabling collaboration on specific tasks and projects.the collaborative activity is virtually concurrent meaning that clients on the network, wherever they may be, can contribute, produce, and modify documents, and in the end, using the management and tracking features, synchronizes everything and produces a collective group product. Groupware brings together five basic technologies I. Multimedia Document Management II. III. IV. Workflow Scheduling Conferencing V. Electronic mail I. Multimedia Document Managements (MMDM): With groupware, clients can have access to documents and images as needed. Multimedia document management (MMDM) allows them to take those documents and modify them. The modifications can take place in real time with several clients making changes and modifications simultaneously, or they can be modified, stored on the server for review or future action by other clients. MMDM is, in essence, an electronic filing cabinet that holds documents in the form of text, images, graphics, voice clips, video, and other media. II. Workflow: Workflow refers to technologies which automatically route events (work) from one program to the next in a Client/Server groupware environment. It determines what needs to be done to complete a task or project, then merges, transforms, and routes the work item through the collaborative process. Workflow is especially applicable to routine tasks such as processing insurance claims or income tax return preparation.

III. Scheduling (or Calendaring): Scheduling or calendaring is native to groupware technology. It electronically schedules things like meetings and creates shared calendars and to do lists for all users on client workstations. It can work with the workflow function to monitor progress on a project (i.e., monitoring the project completion timeline), schedule a meeting or conference among key persons if needed, and notify them by automatic e-mail. IV. Conferencing Conferencing is another native groupware application. This allows users at different client workstations to hold electronic meetings. These meetings can be either real time or anytime. In real time conferencing clients are interacting simultaneously. With anytime conferencing, documents and messages are posted to bulletin boards and clients can add their two cents in the form of comments, messages, or modifications. V. Electronic Mail (E-mail): E-mail is an essential element of groupware technology. It facilitates communication among clients on a network. In a groupware environment, the e- mail can be integrated with the multimedia document management, workflow, scheduling/calendaring, and conferencing features. 4. Transactional processing: To create truly effective Client/Server solutions, the various components within the system (the application software, the network operating system, utilities, and other programs) need to work together in unison. If infrastructure and software which enable Client/Server computing are musicians in a symphony, transaction processing would be the conductor. 5. Distributed objects: A distributed object is a vague term used to describe the technologies which allow clients and servers from different technologies from different environments and platforms to work seamlessly together. Its goal is to provide users with single-image, easy-to-use, virtually transparent applications. Distributed object technology is still in its infancy and has yet to fulfill its promise of making Client/Server into the flexible, robust, intelligent, and self-managing systems that most users want and expect. Categories of Servers: 1. file server:file Servers manage a work group s application and data files, so that they may be shared by the group.it is Very I/O oriented and Pull large amount of data off the storage subsystem and pass the data over the network. It Requires many slots for network connections and a large-capacity, fast hard disk subsystem and Performs Application logic processing. 2. Computer Servers : It Requires processors with high performance capabilities large amounts of memory relatively low disk subsystems. By separating data

from the computation processing, the compute server s processing capabilities can be optimized. 3. Data server: It is Data-oriented i.e. used only for data storage and management. Since a data server can serve more than one compute server, compute-intensive applications can be spread among multiple servers. It does not prefer any application logic processing. It Performs processes such as data validation, required as part of the data management function. It requires fast processor, large amount of memory and substantial Hard disk capacity. 4. Database Server: It is the most typical use of technology in client-server. It Accepts requests for data, retrieves the data from its database (or requests data from another node) and passes the results back. Compute server with data server provides the same functionality. The server requirement depends on the size of database, speed with which the database must be updated, number of users and type of network used. 5. Communication Server: It provides gateway to other LANs, networks & Computers, E-mail Server & internet server Modest system requirements. 1. multiple slots 2. fast processor to translate networking protocols