Client/Server logical layering
To understand client/server computing it is important to understand that software can be divided in logical layers. All logical layers together form the application. Each layer in the software is responsible for a specific task in the application. The logical layering of an application does not need to be the same as the physical layering of an application ( see for the physical layering the next paragraph).
In theory we distinguish 6 layers in sofware, as shown in figure below. The layering as shown here is a reference model: in practise the layering will not be so clear as shown here.
Figure 2: Software layering
Presentation manager
A presentation manager displays the user interface. The presentation manager is responsible for the look and feel of an application: it defines how something is displayed to the user. It is also responsible for the infrastructure of user interface elements that are possible in an application. The user interface elements are not limited to text and controls , but also include things as grafics, sound, animation and movies. A presentation manager is not application dependent. All applications can use the same presentation manager.
In some operating systems there is a clean distinction between a presentation manager and the operating system itself (e.g. Linux/Unix with X-Windows) and a user can choose which presentation manager (s)he will use for the application (this choice is of course limited by the required user interface elements). Other operating systems only offer one presentation manager which is integrated with the operating system (e.g. Microsoft Windows).
Presentation logic
The presentation logic layer is responsible for what is displayed to the user. It defines which screens are displayed, when they are displayed, which navigation paths exist between screens, which fields to display etc.. The presentation logic layer is application dependent.
Application logic
The application logic layer contains the actual application logic. This is the layer where the application functionality is defined. The application logic layer is application dependent.
In praktice, this layer is the least recognizable of all layers. This layer is typically spread over all other layers whith most of its logic ending up in the presentation logic layer.
Business logic
The business logic layer contains the business rules of an organization. All the business rules should be shared between all the applications of the organization. This will ensure that changes in business rules will propagate through all the organization's applications. This layer is not application dependent but organization dependent.
Database logic
The database logic layer contains the data dictionary of the application (or even organization). It describes the tables, their columns, datatypes, primary and secondary keys. This layer is application (or even organization) dependent.
Database manager
This layer is responsible for the actual storage of data. This layer can be application/organization dependent but most of the time it is not. Most of the time the database manager is a commercial off-the-shelve application, which is able to manage many applications. For very simple applications the database manager and the operating file system are the same (persistence).
In practice, the database logic layer and the database manager layer are almost always one layer. Most database managers generate the physical storage facilities of the data on the basis of a database logic written in SQL. Whenever we speak of "database" in this tutorial we mean the integrated database logic / database manager layer.
Tuesday, August 10, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment