Lair of the disambiguator

from the desk of the disambiguator…


Craig is concerned about software things, consequently he uses many software terms.  To disambiguate something means to determine its intended meaning.  It comes from linguistics and was adopted by computer science.  This document will be a place for me to clarify how he uses terms.

I like the being called the disambiguator because it sounds complicated and obscure.  Ironically, I want to make things simple and clear.  I thought it made a nice contrast.

Disambiguator Definition | Definition of Disambiguator at Dictionary.com

If you ever have a question about the definition of a term or concept, either leave me a comment or send an email to craig.champlin@me.com and he will post its definition, clarification, or correction here.  Thanks.

  • Requests: December 4, 2009 – I’ll take requests for terms to work on next.  I welcome any comments on my prototype disambiguations.
  • Note: December 4, 2009 – Looks like it is going to take some time to disambiguate these terms.  I am going to have to work on this in my spare time.  I can post blog updates when I add a term.
  • WARNING: December 3, 2009 – This page is under heavy construction – bit dusty right now
    .
  • TIP: Terms are arranged alphabetically
  • TIP: Use <cntrl>+f  to search for a term
  • TIP: Copy the term in question the then paste into “find” dialog
    .
  • Note to self: build map to showing relationships between terms (find one?)

Disambiguations

Client application

A software program which makes requests of another software program which fulfills those requests.  Usually the other software application is running on a remote server.  In terms of the user experience, a client application provides the interface (GUI) for a user to interact with. In terms of networking applications, a client application is the one making a request.

Specific types: Fat client, thin client
Synonyms: graphical user interface (GUI), user interface (UI)
Compare vs: Server application
Used with: client/server application, 2/3/n-tiered application, user experience (UX)
Examples:

  • Apple iTunes Store uses a thin client application that runs in a web browser
  • When using a central Geodatabase, ArcView functions as a fat client for this data

 

Client/server application

“Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. Although the client/server idea can be used by programs within a single computer, it is a more important idea in a network.” – What is client/server? – Definition from Whatis.com

I have heard many people describe client/server as a “normal application” (like excel or visio) which pulls information from a server.  This description implies a fat client application where the local software application does most of the work.  The server is only there to fulfill requests.  Contrast this with a thin client application where the server does most of the work and the local software application merely directs the server’s actions.

When I use the term, I will be using the broader sense of it.  I intend the term client/server to mean any client server arrangement in which one software program makes a request of another program which fulfills that request.

Specific types: fat client, thin client, networking
Synonyms: fat client application, 2-tier application, peer-to-peer application (rare to hear thin client called C/S)
Compare vs: thin client application, 3/n-tiered application, web-application
Used with: client application, server application, database application
Reference: Client-server – Wikipedia, the free encyclopedia
Reference: What is client/server? – Definition from Whatis.com
Examples:

  • Your online banking application is client/server.  In this application a thin client application runs in your web browser.  This client application accesses a server application across the internet.  It is this server application that does the actual work as it is directed by the client application.

WARNING: Construction Zone Below

2/3/n-tiered application

Client interface

End-user application

GUI (pronounced “gooey”)

User interface (UI)

Two-tiered application – Software program that directly uses a central database instead of a localized one.  Often implies a fat client.  Compare with a web-application where data is accessed by a server-based application which is accessed by a client.

Related: Fat client
Modern uses include:

  • Software requiring lots of data post-processing, as in GIS
  • Analytical processing of historical data in a data warehouse. [weak]
  • Software that has extreme security concerns

Data warehouse
Data cube
OLTP (?)
Business intelligence

et al
Software applications which are motivated by the need to view compiled statistics against slices of time-sequenced data.

(A) A giant database which is intended to capture intermittent snapshots of a live database and freeze those snapshots in time.
(B) The tools that tally and compile information about this data
(C) The applications that derive meaning from this compiled information

Examples

  • A data warehouse is a database that is configured to store slices of data through time
  • A data cube refers to a series of data snapshots stacked along a time axis to form a cube  [vet, cite]
  • Online Transaction Processing (OLTP) [vet, cite] engines are the tools that compile statistics against this data (example: compute a histogram of risk scores by asset by year)
  • Business intelligence tools provide dashboard summary information using this compiled information

End-user
Stakeholder
User
Ted
A group of individuals who share identical concerns for a real task that is to be supported by software.  The fundamental promise of good software development is to identify all stakeholders and then delight targeted groups with useful functionality that is ideally suited to its specific purpose.

Examples:

  • Functionality = cut & paste text: end user = all users
  • Functionality = align ILI inspection results: end user = data technician
  • Functionality = perform remaining life calculation: end user = corrosion engineer

Fat client
Related: Client-server application
Software application which directly uses a database server for real-time exchange of data.  Usually implies enterprise-level software (vs personal software).  Example: ESRI ArcView when using a central PODS database.

Server application
An software program which typically runs at a central location.  A server application will not have a user interface, instead it fulfills requests from one or more remote client applications. Typically a server application will be associated with software programs which have 3 or more tiers, or discrete functional layers.

Server-based application
3 tier application
n-tier application
web-based application
hosted software
SOA (service oriented architecture) software
AJAX application [vet]
et al
These terms describe an online application which relies on a thin client to interact with the user.  Modern tool sets have made this class of applications extremely feature rich.  Interface controls, like those for editing text and those for displaying maps, have progressed to the point where they rival traditional software in their capabilities and in their responsiveness.  The ability of this type of application to combine data from multiple sources is unparalleled.

Standalone application
A traditional application like Word, Xcel, or Doom which retains full functionality when the host computer is completely isolated from all other computers.

Examples:

  • The software for a master control station (MCS) in a SCADA system would be considered standalone because it relies on remote telemetry units, etc only for data.  The MCS software will continue to “operate” even if there are no inputs.
  • An application like PCS from American Innovations, which operates on the principal of shared data, is also a standalone application.
  • Microsoft Outlook would not be a stand-alone application by this definition because it relies on a network connection to send and receive data.  Without a network connection its principal functionality is lost.


  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: