Depuis quelques temps, je m’intéresse de près à l’outil Open Source Ofbiz.
Il s’agit d’un ERP écrit en java sous licence Apache. Son orientation fonctionnelle actuelle est très orientée e-commerce : réalisation de sites web marchand. Il gère également le suivi facturation, stock, logistique, comptabilité derrière le site marchand lui-même.
Particularité intéressante, il dispose d’un module POS (Point Of Sale : Point de Ventes). Ce module offre la possibilité de gérer des appareils distants, temporairement connectés au système (donc synchronisés à la demande) pour la saisie de commande (PDA, caisses enregistreuses, …). Ce module POS est développé en client java swing, alors que le reste de l’application est bien entendu en web HTML conforme.
L’application existe depuis un certain nombre d’années (2001), bénéficie d’une comunauté de développeurs assez active, et de nombreux utilisateurs clients de prestige dans le monde. De plus, le projet a été très récemment rattaché à la fondation Apache en tant que projet TLP (Top Level Project). C’est un signe très clair de la qualité de l’architecture du projet et de son code. De plus, cette affiliation est pour moi fondamentale : elle signifie que ce produit est utilisable dans le cadre de projets clients (possibilité de vendre des modules complémentaires ou des produits s’appuyant sur l’outil).
J’ai donc mis mon nez dans le code du produit après avoir chargé sous Eclipse le dernier SVN. L’architecture projet est clair et propre. On trouve pas mal de documentation disponible sur le site, ainsi que des vidéos de formation (!). Je les aie visionnées le week-end dernier, elles offrent une bonne approche du sujet et valent la peine d’être vues.
Globalement, l’application m’apparaît plus comme un excellent framework que comme une application utilisable en clientèle out-of-the-box. En effet, tous les fondements techniques sont parfaitement intégrés de façon beaucoup plus clairs et propres que dans la plupart des progiciels propriétaires que je connaisse, par contre, l’interface utilisateur n’est pas très attrayante telle quelle. Elle est cependant facilement modifiable, notamment par un web-designer (HTML, CSS).
Quelques fondements techniques sont à la base de ce projet, et me paraissent assez sain dans le cadre d’une application de gestion. Le framework est centré sur
- le modèle de données (l’entity engine)
- le développement de services pour les règles métiers (accessibles par divers moyens techniques, asynchrones ou non, utilisation possible d’un moteur de workflow)
- l’utilisation de langages de templates au choix pour le frontal utilisateur
Tout cela n’est qu’un aperçu très bref du produit, et je vais désormais m’atteler à la rélisation d’une petite application de démonstration, avec interface Ajax.
Laisser un commentaire