An Introduction to Client/Server Architecture

Slides:



Advertisements
Similar presentations
Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.
Advertisements

Welcome to Middleware Joseph Amrithraj
Threads, SMP, and Microkernels
Distributed Processing, Client/Server and Clusters
ICS 434 Advanced Database Systems
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Introduction to Computer Administration Introduction.
Computer networks Fundamentals of Information Technology Session 6.
What is an operating system? Is it software?
Database Architectures and the Web
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Chapter One The Essence of UNIX.
Distributed Processing, Client/Server, and Clusters
Technical Architectures
REK’s adaptation of Prof. Claypool’s adaptation of
Introducing … Distributed Systems.
Operating Systems BTEC IT Practitioners.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Chapter 5 Managing a Server. Overview  Server management  Examine networking models  Learn how users are authenticated  Manage users and groups 
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Understanding Networks I. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Client/Server Architecture
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,
Client-Server Processing and Distributed Databases
The Client/Server Database Environment
Linux Basics. What is an Operating System (OS)? An Operating System (OS) is an interface between hardware and user which is responsible for the management.
Section 6.1 Explain the development of operating systems Differentiate between operating systems Section 6.2 Demonstrate knowledge of basic GUI components.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Stuart Cunningham - Computer Platforms COMPUTER PLATFORMS Network Operating Systems Week 9.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
Choosing NOS can be a complex and a difficult decision. Every popular NOS has its strengths and weaknesses. NOS may cost thousands of dollars depending.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Kyung Hee University 1/41 Introduction Chapter 1.
Module 2 : Part 1 INTRODUCTION TO HARDWARE & SOFTWARE INTRODUCTION TO HARDWARE & SOFTWARE.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Middleware Technologies
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Lecture (7) Systems software and Application Software.Systems software and Application Software. Dr:Emad Elsharkawy Eng-Omar Salah Dr:Emad Elsharkawy 1.
Enterprise Network Systems Client/ Server Mark Clements.
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Computer Operating Systems And Software applications.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
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)
Web Server Administration
Fundamentals of Information Systems, Sixth Edition
Business System Development
Netscape Application Server
The Client/Server Database Environment
Linux Resources.
The Client/Server Database Environment
CSC 480 Software Engineering
CHAPTER 2 Application Layer.
Introduction to client/server architecture
#01 Client/Server Computing
Computer Software CS 107 Lecture 2 September 1, :53 PM.
Ch > 28.4.
Computing Architectures
Chapter 2: The Linux System Part 1
#01 Client/Server Computing
Presentation transcript:

An Introduction to Client/Server Architecture Dr. Farid Farahmand

A Brief History: Open Platform The good old days Octopus-like mainframes Only a few venders to choose from Farms of disks where required Applications were specific for each machine Open platform New client/server architecture Open system allowed mix-and-match Different application technologies could be purchased from different venders Examples: server platform, client platform, network protocols, middleware software, etc.

What is Client/Server (C/S) Computing It started as PCs became more powerful PCs were no longer dumb terminals Provided an open and flexible environment C/S is considered as a form of distributed software

Distinct characteristics of C/S Client-server is a computing architecture which separates a client from a server It is almost always implemented over a computer network The most basic type of client-server architecture employs only two types of nodes: clients and servers. This type of architecture is sometimes referred to as two-tier. It allows devices to share files and resources. Server provides the service Client is considered as the customer requesting the service The server service can be shared among a number of clients Clients must request or initiate the service The location of the server in the network is transparent to clients Transaction between C/S is message-passing based C/S architecture is scalable horizontally (more clients can added) Vertically (more servers can be added) The server is centrally maintained where as clients are independent of each other

Systems with C/S Architecture File servers File sharing and file processing Data base servers Passing file results Example: Query in DBMS server Typically one single request/reply Transaction servers Transaction server includes DBMS and transaction monitoring Server has remote procedures run online by the client web servers Super-fat servers and thin clients Uses HTTP protocol Java was first to introduce interactive C/S forms Client Server Internet Application Client HTML Server Client JAVA

Client/Server Models Where to push the application to Fat clients The bulk of the application is running on the client The client knows how the data is organized and where it is Different clients access the same applications different ways Fat servers The server more complicated The clients are less complex More of the code runs on the server The network interaction is minimized Application Client Server

Middleware Software It is the (/) between client and server which glues them together Allowing the client request for a service and the server providing it Middleware can also be between server/server Two broad classes General LAN servers, TCP/IP, Communication stacks, Queuing services, etc. Application specific Used to accomplish a specific task Groupware specific: SMTP Internet specific: HTTP Database specific: SQL

