Software Application
Architecture
Mature software programs
are built on three main constructs: Presentation, Engine
and User Data. This is generally true for most programs running
as desktop or stand-alone programs. Presentation is incarnated by what
is called the Graphical User Interface. This is generally how a
user interacts with a software program. The older command line type of
interface, whereby the user had to type in text commands, had long been
replaced by the pointing mouse and the graphical window- and icon-based
interface which most if not all computer users have become familiar with
nowadays.
Beyond the User
Interface there is an engine made of algorithms (set of instructions)
designed to perform the actual work of the program as a tool. The engine
remains behind the scene totally screened from the User who therefore is
not able to alter it, whether directly or indirectly, in any expected or
conceivable way.
The engine takes
information from the User and massages it according to the rules of the
tool (the algorithm). The results of this transformation become user
data which are ultimately orchestrated as user data files. It is not at
all uncommon that some desktop software engines will host a full
Database which facilitates a great deal the manipulation and treatment
of data.
Now there are task
performance requirements from a user perspective that require a program
structure or application architecture that is far more complex than the
desktop architecture. These requirements may be of the geographical
order, when tasks must take place at different locations in a
coordinated fashion, or when the volume of data generated is of a
colossal amount and requires frequent periodic updates and other forms
of maintenance, etc. To respond to those demanding application
requirements, a form of software application has been devised which
rests on what is called client/server architecture.
Client/Server
architecture is still a 3-tiered approach, however each tier component
resides on a separate machine that may or may not be located at a
different location than the others. The client machine or machines are
responsible for the Presentation component. They host client
programs whose sole purpose is to give the users the means to
register application data into the system and to show the results of
performed operations by the system.
At the 2nd tier level,
an application engine takes on the task of hosting and operating the
business rules as well as processing the data. That engine resides on a
machine on its own, the application server. Sometimes some
of the business rules are taken care of by the client which is then
dubbed a "fat" client as opposed to a "thin" client.
continued...>>
Review the
SharpPOINTSTM
System STM application architecture.
Review relationship between
MS Windows
Operating System and SharpPOINTSTM programs.
Learn about
MS Windows
Registry and related problems for applications.
_______________________________________