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.



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


Audience and Context

   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.3