Two-Tier vs. Three-Tier Architecture Same basic idea as fat-client versus fat-server Depends on how the application is divided between the server and the client Two-tier servers Examples: file servers and database server In this case the process (application logic) is buried within the client or server (or both) Three-tier servers Examples: Web and distributed objects In this case the process is run on the middle-tier – separated from the user and data interface They can integrate the data from multiple sources More robust and more scalable

Client/Server Building Blocks Middle ware Purpose How to divide the application between the client and server What are different functionalities of client and server Basic client server model Fits various applications Small office Small business Enterprise Global Single Machine Middle ware Client Server Middle ware Client Server Server Client Middle ware C/S C/S C/S C/S

Servers and Client Building Blocks Middleware Web Browser GUI DSM OS Web server Groupware DMBS Etc. Service-Specific; DSM NOS (securit, peer-to-peer, directory, distributed files); Transport stack (TCP/IP) NOS=Network operating system

Server Scalability PC Server  Asymmetric Multi- processing  Superserver symmetric Multi- Multiservers

Server Scalability Superserver Multiprocessing Multiservers A very powerful server Single-server or multiserver Each server can have a single processor or multiprocessor Multiprocessing can be Asymmetric or Symmetric Multiprocessing Asymmetric: each processor is dedicated to a specific task Fully symmetric (SMP): applications are divided into threads and threads are sent to available processors Examples: 32-bit NT, Unix, NetWare Requires 3 basic functionalities: Global scheduling I/O sharing structure OS access sharing Multiservers Pool of servers, providing more processing power (also called a cluster) They divide the task between different servers Server lite As opposed to full blown servers Provides a background process on the client machine that can accept unsolicited networks request (refreshing database, synchronizing time, etc.)

OS Wars General trends Operating system applications OS players More powerful PCs (fat PCs, Network PCs, Multimedia PCs) Operating system applications Embedded devices (cell phones) Clients Super clients Servers SMP servers Clusters OS players DOS and Windows 3.x/95 JAVA OS OS/2 Wrap NT/XP/2000/2003/VISTA NetWare (Novell’s, poor application server, fast file server) Unix Linux Specialized parallel OS for clusters

Client/Server Networking Model Networking in Linux follows the client/server model Server provides the resource (web server) Client talks to the server (browser, e-mail program) Server has a corresponding program that communicates with the client (runs in the background) In Windows the server program called service In Linux the server program called daemon in Linux

UNIX/Linux UNIX was introduced in 1969 Linux is from the early 1990s Based on MINIX Three basic components Kernel – central portion of OS File system – provides input and output mechanisms Shell – provides user interface

Linux Introduction Source code is freely available Developers can make changes Available from a number of organizations (called disro) Red Hat Mandrake SuSe

Linux Resource List of Linux compatible hardware: http://www.linuxquestions.org/hcl/ List of hardware issues and forums for Linux http://www.linuxcompatible.org/ Third-party utilities allowing Windows to read the drives of a Linux installation on the same machine http://pro.mount-everything.com/ http://www.symantec.com/home_homeoffice/products/overview.jsp?pcid=sp&pvid=pm80

Fedora Linux Two ways to obtain Obtain a copy Installation CD Download and burn your own CD – Read to see how to burn a DVD http://fedoraproject.org/wiki/Distribution/Download Obtain a copy http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/ http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/iso/ Fedora core 6, i386 Intel x86 processor compatible, first CD – ISO image FC-6-i386-disc1.iso When you have dowloaded the ISO images, you need to burn them on CD/DVD Popular Windows CD burning tools: http://iso.snoekonline.com/iso.htm You can also use CD BurnerXP Pro http://www.cdburnerxp.se/

Summary Got it?

Homework 1 – Linux Monday Visit Fedora Core Web cite. What is the latest version of Fedora? Burn a copy of Fedora Core 4 on CDs or DVD. You must have this in order to install Linux on your machine – You are not allowed to do the lab without your own CD. Search for Linux Commands and obtain a one or two-page long list of some of Linux commands used with Fedora Core 4 version In your own words, list 5-10 differences between Fedora Core 4 and Fedora Core 7 version. You must tabulate your answer. Do a little research and briefly explain the sequence involved in installing Windows and Linux. What will you do if Windows is already installed? NOTE: Submit a hardcopy only.

references http://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.html http://www.cisco.com/univercd/cc/td/doc/cisintwk/idg4/nd2011.htm on ISDN Learn about 2-Tier and 3-Tier systems: http://www.sei.cmu.edu/str/descriptions/clientserver_body.html