Client Server Models in Business Environment
The Organization of Client Server Computing
Client-server computing is organized to support accessibility and integration. Through networking each client or workstation connected to the host or server. This allows clients to access software and hardware applications as needed. One of the primary benefits of this is the integration of software or hardware products from different vendors. These products, contained and accessible on the server, can work together to produce the business benefits of client-server technology such as cost reduction, increased flexibility and productivity, and more efficient utilization of resources.
Client-server technology developed from a variety of factors. The increased cost of maintaining mainframe and midrange host machines are combined with the proliferation and increasing dominance of the micro- or personal computer. This is a part of technological evolution that made client-server technology the dominant paradigm for businesses in the 1990’s. Another important factor in client/server development was the increased reliability of Local Area Networks or LANs that made networking more efficient and dependable.
The basic breakdown of this technology takes place through the communication between the obvious- client or desktop computers and server or host computers. The client side of this equation deals with the front-end of business requests, and the server deals with the back-end or execution of said requests. The front-end can be described as the elements users most interact with. For example, the client machines work through GUIs (Graphical User Interfaces), which are much more user friendly, allowing for increased and easier interaction between humans and computers through the use of graphics (icons and menus) rather than command line interfaces, which use only text. command line interfaces are out of date and require specific user knowledge. The client computer, through networking, can transmit requests to programs hosted on the server and validate user data. The server, on the other, executes the client-requested service by retrieving information from a database. It updates the database and ensures data integrity. It is also responsible for sending responses to the client.
This article will discuss the types of servers used in a business environment. Following this, I will describe the function middleware specific to client-server models. Finally, I will discuss the characteristic beneficial features of the client-server models.
Types of Servers Uses in a Business Environment
Client-server computing can be broken down structurally in client computers, server computers, and the middleware that facilitates communication between the two. As previously discussed, the client-side deals with the front-end and the user-interface of the application and the server deals with the back end, the processing of requests and services. However, there are several types of servers. The simplest incarnation is the file server, where clients request files over a network from a centralized computer (the server). However, files sometimes contain a lot of extraneous data and this process can be cumbersome for a network because of the amount of this data. It requires a lot of bandwidth and can slow a network down. More advanced servers include database servers, application servers, and transaction servers.
Database servers resemble file servers, but are dedicated to database functions and not merely a storage facility, like file servers often are. They are computers existing in a LAN that are devoted to storing and retrieving data. They contain both the database management system (DBMS) and the databases that clients need to answer requests. During a transaction, the client makes a request of the database. The server processes this request by searching the database, selecting the records that answer the specific request, and then sending those records back to the client.
Originally, application servers were the computers that performed data processing in a networked environment. Within a client-server model, the client/user’s machine provided the interface with which to define and send requests and the server processed these requests and sent back the appropriate response. However, this simple exchange was complicated by the explosion of the Internet and changed the definition of application servers. Now, application servers host a variety of languages used to perform services through the Internet through a web server that processes HTTP requests. These languages program database queries and facilitate general business processing. Examples of some of these scripts or applications include JavaScript, JSPs (JavaScript Pages) and EJBs (Enterprise Java Beans). These scripts then communicate with web server applications such as CGI (Common Gateway Interface) scripts, ASPs (Active Server Pages) and ISAPI (Internet Server Application Programming Interfaces) to retrieve and respond to requests with accessible, interactive, and relevant data through client’s web browsers.
Transaction servers refer to the Microsoft Transaction Server (MTS) and are also referred to as “Viper”. It is a server program that runs through the Internet or on a network server that runs on Windows NT. Windows NT is a collection of operating systems created by Microsoft in 1993. It was designed as a complement to Windows to provide a multi-user, multiprocessing, language-based, processor-independent operating system. Newer versions based on the Windows NT system are Windows Server 2003 and currently, Windows Vista. Transaction servers manage applications and transaction requests from clients. Transaction requests encompass both the request for a service and any permanent changes the response to this request may produce in a database. Therefore, in addition to servicing requests, these servers insure database integrity. Transaction servers negotiate requests from clients to unfamiliar databases and forward these requests to database servers when necessary. They also manage connection to servers, Ensure transaction integrity and provide security in requests.
Middleware
One of the primary technological features of client-server technology is middleware. Middleware is a layer of programming or software that facilitates enterprise application integration (EAI) by providing a translation/conversion layer or messaging service. This allows different applications to communicate with each other. These applications can run on different platforms or be produced by different vendors, but middleware allows them to function together and communicate with each other. Middleware requires a Network Operating System (NOS) to perform its function. NOSs execute the messaging, routing and distribution of requests over a network. To accomplish this, communication protocols must be set up to provide the set of standardized rules for representing data, authenticating requests and detecting request errors. Other protocols, such as transport protocols and client-server protocols, are also established in middleware. Transport protocols establish connections and ensure that data has been received safely. Client-server protocol determines how requests are made and how responses are structured to ensure intelligibility.
Client Server Technology in Business Environment
Characteristic Features and Benefits
Other characteristics distinguish client-server computing from mainframe computing. For example, their power lies in networking small, but powerful machines. These networks rely on the desktop platform to access local processing power. Data is readily accessible to staff. This quickens response time and flexibility. Also, if one machine is compromised or shuts down, the organization can still function. Open systems allow business to configure their hardware and software to their specific needs, whether or not these products come from different vendors. Businesses can pick and choose from hardware and software products and create the most efficient combination according to their needs.
This mix-and-matching of hardware and software products necessarily makes client-server technology modular. Modularity increases business flexibility and competitiveness by allowing for the removal or addition of hardware or applications as the company grows or upgrades it practices. Client-server models of computing lead to a reduction in business costs and a more efficient use of resources.
Finally, client-server technology increases a company’s complexity. Since hardware platforms and software packages come from different vendors, this requires special attention. A company’s IS (Information System) team must be well-versed in the company’s hardware, software and networks as well as how those components are connected to and interact with each other. IS employees must also be able to maintain the client-server model within a geographically dispersed environment. Therefore, knowledge of remote processing is also required. Extra training may be needed to address this increased level of technological complexity. However, a sensible approach to introducing this complexity can temper or evenly distribute these costs over time. Introducing and testing small applications in the back office helps minimize risks. Applications can then be added gradually, while simultaneously minimizing risk and maintaining data centralized during the process. Distributing data, which occurs in client-server models, increases risk by increasing user access. It is important to also implement security measurements to protect sensitive data and processes and protect data and process integrity.
Client-server models have arisen from business need of the 21st century. Implementing these models flattens an organization’s hierarchies, which allows for better use of human resources, giving them more decision making power through increased access to data and processes. This increased efficiency, in turn, increases profits. The development of client-server applications is much quicker than mainframe development- 6 months versus 2 years. Although they are more complicated and expensive to implement single process applications, the benefits are enduring and work on a variety of levels.