Client Server Software Architecture
Information of Client/server architecture, how it works, different types of Client/server architectures and their information.
Client/server architecture illustrates the relationship between two computer programs in which one program is a client, which makes a service request to another program called as Server. Server provides service to the request. A single machine can be act as both, a client as well as server depending on the software configuration. Although the client/server architecture can be used within a single computer by programs, but it is a more important idea in a network. In a network, the client/server architecture allows efficient way to interconnect programs that are distributed efficiently across different locations. The common use of client/server model is in Computer transactions. For example, if you have to check a bank account from your computer, you have to send a request to a server program at the bank. That program process the request and forward the request to its own client program that sends a request to a database server at another bank computer to retrieve client balance information. The balance is sent back to the bank data client, which in turn serves it back to your personal computer, which displays the information of balance on your computer.
File sharing architecture
Previously PC networks were based on file sharing architectures, where the server is used to download files from the shared location to the desktop environment. The client job is then run in the desktop environment. This architectures work only if shared usage is low, update contention is low and the volume of data to be transferred is low. In the 1990s, PC LAN (local area network) computing changed because the capacity of the file sharing was overwrought as the number of online user grew.
As a result of these limitations of file sharing architectures, the client/server architecture emerged.
Client/server architecture
This approach introduced replacement of file server by database server. User queries could be answered directly by using a relational database management system. 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 following are the examples of client/server architectures.
1) 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. The database management server supports for stored procedures and triggers. Software vendors provide tools to simplify development of applications for the two tier client/server architecture.
2) 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 middleware perform the function of queuing, application execution and database staging. In addition the middleware adds scheduling and prioritization for work in progress. 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.
i) Three tier with message server.
In this architecture, messages are processed and prioritized asynchronously. Messages have headers that include priority information, address and identification number. The message server links to the relational DBMS and other data sources. Messaging systems are alternative for wireless infrastructures.
ii) Three tier with an application server
This architecture allows the main body of an application to run on a shared host rather than in the user system interface client environment. The application server shares business logic, computations and a data retrieval engine. In this architecture applications are more scalable and installation costs are less on a single server than maintaining each on a desktop client.
Uses
Client/server architectures are used in industry as well as in military. They provide a versatile architecture that allows insertion of new technology more readily than earlier software designs.

Use the feedback form below to submit your comments.

Use the form below to email this article to your friends.

- Membership Database Software
- New Features in SQL Server 2005
- Windows Server 2003 Active Directory and Network Infrastructure
- Automate routine database synchronization with Database Restyle – Application!
- Lighten Creating Entity Relationship Diagrams by Leaps and Bounds
- What is HUB?
- Looking for Computer Networking Jobs?
- Home Computer Networking Tips
- Computer Networking with CAT 5 Cables and RJ-45 Connectors
- Introduction To Relational Data Model
- Computer Network
- Detect IP Address: How to Find an IP Address
- Computer Networking Cables: Crimping Device Tools
- Computer Networking: Types of Computer Networks
- Switched Multi-megabit Data Service (SMDS)
- Bridge-A Connecting Device
- TCP/IP Reference Model
- Computer Networking: Training Schools, Certifications and Jobs
- Students Gain Access to Cutting-Edge Technology
- Which 3D Animation Software Should I Use?



