One way to view the difference between classes of computers is by the software they run. Joe Firmage of Novell splits the pie into five pieces.
The first category
is network-ignorant desktop programs that gain access to shared resources only because a redirector inserted below them diverts file and print I/O calls to remote systems.
The second category
is network-aware applications designed specifically for LANs (i.e., groupware, SQL query tools, and custom-designed PowerBuilder front ends) that take advantage of a data repository across the wire. These applications typically use limited server-based processes, such as triggers and stored procedures.
Firmage calls
the third category
true partition
ing. In this model, client and server components are independent and fully programmable, each with a known interface. "The transition in the PC world from local database applications to client/server applications will be matched by as big a step from client/server to partitioned," he predicts.
In
the fourth category
, work load shifts more to the server. The client executes only a simple component that accesses a centralized service via an API. This model more closely resembles a conventional terminal/host architecture, except that greater intelligence is assumed at the client. Compared with the third category, the server-based approach can reduce network traffic.
The fifth category
maps most closely to a traditional mainframe, because there is no active client-side component at all. The user is merely represented inside the central machine by a daemon. An essential foundation of these kinds of centralized programs is a multiuser OS that supports remote log-ins from numerous ter
minals.
Firmage believes the computer industry is headed toward the third category. "The partitioned scenario is the midpoint of a convergence between the PC and mainframe model," he says, because it incorporates aspects of both distributed desktops and traditional shared logic.
Client and Server in One Box
One intriguing implementation of partitioning is a scheme called
client/client/server
, in which the true client (i.e., the end user)
is represented inside the server by a client process, or proxy. This
arrangement can reduce network traffic and boost performance, because
both the proxy and server operate within the same machine and
communicate at bus speeds rather than network speeds.
This scheme breaks the hard coupling between the front and back
ends (which in traditional client/server requires a hard-wired,
real-time, RPC [remote procedure call] protocol) in favor of a more
flexible, asynchronous link, based on RPCs or lighter-weight
messaging. Usi
ng proxies will make it easier to implement transparent
or dynamic networks, because the communications protocol between the
client and proxy can vary depending on the network, even while that
between the proxy and server remains fixed.
Class Differences
illustration_link (11 Kbytes)