What is a client/server architecture for DSS?
by Dan Power
Most decision support systems (DSS) are built within the context of a corporate-wide client/server architecture. The architecture includes local area networks, wide area networks, internet application servers and many services distributed on the network. Based on Taylor (1998), client/server refers to a computational architecture that involves client processes requesting services over a network from server processes. The corporate-wide computing architecture must support a wide variety of decision support capabilities including specialized databases, processing of quantitative models, interactive video, and document sharing and retrieval. The architecture also supports web-based and more traditional transaction processing. These diverse tasks can put strains on the capacity and performance of the computing architecture.
Ravi Kalakota in the Client/Server FAQ explains in more detail characteristics of the client/server architectures:
1) A combination of a client or front-end portion that interacts with the user, and a server or back-end portion that interacts with the shared resource. The client process provides the interface between the user and the rest of the application system. The server process acts as a software engine that manages shared resources such as databases, analytical processors, or printers.
2) The client and server have fundamentally different requirements for computing resources such as processor speeds, memory, disk speeds and capacities, and input/output devices.
3) Scalable. An important characteristic of client-server systems is scalability. They can be scaled horizontally or vertically. Horizontal scaling means adding or removing client workstations with only a slight performance impact. Vertical scaling means migrating to a larger and faster server machine or to multiple servers.
A common error in client/server development is to prototype an application in a small, two-tier architecture environment, and then scale up by simply adding more users to the server. This approach usually results in an ineffective system, because the server becomes overwhelmed. In general, a three-tier or n-tier architecture with additional "agent" servers between the client and the primary server can support a large number of concurrent users.
Analysts at the Gartner group describe different client/server styles or organizing schemes based on the distribution of the three components of an application: 1)user interface, 2)business analysis or application logic, and 3) data management. The three descriptive architecture styles are distributed presentation, distributed function, and distributed data management. Distributed presentation is when only the user interface is processed on the client either using a Web browser or thick client interface. In a distributed function design, one part of the application processing in on the client, additional application processing is on one or more servers. Distributed function applications are the most complex type of design. In distributed data management, the entire application resides on the client and data management is located on one or more remote servers/hosts. Web-Based DSS are implemented using a distributed presentation design, but a DSS may also have distributed functions and distributed data management. A client–server architecture "enables the roles and responsibilities of a computing system to be distributed among several independent computers that are known to each other only through a network (Wikipedia)".
The client–server model is one of the central ideas of network computing. Networks are a major element in the technical specification of a DSS architecture.
Wikipedia, the free encyclopedia, "Client–server model," at URL http://en.wikipedia.org/wiki/Client%E2%80%93server_model
Taylor, L. "Client/Server Frequently Asked Questions," 17 Aug 1998, at URL http://www.faqs.org/faqs/client-server-faq/
Last update: 2010-06-03 03:21
Author: Daniel Power
You cannot comment on this entry