1 / 34

CLIENT SERVER COMPUTING

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

martha
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

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

  3. 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, email clients • It is a part of the client server model that communicates with the server through inter process communication techniques.

  4. Clients can be classified as either fat, thin or hybrid. • Afat 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. 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  20. CSC costs by functional area

  21. CSC VS Minicomputer Cost Break down

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

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

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

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

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

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

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

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

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

More Related