Partager via


Architecture de l'infrastructure des règles d'entreprise

L'illustration suivante représente l'architecture des composants de l'infrastructure des règles d'entreprise.

Architecture du composant Business Rules Framework
Architecture de l'infrastructure des règles d'entreprise Microsoft

Les paragraphes suivants décrivent certains des composants de l'infrastructure.

Classe de stratégie

Un objet Policy est un instance unique d’une stratégie métier et fournit l’interface utilisée par les applications basées sur des règles. Il fournit une abstraction qui libère le développeur d'applications des problèmes d'emplacement du magasin de règles, en extrayant des ensembles de règles du magasin, en instanciant des instances du moteur de règles sous-jacent et en s'assurant que les faits à long terme sont déclarés dans le moteur. Dans de nombreux scénarios, une application basée sur des règles utilise des instances simultanées de l’objet Policy . Ces instances simultanées peuvent représenter la même stratégie, des versions différentes de la même stratégie ou des versions différentes de stratégies différentes.

Classe RuleEngine

L’objet RuleEngine sert de moteur d’exécution pour les stratégies métier. Pour l'implémentation, il utilise trois composants plug-in (analyseur, convertisseur, moteur d'inférence et intercepteur de suivi). Un objet RuleEngine prend un objet RuleSet représentant une stratégie métier comme entrée et utilise le traducteur, le moteur d’inférence et l’intercepteur de suivi configurés pour l’ensemble de règles afin d’implémenter la stratégie métier définie par l’ensemble de règles.

Récupérateur de faits

Un extracteur de faits est un composant plug-in optionnel, défini par l'utilisateur, qui est responsable de la collecte des faits à long terme qui seront utilisés avec des stratégies d'entreprise. Pour plus d’informations, consultez Comment créer un récupérateur de faits.

Avant l’exécution, un objet Policy instance fournit son instance RuleEngine au récupérateur de faits, ce qui lui donne la possibilité de mettre à jour l’ensemble de faits dans la mémoire de travail du moteur de règles. Pour plus d’informations, consultez Faits à court terme et faits Long-Term.

Service de mise à jour du moteur des règles

Le service de mise à jour du moteur des règles fournit des mises à jour de stratégies d'entreprise dynamiques dans un environnement distribué. Une application de service Microsoft Windows NT à démarrage automatique se charge de l'abonnement aux événements de déploiement et d'annulation de déploiement de stratégies qui se produisent lorsque des stratégies d'entreprise sont modifiées.

Dans un scénario d'entreprise classique, les stratégies d'entreprise sont déployées une fois qu'elles ont été mises à jour, testées et classées en versions. Le déploiement consiste à ajouter la stratégie mise à jour à un magasin de règles sécurisé et persistant, et, éventuellement, à exécuter la logique sur le magasin pour publier auprès de toutes les parties intéressées des informations sur la stratégie mise à jour (notez que seules les informations relatives à la stratégie sont publiées, pas la stratégie proprement dite).

Le service de mise à jour du moteur des règles, qui s'exécute sur un serveur hébergeant les applications basées sur des règles, reçoit la notification de mise à jour de la stratégie et met en cache les informations pour une utilisation ultérieure. L'utilisation d'un modèle de publication-abonnement pour les mises à jour de stratégies vous permet de modifier quasiment en temps réel des stratégies d'entreprise, sans temps d'arrêt de service ou interruption.

Outils de création de stratégies/vocabulaires

Le compositeur de règles d’entreprise dans Microsoft BizTalk Server fournit des fonctionnalités de création de stratégies et de vocabulaire aux utilisateurs finaux et aux développeurs.

Magasin de règles

Un magasin de règles est un référentiel pour les stratégies et les vocabulaires métier. Le référentiel peut être un simple fichier ou une base de données sécurisée, évolutive, persistante et fiable, telle que Microsoft SQL Server. (SQL Server est le magasin de règles par défaut de l'infrastructure).

Mise en cache

L’infrastructure du moteur de règles d’entreprise fournit un mécanisme de mise en cache pour les instances RuleEngine . Chaque instance RuleEngine contient une représentation en mémoire d’une version de stratégie spécifique.

Les étapes suivantes décrivent le processus lorsqu’une nouvelle instance de stratégie est instanciée (avec un appel sur l’API ou l’exécution de la forme Règles d’appel) :

  1. L’objet Policy demande une instance RuleEngine à partir du cache du moteur de règles.

  2. Si un instance RuleEngine pour la version de stratégie existe dans le cache, le instance RuleEngine est retourné à l’objet Policy. Si un instance RuleEngine n’est pas disponible, le cache crée un instance. Lorsqu’un instance RuleEngine est instancié, il crée à son tour un nouveau récupérateur de faits instance s’il est configuré pour la version de la stratégie.

    Lorsque la méthode Execute est appelée sur l’objet Policy , les étapes suivantes se produisent :

  3. L’objet Policy appelle la méthode UpdateFactssur le récupérateur de faits instance s’il existe un récupérateur de faits. L’implémentation de la méthode par le récupérateur de faits peut affirmer des faits à long terme dans la mémoire de travail de RuleEngine.

  4. L’objet Policy affirme les faits à court terme contenus dans le tableau qui a été passé dans l’appel Execute.

  5. L’objet Policy appelle Execute sur ruleEngine.

  6. RuleEngine termine l’exécution et retourne le contrôle à l’objet Policy.

  7. L’objet Policyretire les faits à court terme de RuleEngine. Les faits à long terme déclarés par l'extracteur de faits demeurent quant à eux dans la mémoire de travail du moteur des règles.

    Une fois la méthode Dispose appelée sur l’objet Policy, le instance RuleEngine est remis dans le cache du moteur de règles.

    Le cache du moteur de règles possédera donc plusieurs instances du moteur de règles pour une version de stratégie donnée si la charge le requiert et si chaque instance du moteur possède sa propre instance de l'extracteur de faits.

Voir aussi

Moteur des règles d’entreprise