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.

Slides:



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

ICS 434 Advanced Database Systems
Database Architectures and the Web
Maninder Kaur OPERATING SYSTEM Maninder Kaur 11 Oct 2010.
SWE 316: Software Design and Architecture
Distributed Processing, Client/Server, and Clusters
Technical Architectures
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
Homework 3.2 Clients Hub What’s wrong with this picture? Clients Using 100TX.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
Distributed Information Systems - The Client server model
Interpret Application Specifications
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.
The Architecture of Transaction Processing Systems
Distributed Systems: Client/Server Computing
Client/Server Architecture
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
SOFTWARE.
Client/Server Architectures
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
Week 6 Operating Systems.
Shilpa Seth.  Centralized System Centralized System  Client Server System Client Server System  Parallel System Parallel System.
CS212: OPERATING SYSTEM Lecture 1: Introduction 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
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.
Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Pearson Education, Inc. Slide 2-1 Data Models Data Model: A set.
Client/Server Computing
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Chapter 8 – Cloud Computing
Lecture 1: Network Operating Systems (NOS) An Introduction.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
System Architecture & Hardware Configurations Dr. D. Bilal IS 582 Spring 2008.
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.
Lecture 1: Network Operating Systems (NOS)
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
CLOUD ARCHITECTURE Many organizations and researchers have defined the architecture for cloud computing. Basically the whole system can be divided into.
Business System Development
“Nodes of Distributed Systems”
Network Operating Systems (NOS)
Lecture 1: Network Operating Systems (NOS)
The Client/Server Database Environment
The Client/Server Database Environment
CSC 480 Software Engineering
Introduction to Operating System (OS)
Introduction to client/server architecture
TYPES OFF OPERATING SYSTEM
#01 Client/Server Computing
CLIENT SERVER COMPUTING
Chapter 9: Understanding Complex Networks
Multithreaded Programming
Internet Protocols IP: Internet Protocol
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

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. In CS, it is different. CS architecture is also called 2 tier architecture.

Client It is an application that runs on a personal computer or work station and relies on a server to perform some operations. Eg: web browser, clients It is a part of the client server model that communicates with the server through inter process communication techniques.

Clients can be classified as either fat, thin or hybrid. A fat client, also known as a rich client or thick client, is a client that performs the bulk of any data processing operations itself, and does not necessarily rely on the server.

A thin client is a minimal sort of client. Thin clients use the resources of the host computer. A thin client's job is generally just to graphically display pictures provided by an application server, which performs the bulk of any required data processing. A hybrid client is a mixture of the above two client models.

Server A server is a computer program that provides services to other computer programs (and their users) in the same or other computers. The computer that a server program runs is also frequently referred to as a server. Depending on the computing service that it offers it could be a database server, file server, mail server, print server, web server, gaming server, or some other kind of server.

In the client/server programming model, a server is a program that awaits and fulfills requests from client programs in the same or other computers. A given application in a computer may function as a client with requests for services from other programs and also as a server of requests from other programs.

Client server is the distribution of an application program into two logically separate components, each performing very separate duties. Load balancing between client and server.

Methods for creating Client Server Applications Different methods in which CS applications are developed are: 1.) 3GL like C,C++,COBOL,PASCAL etc 2.)4GL like FoxPro,Panther,PowerBuilder,Matlab,PL/SQL etc. 3.) CASE: Computer Aided S/W Engineering. It produce client server applications with graphical interfaces as output. 4.)5GL visual builders: It helps developers to code very sophisticated applications without writing source code of any kind.

Heterogeneous Computing Diverse computing environment containing PCs, minicomputers, mainframe computers etc. Each application vendor must strive to support key platform for its target s/w consumer. Organizations buy software based on 3 criteria.

1.) Is it compatible with our existing s/w and h/w? 2.) Will it integrate with our current platform? 3.) Will it integrate with platforms we intend to use in the future?

In heterogeneous computing, h/w platforms must be able to support multiple operating systems, networks and protocols. Operating systems should communicate with other operating systems. Operating systems must be hardware independent like Windows NT,UNIX.

