1 / 64

CLIENT-SERVER COMPUTING

CLIENT-SERVER COMPUTING. Ms. Archana Kero , Asst . Prof ., Department of CA & IT, SGRRITS.

underhill
Download Presentation

CLIENT-SERVER COMPUTING

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. CLIENT-SERVER COMPUTING Ms. ArchanaKero, Asst. Prof., Department of CA & IT, SGRRITS

  2. Client-Server Computing is an environment that satisfies the business need by appropriately allocating the application processing between the Client & Server processes. The client requests services from the server & the server processes the request and returns the result to the client. The communication mechanism is a message passing Inter Process Communication (IPC) that enables(but does not require) distributed placement of the client and server processes. Client-Server is software model of computing, not a hardware definition.

  3. Client-Server Computing is an environment that satisfies the business need by appropriately allocating the application processing between the Client & Server processes. The client requests services from the server & the server processes the request and returns the result to the client. The communication mechanism is a message passing Inter Process Communication (IPC) that enables(but does not require) distributed placement of the client and server processes. Client-Server is software model of computing, not a hardware definition.

  4. Components In Client-Server Computing • The main emphasis of Client-Server Architecture is to allow large application to be split into smaller tasks and to perform the tasks among server machine and client machine in the network. • It is divided into 3 components:- • CLIENT It is the front end of the application that user sees & interacts with. This user interface portion of the application validates data entered by the user & dispatches requests to server programs.

  5. SERVER The server machine fulfills the client request by performing the services requested. After the server receives request from client ,it executes database retrieval, updates & manages data integrity & dispatches responses to client request. The server based process may run on another machine on the network and so the server is provided with file system services & application services. EXAMPLE-> Simplest form of server are Disk Server & File Server.

  6. CLIENT MIDDLE WARE SERVER

  7. MIDDLE WARE It allows application to transparently communicate with other programs or processes regardless of location. The key element of middle ware is Network Operating System (NOS) that provides services such as Routing , Distribution ,Messaging & Network Management Services. NOS uses communication protocol to provide specific services.

  8. BENEFITS OF CLIENT-SERVER MODEL • Divides Application Processing across different machines • Non –critical data & functions are processed on client machines. • Critical data & functions are processed on server machines. • It optimizes client workstation for data input and presentation. • It optimizes server for data processing & storage. • It scales horizontally where multiple server are there. Each server has its own capability or processing power ,therefore ,processing can be done in distributed manner. • It scales vertically where it can be move to more powerful machines such as mainframe computers, to take advantage of larger system performance. • It reduces data redundancy.

  9. 7. Client Server computing provides integrated services to all small applications Example->using DDE(Dynamic Data Exchange) & OLE(Object Linking & Embedding) word applications uses application of paint brush. A visual basic or Dot net application uses spreadsheet. Client Server application can be developed without considering hardware. Data can be accessed with the help of network from DRAM, Hard-disk or from CD,DVD with same SQL statement. So ,in client server model you have independence of location for data access and processing . Users can Logon to client and can use any application provided that User ID has these privileges. Anyone can use any application anywhere. So, clients can be set as multiple tasking. The transaction of data, application owning can be monitor, observed or managed or valuable support is provided from central location. So, Client server computing supports central management.

  10. Disadvantages • Dependability on Server:- If one or two servers fails, any operation and valuable services get stopped. • High Client request and high services availability can cause network congestion. • Cost of implementing client server computing is always higher than the anticipated cost. • Client server computing do not uses any special client software to deal with all issues of client. EXAMPLE->Software for load balancing, security distribution of application

  11. Mainframe Computing Mainframe computing models uses simple workstation as end users and mainframe computers. A mainframe(Big Iron) is a high performance computer used for large scale computing purposes that require better availability and security than a smaller scale machine can offer.

  12. CLIENT- SERVER COMPUTING MAINFRAME COMPUTING • Less expensive than mainframe computing. • The separation of processing in different machine reduces the network bottleneck so speed is better. • Open & flexible to any hardware and software. User are free to choose hardware or RDBMS & software from different vendor. • Mainframe computing is expensive since mainframe computers are very costly. • The separation of processing in different machine reduces the network bottleneck so speed is better. • Mainframe computing is less flexible because hardware and software are proprietary.

  13. On client server computing data access is very simple, small application like word, Excel, repository software. • In mainframe computing data access is given to only application software given by vendor.

  14. Client-Server Architecture Architecture defines that where application is running, where database is residing & how client are connected to it. Types Of Client-Server Architecture:- One-Tier Architecture Two-Tier Architecture Three-Tier Architecture N-Tier Architecture

  15. One-Tier Architecture In this, we have various dump terminals (without any processing capability) & without hard disk can be called as Display Terminals. Theseterminals are attached to mainframes and mainframes to the processing. Client Client Mainframe(Server) Client Client Client Client All processing done here

  16. Conversely, individual Terminal can do all the processing & the centralized machine called file server just stores the file having no role in processing of data. Again, that could be an example of One-Tier Architecture.

  17. Two-Tier Architecture This architecture uses THIN CLIENT(no processing ability) & FAT SERVER APPROACH or FAT CLIENT & THIN SERVER APPROACH. Server store data as well as application programs. Server Server Based Programming Thin Client Data & Application Fig. Thin-Client Server Deployment

  18. Server Email retrieval, shared files access, print sporting Fat Client Directory servers Local Data & Application Shared Files Fig. Fat-Client Server Deployment Two-Tier Architecture is not effective if number of clients are more, it supports only few users. This architecture is not used where application is critical.

  19. Advantages • Most tools of Two-Tier architecture are robust. • Works very well in the environment where business rules are static(rules that determine how data can be created, displayed, stored & changed). • If a Client-Server Application uses Two-Tier Architecture then the development of such application is fast as compared to other architecture. Disadvantages • Not-suitable where transaction are more & heavy. • Not-suitable where business tools keep on changing.

  20. Three-Tier Architecture In this model, there exist a middle tier between Client & Server to improve the overall response time. Whereas in 2-Tier model, Client directly interacts with the server application without the presence of any intermediate application. 3-Tier Architecture is divided into 3 layers which must be logically separate. Presentation Layer at Client Functionality Layer at Application Server Data Layer at Database Server The 3-Tier model attempts to overcome some of the limitations of 2-Tier schemes by separating presentation, processing & data into separate distinct entities.

  21. Fat Client Data request Client (User Interface & Request) Application Server Running Single Application (Business Rule & Processing) Database Server In 3-Tier Architecture generally application run which is developed preferably in language which are portable, platform independent & support multithreading. Client interact with Application using DLL(Dynamic Link Library), API(Application Programming Interface), RPC(Remote Procedure Call).

  22. Middle Tier which contain Application Server & Business rules are basically used for following functions:- TranslateClient request into database query using SQL. Translate the data received from database server to a client form i.e. report, webpage, etc. Perform high controlled & high performance interaction with database server.

  23. Advantages • In 2-Tier any database request is done using SQL whereas in 3-Tier RPC is used which is more flexible. • In 3-Tier, client is not required to understand SQL. • In 3-Tier, resources are allocated in flexible manner. • Modules of middleware can be reused by server application. Disadvantages • With the development of middleware in 3-Tier architecture, the need of features like network management, fault tolerance, server load balancing also increased. • Current available tools are immature & complex.

  24. N-TIER ARCHITECTURE Application Server1 Web Server1 Tier1 Database Server Tier4 Server Load Balance Client Tier2 Tier3 (eg. Browser) Web Server2 Application Server2 Fig. 4-Tier Architecture With Server Load Balancing

  25. The Application program (if large) can be partitioned into various small application logic among different server which is also a N-Tier Architecture. N-Tier can also be implemented by introducing 4 or more dedicated servers for different tasks. Eg-> Database Server, Application Server, Web Server, Point server, File Server HTTP request for webpage Data request Web Server provide to webpage to client if static webpage Application Server run servlets or CGI script for Dynamic content & send the database request to database server Database Server running DBMS

  26. So, in n-Tier Architecture we have segregated(divided) each at different tier which also help in to find error if Web Server is creating performance problems, another Web Server can be introduced by using of Server Load Balancing Software. Benefits of n-Tier Architecture:- Different aspects of the application can be developed & rolled out independently. Servers can be optimized separately for database & application server functions. Servers cab be sized appropriately for the requirements of each tier of the architecture.

  27. BUTLER PYRAMID MODEL OF CLIENT SERVER COMPUTING OR BUTLER GROUP VALUE MODEL 5 Business Model 4 Store 3 Application 2 Middleware 1 Infrastructure

  28. Proposed by Martin Butler, The Chairman Of Butler Group at Butler Group Client-Server Forum, London. This model suggested a framework to implement Client-Server Strategies.This model has 5 layers called VALUE ADDED LAYER. LAYER 1(Infrastructural Layer):- It contains those components which do not perform business function Eg. Operating System, Network, GUI interface, Database Management System. LAYER 2(Middleware Layer):- It allow applications or program to communicate other program on the network regardless its location. It map application to resources they will use. Eg. Network Connection, Database Connection. This layer add value through specialization. It is for programming that allows transparent communication between pre-existing application. It provide message service.

  29. LAYER 3(Application Layer):- It is the most active component which is always in use for organization work. Application can be chosen for variety of vendors. Two Types Of Applications-> Application which are not of great importance are purchased in bulk. For eg. o/s, antivirus from market as readymade product Applications which are of importance to organization are developed in house. LAYER 4(Repository Or Store):- It is a store where transactions & vital information is stored. It isolates business model(Top Layer) from tools technology is used to implement. LAYER 5(Business Model):- Independent of all technologies in market that are used to implement it, they are independent of hardware and software environment. For eg. any object oriented based business model

  30. CLIENT SERVER DATABASE COMPUTING Any database system has THREE SCHEMA ARCHITECTURE. The main objective of this architecture is to separate application from physical Database. Three Level Of Database are:- View Level/ External Schemas- This is the view of data as seen by user. It may be different for different user. End user work at this level.Eg. End user retrieve, update, insert, delete data through from, webpage & see it in form of report. 2. Conceptual Schema/ Logical Level- At this level, DBA programmers work for them. The database is collection of various interrelated table. This level define the structure of table i.e. no of fields, type of data going to store in field, width of field, constraints of field, domain of

  31. field. • It also define the relationship between the table. • 3. Physical Level/ Internal Schema- • At this layer DBA & system administrator works for them. • Database in byte stored at some track & sector of hard disk. This • layer deals with:- • No of bytes used at Hard Disk. • Location of data in Hard Disk i.e. which surface, which track & which sector. • Level deals with performance tuning of database.

  32. 1 2 3 n External View . . . . . . . . . . . . View n View 1 View 2 View 3 CONCEPTUAL SCHEMA INTERNAL SCHEMA Stored Database

  33. CLIENT SERVER DATABASE ARCHITECTURE Relational Database are mostly used by client-server application where the server is database server. Client application makes a database request through SQL statement & in response to that server runs the query on it & returns the result of query back to client. According to this architecture, all the application logic (Software used for data analysis) is residing on the client side, while the server is concerned with managing the database. Such Client-Server Architecture is well suited for • Searching & sorting of large databases as it is a massive job & requires large amount of disk space, high speed CPU, so database is kept at server which has all these features. • Tremendous traffic on network in order to more the millions of seconds to the clients for searching, so the server needs to have database logic that enables it to perform efficient searches on behalf of a client.

  34. TYPES OF CLIENT SERVER DATABASE ARCHITECTURE • 1- Process Per Client Architecture • User interface programs + Application program run on client. • ODBC provides Application Program Interface(API) which allows client programs to call DBMS. • A client may connect to many DBMS. • In this architecture client can also perform other function (function of server). For eg. Data dictionary function, optimization of data, recovery of data • This architecture requires large memory & high speed CPU to support multitasking & to bear overhead of context switching between process. Data Files Remote Clients Server

  35. 2-Multithreaded Architecture • It supports a large number of client running small transactions on server database. • Best suitable if client request want to fetch data from single address space(server). • It does not perform well if the queries are large & require to fetch data from two or more address space. • Multithreaded architecture consumes some amount of memory & CPU utilization by adding context switching. • Advantage: supports portability. • MAIN FEATURES: • Commonly used for web application. • Uses intermediate layer(web server or application layer). • Web connectivity software & business logic are part of application running at application server to fetch right amount of data from database server.

  36. Secure application because encrypts data at server before transmission & data is decrypted at client. Client Server Server Database Client Client

  37. 3- HybridArchitecture • Provide protected environment for running user requirement without assigning a permanent process/user. • Provide best balance between client and server. • Hybrid Architecture has 3 components:- • Multithreaded Network Listener assigns client connection to dispatcher which is a process running at server. • Dispatcher Process run at server & main work is to keep request (message) in a Queue called as Internal Message Queue. Dispatcher also send result(i.e. response from server) back to client. • Worker Process are responsible for picking work from message queue & execute that work & finally places the response(from server) to output message queue.

  38. LISTENER DATABASE Server Process Pool [Shared] Web Server OR Application Server Dispatch Pool

  39. Advantages Of Client-Server Database:- Intelligent Processing:-Processing of data is divided between server & client. Server performs concurrency control, data searching & data manipulation. Clients perform business processing functions. Improves Concurrency Control Problem:- RDBMS provides intelligent lock management system which allows multiple users to search & read searched files concurrently. Transaction Processing:- Database server adds a complete transaction processing system[i.e. begin, commit & rollback transactions] to applications. Referential Integrity & Database Constraints:- To verify & validate the data in database & maintain relationships between records. Security:- Provides security by giving permissions to application for accessing the database.

  40. DISADVANTAGES Implementation Is Complex as one needs to deal with middleware & network. Additional Burden On Database Server to handle concurrency control. If Network Fails Or Has Some Communication Problem, the database server stands aloof.

  41. Single System Image(SSI) A Single System Image is the property of the system that hides the heterogeneous & distributed nature of the available resources & presents them to user & application as a single unified computing resource. SSI means that users have a globalized view of the resources available to them irrespective of the node to which they are physically associated. SSI Services & Benefits 1.Single Entry Point:- A user can connect to the cluster as a virtual host. The system transparently distributes the user’s connection request to different physical hosts. 2.Single User Interface:- The user should be able to use the cluster to a single GUI. The interface must have the same look & feel as the one available for workstations.

  42. 3. Single Process Space:- All user process, no matter on which node they reside, have unique cluster wide process ID. A process on any node can create child processes on the same or different node. 4.Single Memory Space:-User have an illusion of a big, centralized main memory which in reality may be a set of distributed local memories. 5.Single I/O Space:- This allows any node to perform I/O operations on local or remotely located peripheral on these devices. 6.Single File Hierarchy:- On entering into the system, the user sees a single, huge file system image as a single hierarchy of files & directions under the same root directory. 7.Single Control Point & Management:-The entire cluster & each individual node can be configured, monitor, tested & control from a single window using single GUI tools, much like a NT workstation is managed by task manager tool.

  43. UNIT-II COMPONENT OF CLIENT /SERVER COMPUTING

  44. THE CLIENT CLIENT APPLICATION : Client application is piece of software run at client computer and makes a request of service to server. There application are written high level language client. Application provide GUI from and business logic reside. Client application can run in any meantime if written is portable language like C,C++,JAVA,.NET. CLIENT : Client is request program or process send request server via network. . Client manage local resource keyboard local HD , Monitor etc.

  45. CLIENT ROLE: Roll of client to business service provided by one or more server. Role of client is produce the output in a presentable format. Some time client act as server. e . g- In a LAN a client (node) can act as client for the user but at server time act as print server for other multiple user. Client provide cost effective support for GUI. SERVICE OF CLIENT: [A] Request of service [B] RPC[Remote Procedure Call] [C] Fax and print service [D] Window service

  46. [E] Network Service [F] Remote Boot Service [G] Utility Server [H] Message Service [I] Application Service [J] Database Service [A] Request Of Service: Sends request to server of service and at server HD( is remote HD not local) .Using network operating system(NOI).If provide service called redirection in which this service intercepts client operating system and than we directs them to operating system. [B] RPC[Remote procedure call]: It is protocol using which one program request a service function a another program located a another program located in different machine specially both machine one at heterogeneous environment . Many RPC provide data translation service also E g - Translation of the data between machine with different physical data format.

  47. [c] FAX AND PRINT SERVICE: High quality printer , plotter computer generated fax service can be given by client. Request of print are put in a queue. Request can be issued even if resource like printer is busy. Status of print queue can be seen by clients . fax and print service can be given at save time. [D] WINDOWS SERVICES: A Client node can open several window at the sometime and can activate, views , move , size ,hide a particular window .This service is provided by client operating system . GUI based application put data into virtual screen and windowing service at client handle placement and manipulation of application windows (minimize max, resize , hide , move).

More Related