- OpenWF Framework
-
OpenWebFramework
Apparu en 2007 Développeur Michael Vergoz / BinarySEC Système d'exploitation Linux, Mac OS X, et d'autre Licence Licence publique générale GNU version 3 ou licence propriétaire Site web http://www.owf.re/ Open Web Framework (formellement appelé OpenWF) est un Framework développé au moyen du langage PHP 5 et est sous licence GPL v3.
OpenWF permet de développer des applications Web stables et performantes.
Il est l'un des rares framework à intégrer nativement différents niveaux de caches qui améliorent singulièrement l'application Web.
Il est aussi intégralement modulaire, ce qui permet- de segmenter proprement les développements (et les équipes de développement) ;
- de faciliter la mise à jours des modules
- de segmenter l’exécution de l'application
Une intégration native d'un chargeur CLI permet d’exécuter très facilement le Framework en mode console.Sommaire
Genèse
OpenWF est une émanation des travaux de recherches et développements de la société BinarySEC SAS.
Il a été programmé intégralement from scratch afin de répondre aux attentes des équipes de développement.
OpenWF exploite toutes les capacités que offre PHP en matière de développement.Driver de base de données
OpenWF intègre une couche d’abstraction de gestion de base de données, ainsi le développeur n'a plus à se soucier de la portabilité de ses requêtes SQL.
Une requête SQL se réalise aux moyens d'objets très simples à manipuler :- core_db_insert : Objet d'insertion de données
- core_db_multiple_insert_or_update : Permet d’exécuter plusieurs core_db_insert
- core_db_update : Mettre à jours des données
- core_db_adv_select : Objet avancé de sélection de données
- core_db_select : Objet simple de sélection de données
- core_db_delete : Objet de suppression de données
- core_db_adv_delete : Comme pour core_db_delete mais avec des fonctions avancées
- core_db_select_distinct : Effectue une sélection distincte
- core_db_index : Objet de création d'indexation de recherche
Trois drivers sont actuellement proposés à l'usage :- Driver PDO MySQL
- Driver PostGreSQL
- Driver SQLite 3
Plus d'information sur http://wiki.owf.re/index.php/HowTo:OpenWF:Core:DatabaseCouche de programmation
OpenWF possède une couche supplémentaire de programmation permettant d'abstraire encore un peu plus l'accès aux données tel un objet d'accès aux données (DAO).
Il est ainsi possible de créer toutes les méthodes liées à la manipulation de données en base (select/update/insert) en créant simplement le schéma de base de données au travers d'une DAO OpenWF core_dao_form_db.
Une fois ce schéma crée il est possible de générer automatiquement l'insertion, la vue et la modification de la base de données au travers de l'interface Web comme pourrait fonctionner un Modèle-Vue-Contrôleur (MVC)Priorité modulaires
L'une des forces du framework OpenWF est la priorité modulaire.
Cette fonction permet :- segmenter et rendre étanche des compartiments de développeurs et projets de développement ;
- d'agir sur un autre module sans en modifier les sources
Par exemple, il est possible de modifier l'intégralité graphique du module Admin sans modifier ce dernier mais juste en surchargeant les fonctions du modules.
Cette fonctionnalité permet aussi de mieux prendre en compte les mises à jours des modules dépendants sans en affecter son fonctionnement.Internationalisation
L'autre très grand atout de OpenWF est certainement la gestion des langues.
OpenWF vous permet de créer des applications intégralement traduites.
C'est l'agrégateur core_lang du module Core qui est responsable de sa gestion.
A tout moment le développeur peut créer un contexte de langue qui lui permettra par la suite de traduire l'ensemble de l'applicatif web via le module God.
Le module God propose au développeur de maîtriser la gestion des langues et permet de traduire en ligne l'applicatif.
OpenWF charge un certain nombre de contextes de langues par défaut.
Par exemple le fichier module.php des définitions du module possède son propre contexte de langue.
Il en va de même pour tout les Templates chargés.
Un agrégateur peut, si nécessaire, charger un contexte.Nomenclature des modules
- Branche de développement Native (NAT)
- Module Core : Noyau de Open Web Framework
- Module Session : Gestionnaire d'utilisateurs et de sessions
- Module Admin : Module d'administration Web
- Module God : Module "Dieu" pour modifier l'application Web en ligne
- Module Search : Module de recherche très simplifier
- Module OpenDoc : Gestionnaire de documents OpenDocument (avec système de rendu)
- Branche de développement des projets portés (PP)
Références
- BinarySEC SAS : http://www.binarysec.com/
Catégories :- Framework de programmation
- PHP
Wikimedia Foundation. 2010.