manGNU Herds - Free Software Association - Cookbook: recipe #180, Web application architecture

 
 

recipe #180: Web application architecture

As a Free Software project GNU Herds looks for a modular and extensible design. We hope it could be easy to change the technology of a specific layer if it is needed.

This architecture proposal is based on PHP:

Layer 0. Site entry point (HTML, CSS, Smarty, Apache SSI and PHP ).
Layer 1. GUI page builder and themes (PHP)
Layer 2. GUI business logic: content section, others (forms checking and processing) (PHP, HTML)
Layer 4. Data base Manager class, PHP Tools class and Mailer class (PHP)
Layer 5. Data base Operation classes (PHP, SQL)
Layer .. No ADOdb Database Abstraction Library layer or similar (PHP).
Layer .. No stored procedures layer (extension to the SQL language).
Layer 7. PostgreSQL data base server (PostgreSQL, SQL)
locale Here are the files which translate the webapp (gettext)

Layers (outdated image)

.

Since the Model View Controller (MVC) pattern perspective:

The Model[M] is the Layer-5, being accessed from its interface (Layer-4).
The Layer-4 takes care managing the Access Control List (ACL). Note that ACL is not authentication but authorization.

The Controller[C] is composed by the 0, 1, and 2 layers:

The View[V] is Smarty.

.

Reference: http://lists.gnu.org/archive/html/gnuherds-app-dev/2008-05/msg00034.html

Last update: Sat 24 May 2008 08:27:59 AM UTC

 

 

 

 

 

Audience and Context

Audience:
   Anonymous Users

(As there is at least one of the Audience/Feature/Action context information not set, this recipe will not show up in related recipes links)

Back to the top


Powered by Savane 3.1-cleanup