client server architecture
client server architecture
the processing locally, the client returns the data file to the central file server where it is
stored. File sharing designs are efficient only if the number of networked users is low
and the transmitted data file sizes are relatively small. Because the entire data file is sent
to each requesting client, a file server design requires significant network resources.
Client
Client
Client
Client
LAN
Printer
File server
Data backup
File
server
FIGURE 10-11 Example of a LAN file server design. The server stores and manages the data, while the clients
run the application program and perform all the processing.
CLIENT/SERVER ARCHITECTURE
Today’s interconnected world requires an information architecture that spans the entire
enterprise. Whether you are dealing with a departmental network or a multinational
corporation, as a systems analyst you will work with a distributed computing strategy
called client/server architecture.
Client
Client/Server Design
Client submits data
query to server
Client
Client
FIGURE 10-12 A file server design compared to a client/server design.
contact other servers for data or processing support, but that process is transparent to
the client. The analogy can be made to a restaurant where the customer gives an order
to a server, who relays the request to a cook, who actually prepares the meal.
Figure 10-13 lists some major differences between client/server and traditional main-
frame systems. Many early client/server systems did not produce expected savings
because few clear standards existed, and
development costs often were higher than
Comparison of Client/Server and Mainframe Systems anticipated. Implementation was expensive
because clients needed powerful hardware
Characteristics Client/Server Mainframe
and software to handle shared processing
tasks. In addition, many companies had an
installed base of data, called legacy data,
which was difficult to access and transport
to a client/server environment.
As large-scale networks grew more pow-
erful, client/server systems became more
cost-effective. Many companies invested in
client/server systems to achieve a unique
combination of computing power, flexibility,
and support for changing business opera-
tions. Today, client/server architecture is the
dominant form of systems design, using
Internet protocols and network models such
as the ones described on pages 477–480. As
businesses form new alliances with custom-
FIGURE 10-13 Comparison of the characteristics of client/server and ers and suppliers, the client/server concept
mainframe systems. continues to expand to include clients and
servers outside the organization.
Phase 3 Systems Design
Client/Server Architecture 463
Client transmits
SQL command
Client
Client triggers
transaction
Client
Server Client
objects Client object objects
messages
Client
Server object
Object messages
server
Client
Client transmits
Internet communication
Client
Server transmits
Web Internet communication
server
Client
FIGURE 10-14 Client/server interaction for a database server, a transaction
server, an object server, and a Web server.
Chapter 10 System Architecture
464 Client/Server Architecture
Initial cost Higher, because more powerful Lower, because workstation hardware Client/Server Tiers
hardware is required requirements are not as stringent
Early client/server designs
Maintenance cost Higher, because more program code Lower, because most program code were called two-tier designs.
resides on the client resides on the central server In a two-tier design, the user
Ease of development Easier, because systems resemble More difficult, because developers interface resides on the cli-
traditional file-server designs where must optimize the division of ent, all data resides on the
all processing was performed at the processing logic server, and the application
client
logic can run either on the
FIGURE 10-15 Characteristics of fat and thin clients. server or on the client, or be
divided between the client
and the server.
More recently, another form of client/server design, called a three-tier design, has
become popular. In a three-tier design, the user interface runs on the client and the data is
stored on the server, just as with a two-tier design. A three-tier design also has a middle
layer between the client and server that processes the client requests and translates them
into data access commands that can be understood and carried out by the server, as
shown in Figure 10-16.
You can think of the
Data Application logic User interface middle layer as an appli-
cation server, because it
d ) ( S har provides the application
are ed)
(Sh logic, or business logic,
required by the system.
Three-tier designs also
Two-tier Server Client are called n-tier designs,
to indicate that some
designs use more than
one intermediate layer.
The advantage of the
Application application logic layer is
Three-tier Data server Client
server that a three-tier design
enhances overall
performance by reducing
FIGURE 10-16 Characteristics of two-tier versus three-tier client/server design.
Phase 3 Systems Design
Client/Server Architecture 465
Middleware
In an n-tier system, special software called middleware enables the tiers to communicate
and pass data back and forth. Some IT professionals refer to middleware as the glue that
To learn more about
holds clients and servers together. The broader definition shown in Figure 10-18 on the middleware, visit
next page states that middleware is software that mediates between an application the Management
program and a network. Information Systems
Middleware provides a transparent interface that enables system designers to CourseMate Web
site at www.
integrate dissimilar software and hardware. For example, middleware can link a cengagebrain.
departmental database to a Web server, which can be accessed by client computers via com, navigate to
the Internet or a company intranet. Middleware also can integrate legacy systems and On the Web Links
for this chapter, and
Web-based applications. For example, when a user enters a customer number on a locate the
Web-based inquiry form, middleware accesses a legacy accounting system and returns Middleware link.
the results.
Cost-Benefit Issues
To support business requirements, information systems need to be scalable, powerful,
and flexible. For most companies, client/server systems offer the best combination of
features to meet those needs. Whether a business is expanding or downsizing, client/
server systems enable the firm to scale the system in a rapidly changing environment.
As the size of the business changes, it is easier to adjust the number of clients and the
processing functions they perform than it is to alter the capability of a large-scale central
server.
Client/server computing also allows companies to transfer applications from expen-
sive mainframes to less-expensive client platforms. In addition, using common languages
such as SQL, clients and servers can communicate across multiple platforms. That differ-
ence is important because many businesses have substantial investments in a variety of
hardware and software environments.
Finally, compared to file server designs, client/server systems reduce network load
and improve response times. For example, consider a user at a company headquarters
who wants information about total sales figures. In a file server design, the system might
need to transmit three separate sales transaction files from three regional offices in order
to provide sales data that the client would process; in a client/server system, the server
locates the data, performs the necessary processing, and responds immediately to the cli-
ent’s request. The data retrieval and processing functions are transparent to the client
because they are done on the server, not the client.
Chapter 10 System Architecture
466 Client/Server Architecture
FIGURE 10-18 Middleware connects dissimilar applications and enables them to communicate
and exchange data. Middleware also can integrate legacy systems and Web-based applications.
Using a DDBMS offers several advantages: Data stored closer to users can reduce net-
work traffic; the system is scalable, so new data sites can be added without reworking the
system design; and with data stored in various locations, the system is less likely to expe-
rience a catastrophic failure. A potential disadvantage of distributed data storage involves
data security. It can be more difficult to maintain controls and standards when data is
stored in various locations. In addition, the architecture of a DDBMS is more complex
and difficult to manage. From a system design standpoint, the challenge is that compa-
nies often want it both ways — they want the control that comes with centralization and
the flexibility associated with decentralization.
INTERNET-BASED ARCHITECTURE
The Internet has had an enormous impact on system architecture. The Internet has
become more than a communication channel — many IT observers see it as a
fundamentally different environment for system development.
Recall that in a traditional client/server system, the client handles the user interface,
as shown in Figure 10-16 on page 464, and the server (or servers in a multi-tier system)
handles the data and application logic. In a sense, part of the system runs on the client,
part on the server. In contrast, in an Internet-based architecture, in addition to data and
application logic, the entire user interface is provided by the Web server in the form of
HTML coded documents that are interpreted and displayed by the client’s browser.
Shifting the responsibility for the interface from the client to the server simplifies the
process of data transmission and results in lower hardware costs and complexities.
The trend toward Internet-based e-business is reshaping the IT landscape as more
firms use the Web to build efficient, reliable, and cost-effective solutions. When plan-
ning new systems, analysts can use available and emerging technology to meet their
company’s business requirements.
Phase 3 Systems Design
Internet-Based Architecture 471
FIGURE 10-24 HP and SAP offer enterprise portal solutions to their customers worldwide.
Web 2.0
The shift to Internet-based collaboration has been so powerful and compelling that it
has been named Web 2.0. Web 2.0 is not a reference to a more technically advanced ver-
sion of the current Web. Rather, Web 2.0 envisions a second generation of the Web that
will enable people to collaborate, interact, and share information more dynamically.
Phase 3 Systems Design
Internet-Based Architecture 473
Leading Web 2.0 author Tim O’Reilly has suggested that the strong interest in Web
2.0 is driven by the concept of the Internet as a platform. O’Reilly sees future Web 2.0
applications delivering software as a continuous service with no limitations on the num-
ber of users that can connect or how users can consume, modify, and exchange data.
Figure 10-27 shows examples of popular social networking sites, which are seeing explo-
sive growth in the Web 2.0 environment. Another form of social collaboration is called a
wiki. A wiki is a Web-based repository of information that anyone can access, contribute to,
or modify. In a sense, a wiki represents the collective knowledge of a group of people. One
of the best-known wikis is Wikipedia.org, but smaller-scale wikis are growing rapidly at
businesses, schools, and other organizations that want to compile and share information.
One of the goals of Web 2.0 is to enhance creativity, interaction, and shared ideas. In
this regard, the Web 2.0 concept resembles the agile development process and the open-
source software movement. Web 2.0 communities and services are based on a body of
data created by users. As users collaborate, new layers of information are added in an
overall environment known as the Internet operating system. These layers can contain
text, sound bytes, images, and video clips that are shared with the user community.
FIGURE 10-27 Facebook, MySpace, and Twitter are popular examples of Web 2.0 social networking.