Java Reference
In-Depth Information
Client A retrieves the DVD record for the movie Office Space .
Client B retrieves the DVD record for Office Space .
Client A verifies that there is one copy of the DVD still in stock.
Client B verifies that there is one copy of the DVD still in stock.
Client A rents the DVD.
Client B rents the DVD.
We now have a problem; according to the electronic records, both clients A and B have
rented the same DVD.
One way to solve this problem would be to make the retrieval-verification-rental opera-
tions atomic. However, this could only be done on the server side since two separate clients
working in their own JVMs would be unaware of any synchronized blocks operating in other
JVMs. Having this code operate on the server side makes building a thin client very simple, but
we already know that we have to build a Swing client, so we know that the client computers
can support thick clients. A bigger problem is that having this code within an atomic block will
reduce concurrency.
THIN AND THICK CLIENTS
The term “thin client” is used to denote a client interface that can run on a computer with minimal processing
power. A typical example is a web interface to an application—the computer accessing the web interface can
be a very low-powered computer. It is even possible to set up a computer that has no hard drive or floppy
disk drive that can access powerful software as long as there is a thin client interface for the software. It
would be possible, for example, to set up a web browser on a personal computer with a 386 CPU running at
16 MHz with 4 MB of RAM. If you did this, you would still be able to access your e-mail, read news, and per-
form web searches, among other things.
For those who are not as old as the authors, before the current personal computers with Pentium 4
CPUs running in excess of 2 GHz with a minimum of 128 MB of RAM, there were personal computers with
Pentium III CPUs. Going further back in the timeline were Pentium II CPUs, Pentium CPUs, 486 CPUs—and
before that were 386 CPUs. Before the personal computers with 386 CPUs were 286, 8086, and 8088 CPUs,
but the authors wouldn't want to set up a web browser on one of them (the first Unix-like system one of the
authors worked on was a Coherent system on a 286).
A “thick client” (or a “fat client”) is one where a large proportion of the processing is done on the client
computer, and therefore a more powerful client computer is required. For example, Microsoft recommends
running Microsoft Office on a PC with at least a Pentium III CPU, and 128 MB of RAM.
There is a trend toward using thin client software where possible within organizations for many rea-
sons, such as the fact that thin clients can typically still run on older computers (the 386 was released in
1985, while the Pentium III was released in 1999; there are 14 years' worth of computers that would be
obsolete if all software required a thick client running on a Pentium III), plus system administrators have an
easier job if they only have to administer one or two servers running the applications, and all the client
machines only run thin client software.
Search WWH ::




Custom Search