1 / 21

An Introduction to Client/Server Architecture

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

adler
Download Presentation

An Introduction to Client/Server Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction to Client/Server Architecture Dr. Farid Farahmand

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

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

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

  5. Client Server Client 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 Internet Application Client HTML Server Client JAVA

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

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

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

  9. Middle ware Client Server Client/Server Building Blocks • 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

  10. Servers and Client Building Blocks Client Server 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

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

  12. Server Scalability • Superserver • 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.)

  13. OS Wars • General trends • 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

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

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

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

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

  18. Fedora Linux • Two ways to obtain • 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/

  19. Summary • Got it?

  20. Homework 1 – LinuxMonday • 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.

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

More Related