0% found this document useful (0 votes)
14 views

client server architecture

The document discusses client/server architecture, which divides processing between networked clients and a central server, enhancing efficiency and scalability for businesses. It contrasts traditional file server designs with client/server systems, highlighting the advantages of reduced network load and improved response times. Additionally, it covers design styles, middleware, performance issues, and the impact of Internet-based architecture on system development.

Uploaded by

Ian Young
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

client server architecture

The document discusses client/server architecture, which divides processing between networked clients and a central server, enhancing efficiency and scalability for businesses. It contrasts traditional file server designs with client/server systems, highlighting the advantages of reduced network load and improved response times. Additionally, it covers design styles, middleware, performance issues, and the impact of Internet-based architecture on system development.

Uploaded by

Ian Young
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Phase 3 Systems Design

Client/Server Architecture 461

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.

Overview To learn more about


client/server archi-
Although no standard definition exists, the term client/server architecture generally tecture, visit the
Management
refers to systems that divide processing between one or more networked clients and a Information Systems
central server. In a typical client/server system, the client handles the entire user interface, CourseMate Web
including data entry, data query, and screen presentation logic. The server stores the data site at www.
cengagebrain.
and provides data access and database management functions. Application logic is com, navigate to
divided in some manner between the server and the clients. In a client/server interaction, On the Web Links
the client submits a request for information from the server, which carries out the opera- for this chapter, and
locate the Client/
tion and responds to the client. As shown in Figure 10-12 on the next page, the data file Server Architecture
is not transferred from the server to the client — only the request and the result are link.
transmitted across the network. To fulfill a request from a client, the server might
Chapter 10 System Architecture
462 Client/Server Architecture

File Server Design

Client requests data file


Client

Server transmits entire data file


Server

Client

Client/Server Design
Client submits data
query to server
Client

Server transmits only the


Server results of the client query

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/Server Design Styles


Client/server designs can take many forms, depending on the type of server and the rela-
tionship between the server and the clients. Figure 10-14 shows the client/server interac-
tion for a database server, a transaction server, an object server, and a Web server. Notice
that in each case, the processing is divided between the server and the clients. The nature
of the communication depends on the type of server: A database server processes individ-
ual SQL commands, a transaction server handles a set of SQL commands, an object server
exchanges object messages with clients, and a Web server sends and receives Internet-based
communications.

Client/server Design Styles

Client transmits
SQL command
Client

Server transmits results of


Database SQL execution
server
Client

Client triggers
transaction
Client

Server executes set of


Transaction SQL commands and
server verifies result
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

Fat and Thin Clients


Client/server designs can be based on fat or thin clients. A fat client, also called a thick
client, design locates all or most of the application processing logic at the client. A thin
client design locates all or most of the processing logic at the server. What are the advan-
tages and disadvantages of each design? Most IT experts agree that thin client designs
provide better performance, because program code resides on the server, near the data.
In contrast, a fat client handles more of the processing and must access and update the
data more often. Compared with maintaining a central server, fat client TCO also is
higher, because of initial hardware and software requirements and the ongoing expense
of supporting and updating remote client computers. A fat client design, however, is sim-
pler and less expensive to
develop, because the archi-
Characteristic Fat Client Thin Client tecture resembles traditional
Network traffic Higher, because the fat client must Lower, because most interaction
file server designs where all
communicate more often with the between code and data takes place processing is performed at
server to access data and update at the server the client. Figure 10-15
processing results compares the characteristics
Performance Slower, because more network traffic Faster, because less network traffic of fat and thin clients.
is required is required

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

the data server’s workload. The sepa- Application User


rate application logic layer also Architecture Data Logic Interface
relieves clients of complex processing
Central data Server X X X
tasks. Because it can run on a mini- processing center
computer that is much more power- Client
ful than the typical client Central server with Server X X
workstations, the middle layer is remote terminals Client X
more efficient and cost-effective in Stand-alone Server
large-scale systems. Figure 10-17 client Client X X X
shows where the data, the application Server X X
Two-tier
logic, and the user interface are client/server Client X X
located on various architectures. In a
Data server X
client/server system, the tiers commu- Three-tier
client/server Application server X
nicate using software called middle-
Client X
ware, which is described in the
following section. FIGURE 10-17 The location of the data, the application logic, and the user
interface depend on the type of architecture.

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.

