4 novembre 2009
Depuis plusieurs années maintenant, nous intégrons à nos projets un moteur de règles métiers, le plus souvent associé à un gestionnaire de règles (ou BRMS pour Business Rules Management System). Nous avons recours, généralement, à la plateforme Drools du consortium JBoss.
Nous avons mis en œuvre cette plateforme dans des contextes métier aussi riches et variés que la gestion d’actifs, le CRM ou encore la vente de produits financiers.
Dans ce premier billet, nous verrons la souplesse qu’apporte l’utilisation d’un tel système dans une application d’entreprise; et, nous présenterons les principales fonctionnalités de Drools V5.
Pourquoi recourir à un moteur de règles ?
L’intégration d’un moteur de règles tel que Drools permet de :- externaliser les règles métiers du code de l’application
les règles métiers deviennent indépendantes de la génération du logiciel - centraliser les règles métiers dans un dépôt particulier
- exploitation par d’autres applications
- souplesse au niveau de l’administration
- appliquer à chaud un changement des règles métiers au sein de l’application
- conserver et ré-exploiter l’historique des règles métiers
- activer un jeu de règles en fonction de l’environnement (développement, recette, production, etc…)
- décrire les règles métiers sous une forme compréhensible par les personnes qui les exploitent
- proposer une interface utilisateur pour administrer les règles métiers
Avec une approche classique, le développeur écrit les règles métiers qui lui sont transmises par le business owner.
Approche classique
Avec un BRMS tel que Drools, c’est le business owner lui même qui écrit ses règles.

Approche avec Drools BRMS
Les principales fonctionnalités de Drools V5
La plateforme Drools V5 est constituée par 4 applications :
Moteur d'inférence Drools
Les principales fonctionnalités de Drools Expert sont transversales aux autres projets Drools :
- Domain Specific Langage – DSL (définition d’un langage dédié au métier)
- Tables de décision (écriture de règles métiers dans un tableur tel qu’Excel)
- Mode d’exécution stateless ou statefull
- Modification dynamique de la base de connaissance (production memory)
- Outil programmatique pour le monitoring des bases de connaissance et de l’espace d’exécution du moteur de règle
- Gestion de transactions et de la persistance JPA
- Plugin Drools pour Eclipse
- Support JMX
Bilan
La plateforme Drools est riche en fonctionnalités et apporte une flexibilité à chaque étape du cycle de vie d’une application d’entreprise. L’intégration de cette plateforme dans nos projets a toujours été un succès, et s’adapte à tous les contextes métiers. Pour preuve un grand nom de l’industrie, FedEx, met désormais en oeuvre Drools sur certains de ses projets.Liens
Page principale du projet : http://www.jboss.org/drools/Blog du projet : http://blog.athico.com/
Article sur l’utilisation de la plateforme par FedEx : http://blog.athico.com/2009/10/secret-sauce.html
7 commentaires
Ajouter votre commentaire