Cross Platform Computing An application which runs on multiple platforms. A cross-platform application may run on Microsoft Windows on the x86 architecture, Linux on the x86 architecture and Mac OS X on either the PowerPC or x86 based Apple Macintosh systems. It is the responsibility of the application developer to take care of these things.

The key things to be done by application programmer as follows: 1.) The application must run on multiple platforms. 2.) It must have the same look and feel on other platforms. 3.) It must integrate with the native operating environment. 4.) It must be maintained simply and consistently.

Some integrated development environments or frameworks are available for client server applications running in heterogeneous environments. E.g: Microsoft’s Windows Open System Architecture(WOSA), the UNIX COSE and Novell’s AppWare Foundation.

Distributed Computing A distributed system consists of multiple computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal. In parallel computing, all processors may have access to a shared memory to exchange information between processors. In distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors.

Distributed Computing is a form of client server computing. Increase of overall application throughput and the ability to multitask are tremendous benefits to the user. Corporates benefits from the integration of discrete network components and their functioning as a whole to increase efficiency and reduce costs.

Distributed machines process work by exactly the same means as client server model. Many distributed nodes may be working on behalf of one requesting client. It is the responsibility of the client to manage information requests and the receipt of results. Managing the load at a central server is very effective in distributed environment. Work can be dispatched to nodes such as those geographically nearest the requesting client.

Costs of Client Server Computing Early implementers believe that CSC is a cheaper alternative to mainframe or minicomputers. In some cases CSC is more expensive than traditional systems.

CSC costs by functional area COST COMPONENTCOST(%) APPLICATION DEVELOPMENT28 SYSTEM SUPPORT+ MAINTENANCE40 INFRASTRUCTURE25 TRAINING7

CSC VS Minicomputer Cost Break down COST COMPONENTCSCMINICOMPUTER APPLICATION DEVELOPMENT 2840 SYSTEM SUPPORT+ MAINTENANCE 4030 INFRASTRUCTURE2527 TRAINING73

Benefits of Client Server Computing Client is relieved of intensive computing tasks and can perform other duties. So, client can respond better to local, end user requests. From the clients perspective, applications are executed more quickly. Users benefit because they are capable of performing more work in the same amount of time.

Expensive computers with more processing power can be shared among many clients, which maximizes use of the most costly systems and fully utilizes their available resources. Scalability of distributed networks is a large potential performance advantage for client server.

Another advantage is use of client server for centralized data management. Server can act as a focal point for data accessibility. When essential connectivity and services are being provided, we can support a number of machines.

The Application is unaware of underlying protocol support, has become the focal point for data accessibility. Here, the server module is responsible for data access and may provide a centralized management to front end stations. Server application provides data management services. By providing a layer between data requests and data retrieval, the data management layer provides consistency to server applications and thus to client systems.

Specifications such as Borland/Novell’s Integrated Database API (IDAPI) and Microsoft's Open Database Connectivity (ODBC) provide this interface. Application programmers merely interface with the services provided by IDAPI or ODBC to fashion a single interface to multiple SQL data sources.

Another advantage is effective use of server resources. Disks, printers, faxes and services etc. can be shared by network clients. Client server promises to improve the overall performance of application programs and minimize network usage.

An obvious benefit of client server computing is Reduced Total execution time. Advantage of reduced execution time is that client application can may take advantage of the additional CPU cycles that becomes available. If the client OS is multitasking, the client application may run concurrently while waiting for the server computer to complete specified amount of work. The client machine at this point is able to process more work in a shorter amount of time due to the concurrency.

Another is reduced Client Memory Usage Memory usage is decreased when implementing client server because application code as well as third party modules may be migrated to other platforms.

Another advantage is reduced network traffic. In Client Server model, the actual data manipulation resides on the server computer and usually not transferred to the client station during processing. The client computer only receives data when the unit of work is completed. As a result fewer network transmissions are required to compute tasks.