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

 
 

You are not allowed to post comments on this tracker with your current authentication level.

recipe #180: Web application architecture

Submitter:  Davi Leal <davi>
Submitted:  Mon 04 Feb 2008 12:58:37 AM UTC
   
 
Category:  None Importance:  3 - Normal
Status:  Approved Privacy:  Public
Assigned to:  davi Open/Closed:  Open

Mon 04 Feb 2008 12:58:37 AM UTC, recipe preview:  

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:

  • Layer 1 is the core of the controller, where the web page is build:


Layer-1__Page_builder/Web_Page.php


  • Layer 2 keeps the business logic of the controller:


Layer-2__Business_logic/*


  • Layer 0 is the entry point to the controller:


Layer-0__Site_entry_point/*.php


The View[V] is Smarty.

                                                       .

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

Davi Leal <davi>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by davi (Submitted the item)
  •  

    Follow 23 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-05-24 davi RecipeAs a Free Software... +38 chars
    2008-05-24 davi RecipeAs a Free Software... -6 chars
    2008-05-24 davi RecipeAs a Free Software... +6 chars
    2008-05-24 davi RecipeAs a Free Software... +0 chars
    2008-05-24 davi RecipeAs a Free Software... +1 chars
    2008-05-24 davi RecipeAs a Free Software... +14 chars
    2008-05-11 davi RecipeAs a Free Software... -11 chars
    2008-05-11 davi RecipeAs a Free Software... +1 chars
    2008-05-11 davi RecipeAs a Free Software... -3 chars
    2008-05-11 davi RecipeAs a Free Software... +3 chars
    2008-05-11 davi RecipeAs a Free Software... +60 chars
    2008-05-11 davi RecipeAs a Free Software... -12 chars
    2008-05-11 davi RecipeAs a Free Software... +5 chars
    2008-05-11 davi RecipeAs a Free Software... +54 chars
    2008-05-11 davi RecipeAs a Free Software... +12 chars
    2008-05-11 davi RecipeAs a Free Software... +19 chars
    2008-05-11 davi RecipeAs a Free Software... +36 chars
    2008-05-11 davi RecipeAs a Free Software... -8 chars
    2008-05-11 davi RecipeAs a Free Software... +55 chars
    2008-05-11 davi RecipeAs a Free Software... +2 chars
    2008-05-11 davi RecipeAs a Free Software... +3 chars
    2008-05-11 davi RecipeAs a Free Software... +699 chars
    2008-02-04 davi RecipeAs a Free Software... +21 chars

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code