|
When implementing a
client/server
architecture you
need to determine if it will be the
client or the
server that
handles the bulk of the workload. By client, we mean the application
that runs on a PC or workstation and relies on a
server to perform some operations.
In
last week's Did You Know article
we discussed the differences between thick clients (also called
fat
clients) and
thin clients in terms
of hardware. The terms thick client and
thin client, however, have double meanings, as thick and
thin also are used to describe the applications
or software. In this
article we take a look at the terms thick and thin as related to
client application software. A
great starting point to discuss the nature of the underlying
differences would be to start with an example of thick and thin
based on an
operating system
and the applications. For example, a
terminal or
Java-based
client would be considered a thin client whereas one running
Microsoft Windows
would be considered a thick client.
One major inconsistency when describing
thick and thin is that the hardware may be thin but the
applications or software running may be thick. While that doesn't
seem to make much sense, if you think of the division between thick vs. thin
starting at the operating system level, rather than at the CPU, it's logical.
|
Key Terms To
Understanding Storage Servers:
client
The client part of a client-server architecture. Typically, a client
is an application that runs on a personal computer or workstation
and relies on a server to perform some operations.
server
A computer or device on a network that manages network resources.
Servers are often dedicated, meaning that they perform no other
tasks besides their server tasks.
client/server architecture
A network architecture in which each computer or process on the
network is either a client or a server. |
Thick vs. Thin Client Applications
A thin client machine is going to communicate with a
central processing server, meaning there is little hardware and software
installed on the user's machine. At times, thin may be defined as simply not
needing the software or operating system installed on the user machine. This
allows all end users' systems to be centrally managed and software deployed on a
central server location as opposed to installed on each individual system.
Thin clients are really best-suited to environments in which the
same information is going to be accessed by the clients, making it a
better solution for public environments. For this reason, thin
clients are often deployed in hotels and airports, where installing software to all
systems wouldn't make sense. It would be a massive headache for IT to
both deploy and maintain.
When using thin clients, compared to a
feature-rich desktop PCs today, they often tend to look a bit primitive and
outdated. Since many thin clients run on very little hardware, it is
impossible to incorporate rich
graphical user interfaces. To use the client, an
input device (keyboard) and viewing device (display) is usually the basic
requirements. Some may not even require a mouse.
In contrast, a thick client will provide users
with more features, graphics and choices making the applications more
customizable. Unlike thin clients, thick clients do not rely on a
central processing server because the processing is done locally on the
user system, and the server is accessed primarily for storage purposes. For that reason, thick clients often are not well-suited for public environments. To maintain
a thick client, IT needs to maintain all systems for software deployment and
upgrades, rather than just maintaining the applications on the server.
Additionally, thick clients often require operating specific applications, again
posing more work and limitations for deployment. The trade-off is a more
robust and local computing environment.
Looking Towards Smart Clients
Over the past few years, has started to move towards
smart
clients, also called rich clients. The trend is a move
from traditional client/server architecture to a Web-based model. More similar to a fat client vs. a thin
client, smart clients are Internet-connected devices that allows a
user's local applications to interact with server-based applications through
the use of Web services.
For example, a smart client running a word processing application can
interface with a remote database over the Internet in order to collect data
from the database to be used in the word processing document.
Smart clients support work offline. That is, they can work with data even when they
are not connected to the Internet (which distinguishes them from
browser-based applications, which do not work when the device is not
connected to the Internet). Smart client applications have the capability to be
deployed and updated in real time over the network from a centralized
server, they support multiple platforms and languages because they are built
on Web services, and can run on almost any device that has Internet
connectivity, including desktops, workstations, notebooks, tablet PCs, PDAs,
and mobile phones. Smart clients will offer rich GUIs, and overall
development and maintenance costs are higher than, for example, thin
clients.
On the downside, smart clients require users to
install or deploy a runtime a library routines that are bound to the
program during execution. For example, if the client is Windows-, Java- or
Flash-based, you need to have that runtime on the user machine. Smart
clients are most often contrasted with
Web browser
clients (or
browser-based applications).
|
Did You Know...
According to a 2004
Jupiter Research report, 73 percent of corporations surveyed
reported that they had migrated at least one enterprise
application from a client-server model to a Web-based model. |
Vangie 'Aurora' Beal
Writer, www.Webopedia.com
Last updated: July 14, 2006

Thin Planet

Thin Planet provides marketing services to the server-based computing industry.
We offer several levels of our partnership programs to suit the needs of product
manufacturers and VARs / Integrators.
Jupiter
Research Sees a Return to Rich Client Applications (PDF)

This research paper by Jupiter Research explores the reasons why one-third of
the companies surveyed are moving away from Web-based applications and returning
to rich client applications.
Choosing the right
thin client devices, OS & management software
Server Based Computing is a must for any company wanting to control spiraling
fat client management costs. However, a company should carefully consider
catering for the following issues when deciding what devices to use as thin
clients and what management software to select for their management.
Webopedia's Did You Know...Understanding Web Services

Over the last couple of years, Web services have expanded to become more popular
with application developers — and for good reason. Web services technology
represents an important way for businesses to communicate with each other and
with clients as well.
Smart Client Computing and XML Web Services
By providing access to data, XML Web services allow developers to more easily
make data available in the applications where it can be analyzed, displayed, or
shared. As more companies adopt an XML Web services model to publish or expose
their data, we will see a new class of applications emerge, designed
specifically to analyze and aggregate information from a variety of sources.
A comparison of auto-updating solutions for thick Java clients
In this article, Jonathan Simon explores three solutions for automatic
thick-client application updating: Sun Microsystems' Java Network Launching
Protocol (JNLP)/Java Web Start, Sitraka's DeployDirector, and Zero G's
PowerUpdate. Some of these solutions integrate with installation tools, but the
focus of this article is on auto-updating, not installation.
Evaluate if Server-Based Computing Is Right for You (PDF)

Once you’ve decided on server-based computing, you’ll need to estimate the
server sizing and scalability requirements. Recognize that the server side of
thin-client computing environments can be constructed of a variety of server
architectures: many small servers (blade or rack-optimized) or fewer large
servers (with virtualization or partitioning). Rather than engaging in heated
debates on which is the “right” architecture, focus on the hard issues that
drive the size and capacity of the server infrastructure, such as application
behavior, user behavior and user concurrency.
Client/Server -- An Overview
The term client/server was first used in the 1980s in reference to personal
computers (PCs) on a network. The actual client/server model started gaining
acceptance in the late 1980s. The client/server software architecture is a
versatile, message-based and modular infrastructure that is intended to improve
usability, flexibility, interoperability, and scalability as compared to
centralized, mainframe, time sharing computing.
Webopedia Quick
Reference: Server Types

This list, courtesy of serverwatch.com, categorizes the many different types of
servers used in the marketplace today. Click on the server category you'd like
to know more about, and you will be taken directly to a serverwatch.com page
that provides additional information and resources. |