Client/Server Performance Issues


While it provides many important advantages over file-based systems, client/server
architecture does involve performance issues that relate to the separation of server-based
data and networked clients that must access the data.
Consider the difference between client/server design and a centralized environment,
where a server-based program issues a command that is executed by the server’s own
CPU. Processing speed is enhanced because program instructions and data both travel
on an internal system bus, which moves data more efficiently than an external network.
In contrast to the centralized system, a client/server design separates applications and
data. Networked clients submit data requests to the server, which responds by sending
data back to the clients. When the number of clients and the demand for services
increases beyond a certain level, network capacity becomes a constraint, and system per-
formance declines dramatically.
In the article shown in Figure 10-19, IBM states that the performance characteristics of a
client/server system are not the same as a centralized processing environment. Client/server
response times increase gradually as more requests are made, but then rise dramatically
when the system nears its capacity. To deliver and maintain acceptable performance, system
developers must anticipate the number of users, network traffic, server size and location, and
design a client/server architecture that can support current and future business needs.
What is the answer to enhancing client/server performance? According to IBM,
client/server systems must be designed so the client contacts the server only when
necessary and makes as few trips as possible.
Another issue that affects client/server performance is data storage. Just as processing
can be done at various places, data can be stored in more than one location using a dis-
tributed database management system (DDBMS).
Phase 3 Systems Design
Internet-Based Architecture 467

FIGURE 10-19 According to IBM, client/server response times increase


gradually, and then rise dramatically when the system nears its capacity. That
point is referred to as the knee of the curve.

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.

software and data environ-


ment that is hosted by third
parties. A user’s computer
does not perform processing
or computing tasks — the
cloud does. This concept is in
contrast to today’s computing
model, which is based on net-
works that strategically dis-
tribute processing and data
across the enterprise. In a
sense, the cloud of computers
acts as one giant computer
that performs tasks for users.
As shown in Figure 10-25, a
user logs into a local com-
puter and is connected to the
cloud, which performs the
computing work. Instead of
requiring specific hardware FIGURE 10-25 In cloud computing, users connect to the Internet cloud to access personal
and software on the user’s content and services through an online software and data environment.
computer, cloud computing
spreads the workload to powerful remote systems that are part of the cloud. The user
appears to be working on a local system, but all computing is actually performed in the
cloud. No updates or maintenance are required of the user, and there are no compatibil-
ity issues.
Chapter 10 System Architecture
472 Internet-Based Architecture

Cloud computing effectively eliminates


compatibility issues, because the Internet
itself is the platform. This architecture also
provides scaling on demand, which
matches resources to needs at any given
time. For example, during peak loads, addi-
tional cloud servers might come on line
automatically to support the workload.
Cloud computing is an ideal platform
for powerful Software as a Service (SaaS)
applications. As you learned in Chapter 7,
SaaS is a popular deployment
method where software is not
purchased but is paid for as a ser-
vice, much like one pays for elec-
tricity or cable TV each month.
In this architecture, updates and
changes to services can be easily
made by service providers with-
out involving the users.
Even though cloud com-
puting has many advantages,
some concerns exist. First,
cloud computing requires sig-
nificantly more bandwidth
(the amount of data that can
be transferred in a fixed time
period) than today’s net-
works. Second, because cloud
computing is Internet-based,
if a user’s Internet connection
becomes unavailable, he or
she will be unable to access
any cloud-based services. In
FIGURE 10-26 Three popular examples of cloud computing platforms. addition, there are security
concerns associated with
sending large amounts of data over the Internet, as well as concerns about storing it
securely. Finally, there is the issue of control. Because a service provider hosts the
resources and manages data storage and access, the provider has complete control of the
system. Many firms are wary of handing over control of mission-critical data and systems
to a third-party provider.
It remains to be seen whether cloud computing’s advantages will outweigh its disad-
vantages. Technology advances continue to make cloud computing more feasible, desir-
able, and secure. As the IT industry moves toward Internet-based architectures, cloud
computing’s success will depend on how bandwidth, reliability, and security are
addressed and how well cloud computing is received by users. As shown in Figure 10-26,
examples of popular cloud computing platforms include Windows Azure, Amazon’s
Elastic Compute Cloud, and Compiere.

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.

You might also like