1 / 28

CLIENT SERVER COMPUTING

CLIENT SERVER COMPUTING. Definition: A simple definition of CS is “ server software accepts requests for data from client software and returns the results to the client”. CLIENT SERVER COMPUTING.

hinto
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 Definition: A simple definition of CS is “ server software accepts requests for data from client software and returns the results to the client”

  2. CLIENT SERVER COMPUTING • Client-Server computing is the logical extension of modular programming with fundamental assumption that separation of a huge program into its constituent parts ("modules") can create the possibility for further modification, easier development and better maintainability. • The main emphasis of Client-Server Architecture is to allow large application to be split into smaller tasks and to perform the tasks among host (server machine) and desktops (client machine) in the network

  3. Elements of C-S Computing a client, a server, and network Request Client Server Network Result Client machine Server machine

  4. Where Operations are Done In CS 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

  5. GOAL OF THE CLIENT SERVER • The goals of Client-Server Computing are to allow every networked workstation (Client) and host (Server) to be accessible, as needed by an application, and to allow all existing software and hardware components from various vendors to work together. • When these two conditions are met, the benefits of client/server computing, such as cost savings, increased productivity , flexibility, and resource utilization, can be realized.

  6. FUNCTIONS OF CLIENT The client's responsibility is usually to: • Handle the user interface. • Translate the user's request into the desired protocol. • Send the request to the server. • Wait for the server's response. • Translate the response into "human-readable" results. • Present the results to the user.

  7. FUNCTIONS OF SERVER The server's functions include: • Listen for a client's query. • Process that query. • Return the results back to the client

  8. A typical client/server interaction goes like this: • The user runs client software to create a query. • The client connects to the server. • The client sends the query to the server. • The server analyzes the query. • The server computes the results of the query. • The server sends the results to the client. • The client presents the results to the user. • Repeat as necessary.

  9. Typical Client/Server Interaction AND Butler Pyramid Model of Client-Server Computing

  10. Layer 1 - Infrastructure Layer: The infrastructure layer is composed of all the components which are passive and do not perform a business function. Examples are computer operating systems, networks, user interfaces and database management systems Layer 2 - Middleware : Middleware allows applications to transparently communicate with other programs or processes regardless of location. It is the means of mapping applications to the resources they use. It is the key to integrate heterogeneous hardware and system software environments, providing the level of integration

  11. Layer 3 – Applications: Applications are the active components which execute work for the organization. Layer 4 – Repository: Role of repository is to isolate a business model/specification from the tools technology which is used to implement it (client-server strategy). Layer 5 - Business Models: Business model should be independent to all the technologies that are used to implement it, and be transportable to whichever hardware and software environment is most appropriate. It will increasingly be based on object oriented methods

  12. CHARACTERISTICS OF A CLIENT: • Request sender is known as client • Initiates requests • Waits for and receives replies. • Usually connects to a small number of servers at one time • Typically interacts directly with end-users using a grapical user interface

  13. CHARACTERISTICS OF A SERVER: • Receiver of request which is sent by client is known asserver • Passive (slave) • Waits for requests from clients • Upon receipt of requests, processes them and then serves replies • Usually accepts connections from a large number of clients • Typically does not interact directly with end-users

  14. ADVANTAGES OF CLIENT SERVER COMPUTING • Centralization –access, resources, and data security are controlled through the server. • Scalability –any element can be upgraded when needed. • Flexibility – new technology can be easily integrated into the system. • Interoperability- all components (clients, network, servers) work together. • Accessibility- server can be accessed remotely and across multiple platforms • Ease of application development. • Lower total cost & User friendly.

  15. DISADVANTAGES OF CLIENT SERVER COMPUTING • Dependability – when the server goes down, operations cease. • Lack of mature tool – it is a relatively new technology and needed tools are lack. e.g. Automated client software distribution. • Lack of scalability – network operating system ( e.g.. Novell Netware, Windows NT server) are not very scalable. • Higher than anticipated costs. • Can cause network congestion

  16. EXAMPLES OF CLIENT-SERVER • Clients are most often web browsers. • Servers typically include web servers, database servers and mail servers. • Online gaming is usually client-server too. • Most transactions that occur on the Internet are client/server based. Some examples include: FTP (file transfer protocol), WWW (World Wide Web) and E-MAIL

  17. Categories of Servers • File Server • Data Server • Compute Server • Database Server • Communication Server • Video Server

  18. File Server • File Servers manage a work group’s application and data files, so that they may be shared by the group. • Very I/O oriented • Pull large amount of data off the storage subsystem and pass the data over the network • Requires many slots for network connections and a large-capacity, fast hard disk subsystem.

  19. Compute Server • Performs Application logic processing • Compute Servers 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

  20. Cluster as Compute Server

  21. Data Server Compute Server Data Server • Data-oriented; 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 severs • Does not prefer any application logic processing • Performs processes such as data validation, required as part of the data management function. • Requires fast processor, large amount of memory and substantial Hard disk capacity.

  22. Data Server Compute Server Cluster as High Availablity Data Server

  23. Database Server • Most typical use of technology in client-server • 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.

  24. Communication Server • Provides gateway to other LANs, networks & Computers • E-mail Server & internet server • Modest system requirements • multiple slots • fast processor to translate networking protocols

  25. Internet Server PC client Internet Server Local Area Network UNIX workstations

  26. SQL *Net TCP/IP SQL * Forms ORACLE SQL *Net TCP/IP Distributed processing application connects to remote database S Q L * Forms SQL *Net TCP/IP UNIX Server Distributed database application connects to local database which connects to remote database ORACLE Database Configurations

  27. Intergalactic era client/server Ethernet era client/server Third Wave First Wave Second Wave Database servers File servers Distributed objects groupware TP monitors 1990 1982 1994 1998 1986

  28. Front-end and Back-end • For software applications, front end is the same as user interface • In client/server applications, the client part of the program is often called the front end and the server part is called the back end

More Related