Aujourd’hui, les applications web tendent vers les ergonomies des sites classiques et offrent un nombre croissant de fonctionnalités et de services aux utilisateurs. Paradoxalement, leur conception devient de plus en plus complexe, en particulier sur les plate-formes de référence actuelles. Ce blog se propose d’aborder des alternatives aux solutions traditionnelles, basées sur l’innovation et la simplicité, et qui permettent d’associer Qualité et Productivité. Fabien Le Hoan.

lundi 27 novembre 2006
LeeBeLLuL, un framework innovant

Cet article propose une vue générale d’un framework associant performance et simplicité : LeeBeLLuL. Il sera complété ultérieurement par des exemples d’utilisation et de réalisation.

Bâtir une application avec une architecture MVC est aujourd’hui la norme. Toutefois les pré-requis sont considérables sur les plate-formes actuelles :

- Au niveau des ressources humaines il est fréquent d’avoir des collaborateurs dédiés aux IHM, aux couches métier et aux couches d’accès aux données. Ce sont des postes à haute technicité du fait de la multitude de langages et de frameworks à maîtriser.
- Au niveau de la couche logicielle, il est nécessaire d’acquérir des suites coûteuses, que soit au niveau des serveurs ou des postes de développement (pour .Net).
- Au niveau des sources du projet, on constate une multiplication du nombre de fichiers en fonction du nombre d’écrans utilisateurs. Il en résulte directement une charge de maintenance et de tests supplémentaires.
- Au niveau de la productivité des développements, le fait de compiler systématiquement sur des environnements gourmands en CPU ralentit chaque opération.

Ces critères ne sont pas neutres sur le budget informatique, particulièrement pour des petites entreprises ou des PME.

Le framework LeeBeLLuL prend le contre-pied des points précédents en misant sur une approche ‘Model Driven’. Ce concept repose sur la réusabilité des écrans et des services. En effet, la phase de design consomme habituellement une charge importante sur un projet, ainsi que l’enchaînement des écrans à prévoir. Quant aux traitements, ils reposent sur une multitude de classes. LeeBeLLuL propose de centraliser les données sur des IHM en xml et xsl, et de leur associer directement des services développés en scripting (avec IronPython), le tout dans un même environnement.

Type d’applications concernées :
- Informatique de gestion (approche formulaire)
- Sites ‘dynamiques’ (e-commerce, etc.)

Applications ‘Form Driven’

Pour les applications internes aux entreprises, où la saisie de données est importante, il est important de centraliser les données, d’une part afin de conserver le contexte utilisateur, d’autre part afin d’éviter l’utilisation abusive d’écrans qui nuit à la navigation.

LeeBeLLuL offre pour ce type d’applications la souplesse d’Infopath pour le design (Infopath 2003 – composant de MS Office 2003). En effet, l’interface d’Infopath est similaire à celle de Word, à la nuance près qu’il est possible d’insérer des zones extensibles. Une présentation plus détaillée de l’utilisation d’Infopath dans le framework LeeBeLLuL sera faite dans un article ultérieurement.

Il en résulte que les fichiers générés (les données en xml et les styles en xsl) sont intégrés directement dans l’application. L’étape suivante consiste à développer les services de traitement, et à les associer aux données. Ce type d'application, associé à l'utilisation de winforms du Framework 2.0 de Microsoft, est de type RIA (Rich Internet Application).




Les services se décomposent deux étapes : un service est appellé par un événement et il est définit par un script. L’appel utilise le protocole REST et le script est écrit en IronPython. Quant aux données, des connecteurs sont disponibles pour une large gamme de SGBD (SQL Server, Oracle, MySQL, SQLite…).

Sites ‘dynamiques’

Un prochain article illustrera les développements de sites dynamiques avec le framework.


---------------------------------------------------------------------------------

Avantages :

- Gain de temps sur la partie IHM
- (Beaucoup) Moins de code métier à développer
- Centralisation des données
- Fonctionnement offline/online
- Facile à déployer.
Références : le site de LeeBeLLuL est actuellement en cours de construction.

Libellés : , , , ,