Location: GUIs >
Misc GUIs >
Remote GUIs >
Client / Server Applications|
Previous - Character Cell Terminals
Client / Server Applications
For contrast it is worth mentioning client/server applications as a
form of remote computing, although strictly speaking they are not "remote
guis" as I have defined them here.
A client/server application is a piece of software that runs on a client
computer and makes requests to a remote server. Many such applications
are written in high-level visual programming languages where UI, forms,
and most business logic reside in the client application. Often such applications
are database applications that make database queries to a remote central
database server (this can, however, get much more complicated than that
and involve other communication methods)
In a database application, data related number crunching can occur on
the remote database server where the processing is close to physical data.
An example of a database query might be to return the sum of a field named
"dollar amount" where the field name year is "2001". There may be hundreds
of thousands of records but the client computer does not have to worry
about fetching or sorting through all of them itself. The database server
will sort through that and just return one small record with the result
to the client.
This screen shot shows an example of a client /server application running
locally on a computer. This is the same application shown running remotely
in some of the Terminal Server and Citrix screen shots in the previous
A client / server application can be cross platform if it is written
in a cross platform language, or it can be platform specific. In the case
of a cross platform language there is an advantage that the application
can potentially provide a user interface that is native in appearance to
the OS or platform environment it is running under.
An issue of client/server is that the application must be installed
on each users computer. Depending on the complexity of the program, the
environment it is written in, and the care the developer took to package
the program, this can be as easy as creating a shortcut to an executable
on a shared network drive or it can be as hard as spending hours installing
and configuring runtime software and components on each client computer.
Client / server applications, either run locally on a client computer
or through something like Terminal Server, Citrix, or VNC, can work closely
with the underlying OS to provide a rich, powerful, robust, easy to use
By running locally on a client computer applications can also work with
other local hardware such as scanners, bar code readers, modems, removable
media, accelerated video for multimedia, or 3d video acceleration.
Depending on the programming environment in use, applications can be
very easy to develop and maintain, often through a visual interface where
commonly needed functionality is provided through built in objects or properties.
The above screen shot is of Microsoft Access showing its built in table
design, form design, and report design modes. Even simi-complicated reports
and forms can be created with little or no coding and it is easy enough
for just about anyone to use. This is one reason why MS-Access is so popular
in corporate environments (And why Access databases tend to spring up like
weeds). When linked to a remote database server, such as an Oracle
or MS-SQL server, it can act as a client / server application. Multiple
users can also open an MS-Access database file over a network share, but
this is not considered Client / Server (and due to performance and data
integrity issues, should be avoided).
Next - The Web