Intégration

Pour utiliser MRules au sein d’une application, quelques étapes nécessaires doivent être respectées.

Intégrer les binaires

Les binaires de MRules peuvent s’intégrer de plusieurs façons :

  • Grâce à un gestionnaire de dépendances, en utilisant la dépendance décrite dans la page de téléchargements. La présence d’un BOM (Bill Of Materials) facilite la gestion des versions des modules.
  • En téléchargeant directement le jar et en l’intégrant au CLASS_PATH.

Un fichier de licence valide doit également être  accessible via le CLASS_PATH.

Écrire les règles

L’écriture des règles se fait via un fichier de configuration. Ce fichier sera ensuite lu par le moteur, via une fabrique. Bien qu’il soit possible d’utiliser les API publiques exposées par les composants de MRules, cette technique est déconseillée car peu évolutive.

Selon la fabrique utilisée, une syntaxe spécifique doit être adoptée. Cette section décrit l’écriture des règles pour les deux fabriques actuellement disponibles :

L’écriture des règles nécessite dans tous les cas une bonne maîtrise :

  • Des besoins fonctionnels
  • Du modèle de données (i.e. de la structure des Objets d’entrée / sortie)
  • De la syntaxe spécifique à la fabrique

Exécuter le moteur

L’exécution en elle-même du moteur de règles passe par l’intégration à l’application de code Java, permettant la compilation et l’optimisation  des règles puis l’exécution du moteur.

Les trois phases (compilation, optimisation et exécution) sont bien distinctes.

La première et la deuxième peuvent n’être effectuées qu’une et une seule fois tant que la configuration n’est pas modifiée. leur résultat est une instance du moteur de règles, pouvant être utilisée simultanément et de façon concurrente par plusieurs processus. Des utilitaires sont fournis pour gérer de façon centralisée les instances et détecter automatiquement les modifications de configuration.

La troisième phase est, elle, mise en œuvre à chaque fois que les règles doivent être exécutées. L’application devra alors :

  • Récupérer l’instance voulue du moteur de règles.
  • Construire les données d’entrée du moteur (sous la forme d’Objets Java).
  • Lancer l’exécution sur ces Objets.
  • Récupérer et traiter les résultats.

Plus de détails sont disponibles dans la section dédiée au cycle de vie.