Clientserver
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Clientserver

on

  • 781 views

 

Statistics

Views

Total Views
781
Views on SlideShare
781
Embed Views
0

Actions

Likes
0
Downloads
36
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Clientserver Document Transcript

  • 1. CLIENT SERVER TECHNOLOGY Name: I.Madhumithah Institution: G.Venkataswamy Naidu College(SFC) Kovilpatti. E-Mail: madhu92mitha@gmail.com
  • 2. Client -Server Technology. Introduction: It is a network of shared or distributed computing in which the tasks and computing power are split between the servers and clients. The servers store and process data common to the users across the organization and these data can be accessed by any client. In this networking, requests are made by different clients to the server. Server then processes the request and provides the desired result to the client. All the information is stored with the server. Server acts like a database which extracts the relevant information to the client. In this way it becomes fast and client becomes thin. The client server architecture is versatile, supports GUI and has modular infrastructure. The technology is described as a cost reduction technology. It includes fourth generation languages, relational databases, distributing computing etc. Client/server Evolution: A long time ago, client-server computing was just using mainframes and connecting to dumb terminals. Through the years, personal computers started to evolve and replaced these terminals but the processing is still process on the mainframes. With the improvement in computer technology, the processing demands started to split between personal computers and mainframes. PCs are able to communicate with each other on a network. These networks were based on file sharing architecture, where the PC downloads files from corresponding file server and the application is running locally using the data received. However, the shared usage and the volume of data to be transferred must be low to run the system well. As the networks grew, the limitations of file sharing architectures become the obstacles in the client-server system. This problem is solved by replaced the file server with a database server. In the results, this architecture decreases the network traffic, allowing multiple users to update data at the same time. Typically either Structured Query Language (SQL) or Remote Procedure Calls (RPCs) are used to communicate between the client and server. There are several types of client-server architecture.
  • 3. Client -Server Technology. The Two Tier Architecture, where a client is directly connected to a server. Three Tier Architecture is introduced. By introducing the middle tier, clients connect only to the application server instead of connect directly to the data server. To enhance the Three Tier Architecture, it can be extended to N-tiers when the middle tier provides connections to various types of services, integrating and coupling them to the client, and to each other. Client/Server: Fat or Thin A Client or a Server is so named depending on the extent to which the processing is shared between the client and server. Fat Clients: This architecture places more application functionality on the client machine(s). They are used in traditional of Client/Server models. Fat Servers: This architecture places more application functionality on the server machine(s). Typically, the server provides more abstract, higher level services. The current trend is more towards fat servers in Client/Server Systems. The biggest advantage of using the fat server is that it is easier to manage because only the software on the servers needs to be changed, where as updating potentially thousands of client machines is a real headache. Client/Server: Stateless or Stateful Stateless server: A stateless server is a server that treats each request as an independent transaction that is unrelated to any previous request. The biggest advantage of stateless is that it simplifies the server design because it does not need to dynamically allocate storage to deal with conversations The Gopher protocol and Gopher+ are both designed to be stateless. Stateful Server: Client data (state) information are maintained by server on status of ongoing interaction with clients and the server remembers what client requested previously and at last maintains the information as an incremental reply for each request. The advantage of stateful server is that requests are more efficiently handled and are of smaller in size. The best example of stateful server is remote file server. Stateless vs Stateful Servers There are some comparative analyses about stateless and stateful servers. * A stateful server remembers client data (state) from one request to the next. * A stateless server keeps no state information. Using a stateless file server, the client must specify complete file names in each request specify location for reading or writing and re-authenticate for each request. * Using a stateful file server, the client can send less data with each request. A stateful server is simpler. On the other hand, a stateless server is more robust and lost connections can’t leave a file in an invalid state rebooting the server does not lose state information rebooting the client does not confuse a stateless server.
  • 4. Client -Server Technology. Client server architecture Client/Server architecture is based on hardware and software components that interact to form a system. A network architecture in which each computer or process on the network is either a client or a server .The architecture is known as a peer-to-peer architecture because each node has equivalent responsibilities. Both client/server and peer- to-peer architectures are widely used, and each has unique advantages and disadvantages. The client/server architecture significantly decreased network traffic by providing a query response rather than total file transfer. It allows multi-user updating through a GUI front end to a shared database. Remote Procedure Calls (RPCs) or standard query language (SQL) statements are typically used to communicate between the client and server. The system includes mainly three components. (i) Hardware (client and server). (ii) Software (which make hardware operational). (iii) Communication middleware. (Associated with a network which is used to link the hardware and software). The client is any computer process that requests services from server. The client uses the services provided by one or more server processors. The client is also known as the front-end application. The server is any computer process providing the services to the client and also supports multiple and simultaneous clients requests. The server is also known as back-end application. The communication middleware is any computer process through which client and server communicate. Middleware is used to integrate application programs and other software components in a distributed environment. Also known as communication layer. The following are the examples of client/server architectures. Two tier architectures  In two tier client/server architectures, the user interface is placed at user's desktop environment and the database management system services are usually in a server that is a more powerful machine that provides services to the many clients. Information processing is split between the user system interface environment and the database management server environment.
  • 5. Client -Server Technology.  The problem exists in this architecture is the distribution of application logic and processing in this model. If the application logic is distributed to dozens of client systems, the application maintenance will be very difficult. Three tier architectures  The three tier architecture is introduced to overcome the drawbacks of the two tier architecture. In the three tier architecture, a middleware is used between the user system interface client environment and the database management server environment. These middleware are implemented in a variety of ways such as transaction processing monitors, message servers or application servers.  The three tier client/server architecture is used to improve performance for large number of users and also improves flexibility when compared to the two tier approach.  The drawback of three tier architectures is that the development environment is more difficult to use than the development of two tier applications. N-tier architectures  The multi-tier architecture (often referred to as n-tier architecture) is a client–server architecture in which presentation, application processing, and data management functions are logically separated. The most widespread use of multi-tier architecture is the three-tier architecture.  N-tier application architecture provides a model by which developers can create flexible and reusable applications. By segregating an application into tiers, developers acquire the option of modifying or adding a specific layer, instead of reworking the entire application. Client and Server Devices: Client/server networking grew in popularity many years ago as personal computers (PCs) became the common alternative to older mainframe computers. Client devices are typically PCs with network software applications installed that request and receive information over the network. Mobile devices as well as desktop computers can both function as clients. A server device typically stores files and databases including more complex applications like Web sites. Server devices often feature higher-powered central processors, more memory, and larger disk drives than clients. Client-Server Application: When developing a client-server application, like the Web browser and Web server, you need to consider how you are going to handle developing your application in a team environment and how you are going to handle long-term maintenance. The client-server model distinguishes between applications as well as devices. A client computer and a server computer are usually two separate devices, each customized for their designed purpose. Developing client-server applications parallels developing modular programs. Modular programming separates large applications into smaller constituent pieces to ease development in teams and provide better maintainability. In a client-server application, a module does not have to be part of the same program or even run on
  • 6. Client -Server Technology. the same computer. Each modular function can run on a different device. A device that is a server for one application can simultaneously act as a client to other servers, for different applications. Software Trends: The most important software trends in client-server technology revolve around system integration, testing, and application architecture. Enterprise Resource Planning (ERP) products help with system integration. ERP refers to multi-module application software that is typically integrated with a relational database. The leading companies producing ERP-related products are Oracle, SAP, Baan and PeopleSoft. Siebel, Clarify, and Relational Technology System’s Trilogy are developing sales force automation and front-end systems. Design and product management systems are also a concern for ERP. The development of client-server environment requires skills in Visual Basic and PowerBuilder. Currently, it has become a component of VisualStudio.NET. Visual Basic for applications provides a common language for Microsoft applications. PowerBuilder is an event-driven programming language used for RAD (Rapid Application Development). Both of these create integrated development environments. Future technology: As the Internet becomes a significant factor in computing environments client/server applications operating over the Internet will become an important new type of distributed computing. Since client / server application architecture has become a mainstay in corporate computing, there have been many ideas on what is the best architecture to increase performance and the user experience. Some of these ideas include thin client and fat client technologies and web services. While each of these methods have been successful for many companies and strides will continue to be made on each technology. Conclusion: Client/server still remains the only and best architecture for taking advantage of the Internet and other new technologies that come along. We'll have to add "changes in client/server computing" to death and taxes in our inevitable list. But, regardless of what comes, client/server computing is likely to remain the underpinning for most computing developments we'll see over the next decade.