Datasheet
18 Part I Overview of Commerce
Scalability:
Client/server systems 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 multi-servers.
Integrity:
The server code and server data is centrally maintained, which
results in cheaper maintenance and guarding of shared data integrity. At
the same time, the clients remain personal and independent.
5
The preceding characteristics suggest a very simple model to describe the
client/server paradigm; by defining generic services and standard interfaces to
access those services, the client/server paradigm creates an intermediary layer,
namely middleware, to demarcate client tasks from those of the server. This is
depicted in Figure 1-7.
Server
Middleware
Client
Figure 1-7: Components of the client/server paradigm
The client/server computing paradigm is the simplest form and one of the
earliest models to implement distributed computing. The client/server model
is simple; however, by no means is it “easy” to implement. An efficient and
successful implementation of a client/server model requires a great deal of
expertise and experience. This basic computing paradigm, albeit following a
simple concept, is a very powerful design pattern and should not be dismissed
as an “old concept”; there are many tasks and complex functionalities that
are still best accomplished through the client/server design model. Examples
include database query tasks, atomic and stateless operations (i.e. operations
that do not persist data from one invocation to the next), and many more basic
yet powerful design tools.
Grid Computing
Grid computing and its later child, cloud computing, were conceived to build
on top of the client/server computing paradigm to address its major shortcom-
ing: scalability. One of the earliest proponents of grid technology is Ian Foster
of the Argonne National Laboratory and professor of Computer Science at the
University of Chicago. In 1998, in a book called The Grid: Blueprint for a New
Computing Infrastructure co-authored with Carl Kesselman, Foster defined the
grid as “a hardware and software infrastructure that provides dependable,
624463c01.indd 18 3/29/11 2:26:35 AM