MRules et Systèmes Experts

Une recherche rapide montrera que quelques produits du marché similaires à MRules existent déjà. Des questions se posent alors : Quelle est la différence entre ces produits et MRules ? Quels sont les avantages et les inconvénients ? Pourquoi intégrer plus un produit qu’un autre à mon SI ?

Tout d’abord, la majorité des autres produits sont basés sur l’algorithme RETE. Sans vouloir entrer ici dans les détails, RETE est un algorithme destiné à résoudre rapidement des problèmes complexes. On parle de systèmes experts. RETE a cependant l’inconvénient d’être complexe à configurer, très gourmant en ressources mémoire et de ne pas avoir la même souplesse ou niveau des actions à effectuer et des personnalisations possibles (i.e. Addons personnalisés).

MRules a pris le parti de ne pas intégrer d’implémentation de RETE, tout du moins dans les versions 1 et 2. Pourquoi ? Car RETE n’est pas la réponse dans un grand nombre de cas, par exemple dans celui cité dans la page « Quand utiliser MRules ».

MRules se veut simple à configurer, en ne nécessitant que des compétences techniques très limitées tout en se voulant performant sur les systèmes simples et moyennement complexes.

Les différents projets de démonstration disponibles exposent des exemples de cas concrets. Ils démontrent que pour ces cas, plusieurs centaines voire milliers d’exécutions par secondes est un prérequis de performances tenable, y compris sur un ordinateur de développement.

L’algorithme RETE et les implémentations de systèmes experts n’apporteraient pas d’améliorations notables de performances dans ces cas, ou même les dégraderaient en pré-calculs.

MRules est une réponse appropriée pour tous les systèmes où des règles métiers standards doivent être mises en place et sont amenées à évoluer.