Traitement de prêts à l’aide de règles d’entreprise (exemple BizTalk Server)
L'exemple Traitement de prêts à l'aide de règles d'entreprise montre comment utiliser un ensemble de règles gérées à l'intérieur d'une orchestration, ainsi qu'une combinaison d'entrées appelées faits, pour calculer les paramètres de certains champs à l'intérieur d'un document en cours de traitement. Les faits peuvent être le résultat de l'appel d'un assembly basé sur .NET, les valeurs extraites du code XML du message ou les données extraites d'une base de données. L'exemple montre également comment modifier les règles à tout moment, qui affectent les calculs suivants sans nécessiter de redéploiement.
Fonctions de l'exemple
Cet exemple illustre ces fonctionnalités dans le contexte d’un scénario de traitement de prêt simplifié. BizTalk Server orchestration récupère et traite une demande de prêt, également appelée cas de prêt, au format de message XML. Cette orchestration utilise le Moteur de règles d'entreprises pour évaluer des messages entrants en fonction de règles, modifier certaines messages avec le résultat de l'application des règles, puis les écrire sous forme de fichiers dans un dossier de sortie.
Sur la base de faits provenant de plusieurs sources, y compris le message en cours de traitement, cet exemple définit les éléments IncomeStatus, CommitmentsStatus, EmploymentStatus et ResidencyStatus du message en cours de traitement.
Accès à l'exemple
<Chemin d’accès> des exemples\Règles d’entreprise\Traitement des prêts à l’aide de règles d’entreprise\
Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.
Fichier(s) | Description |
---|---|
Case.xsd | Fichier de schéma pour les demandes de prêt entrantes, également appelées cas de prêt. |
Cleanup.bat | Utilisé pour annuler le déploiement des assemblys et les supprimer du Global Assembly Cache (GAC). Supprime les ports d'envoi et de réception. Supprime les répertoires virtuels Microsoft Internet Information Services (IIS) le cas échéant. |
Create_CustInfo_Table.sql | Script SQL pour la création de la table CustInfo dans la base de données exemple SQL Northwind. |
LoanProcessorBinding.xml | Utilisé pour une configuration automatisée, telle que la liaison de port. |
LoansProcessor.btproj, LoansProcessor.sln | Fichiers de projet et de solution BizTalk pour cet exemple. |
My Sample Service.odx | BizTalk Server orchestration pour cet exemple. |
sampleLoan.xml | Exemple de fichier d'entrée, avec des valeurs vides pour les quatre éléments d'état à la fin de la structure XML dans le fichier. |
Setup.bat | Utilisé pour générer et initialiser cet exemple. |
Dans le dossier \CreateRules : App.ico, AssemblyInfo.cs, Case.xsd, CreateLoanProcessingPolicy.csproj, CreateLoanProcessingPolicy.sln, WriteToBRL.cs |
Project, solution, source et fichiers associés Visual C# utilisés pour créer l'application qui crée les règles par programme. Pour obtenir des exemples de création d'ensembles de règles par programme, consultez le fichier source WriteToBRL.cs. |
Dans le dossier \myFactRetriever : AssemblyInfo.cs FactRetrieverForLoansProcessing.cs myFactRetriever.csproj myFactRetriever.sln |
Project, solution, source et fichiers associés Visual C# utilisés pour créer un assembly permettant d'extraire des informations de la table CustInfo ajoutée précédemment à l'exemple de base de données SQL Server Northwind. |
Génération et initialisation de cet exemple
Vérifiez que vous disposez de la base de données Northwind sur votre ordinateur.
Important
Pour exécuter cet exemple, vous devez disposer de l’exemple de base de données Northwind SQL Server. Pour télécharger, accédez à Exemples de bases de données Northwind et pubs pour Microsoft SQL Server.
Dans une fenêtre de commande, accédez au dossier suivant :
<Chemin d’accès> des exemples\Règles d’entreprise\Traitement des prêts à l’aide de règles d’entreprise
Exécutez le fichier Setup.bat, qui effectue les actions suivantes :
nettoie le GAC pour éliminer les données résiduelles d'exécutions précédentes de cet exemple ;
compile et déploie le programme extracteur de faits, myFactRetreiever.dll ;
ajoute, à l'aide du fichier de script SQL Create_CustInfo_Table.sql, une table nommée CustInfo à la base de données SQL exemple Northwind ;
nettoie le magasin de règles SQL partagé pour éliminer les données résiduelles d'exécutions précédentes de cet exemple ;
crée, publie et déploie la dernière version (1.0) de l'ensemble de règles de traitement des prêts
Notes
Vous pouvez utiliser l’outil Compositeur de règles d’entreprise fourni avec BizTalk Server pour examiner les règles qui ont été définies par programmation.
crée les dossiers d'entrée (in) et de sortie (out) pour cet exemple ;
Compile et déploie les projets Visual Studio restants pour cet exemple, y compris le projet BizTalk qui contient l’orchestration que vous utilisez pour coordonner cet exemple.
Création et liaison de l'emplacement de réception de BizTalk Server, ainsi que des ports d'envoi et de réception.
Notes
Cet exemple affiche les avertissements suivants lors de la création et liaison des ports :
Warning: Receive handler not specified for receive location "LoansProcessor_1.0.0.0_LoansProcessor.My_Sample_Service_Incoming_ReceiveLocation"; updating with first receive handler with matching transport type.
Warning: Host not specified for orchestration "LoansProcessor.My_Sample_Service"; updating with first available host.
Vous pouvez ignorer ces avertissements sans problème. (Pour s'adapter aux éventuelles différences d'attribution de noms dans les installations utilisateur, le nom d'hôte et le gestionnaire de réception ont été omis dans le fichier de liaison.)
Active l'emplacement de réception, et démarre le port d'envoi.
inscrit et démarre l'orchestration.
Notes
- Si votre nom d'hôte BizTalk n'est pas BizTalkServerApplication, modifiez les fichiers Setup.bat et LoanProcessorBinding.xml de façon à ce qu'ils reflètent le nom d'hôte approprié.
- Avant d'essayer d'exécuter cet exemple, vous devez vous assurer que BizTalk Server n'a signalé aucune erreur lors du processus de création et d'initialisation.
- Si vous choisissez d’ouvrir et de générer les projets dans cet exemple sans exécuter le fichier Setup.bat, vous devez d’abord créer une paire de clés de nom fort à l’aide de l’utilitaire .NET Framework Strong Name (sn.exe). Celle-ci permet de signer les assemblys obtenus.
- Pour annuler les modifications effectuées par Setup.bat, exécutez Cleanup.bat. Vous devez exécuter Cleanup.bat avant d'exécuter Cleanup.bat une seconde fois.
Exécution de cet exemple
Pour exécuter l'exemple Traitement de prêts à l'aide de règles d'entreprise
Collez une copie du fichier sampleLoan.xml dans le dossier \In .
Observez le fichier .xml créé dans le dossier Out. Il contient le message XML d’entrée avec des données ajoutées aux quatre éléments status suivants à la fin de la structure XML : IncomeStatus, CommitmentsStatus, EmploymentStatus et ResidencyStatus.
L'outil Éditeur des règles d'entreprise permet de modifier les règles de l'ensemble de règles, puis de les redéployer.
Pour utiliser l'outil Éditeur des règles d'entreprise pour modifier une ou plusieurs règles d'un ensemble de règles
Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft BizTalk Server 20xx, puis cliquez sur Compositeur de règles d’entreprise.
Notes
Sur les systèmes qui prennent en charge le contrôle de compte d'utilisateur, vous devrez peut-être exécuter l'outil avec des privilèges d'administrateur. Pour ce faire, cliquez avec le bouton droit sur l’application, puis sélectionnez Exécuter en tant qu’administrateur.
Dans la boîte de dialogue SQL Server, cliquez sur OK pour vous connecter au magasin de règles.
Dans Stratégie Explorer, sous le nœud LoanProcessing, cliquez avec le bouton droit sur le nœud Version 1.0 – Déployé, puis cliquez sur Copier.
Cliquez avec le bouton droit sur LoanProcessing, puis cliquez sur Coller.
Modifiez une règle ou une action d’une manière qui entraîne des valeurs différentes pour les éléments IncomeStatus, CommitmentsStatus, EmploymentStatus et ResidencyStatus . Veillez également à modifier la valeur de la partie de négation (essentiellement, la clause Else ) de toute règle que vous choisissez de modifier.
Le tableau suivant présente l'ensemble de règles utilisées par cet exemple. Sauf mention contraire, les faits proviennent du message XML entrant. La chaîne (db) indique une base de données comme source d'un fait.
Numéro de règle Nom de la règle Description 1 Règle d'état de revenu IF BasicSalary + OtherIncome> 0
THEN IncomeStatus = Valide2 Règle d'état d'engagements ID IF == (db)
AND
SI CreditCardBalance (db)> 500
THEN CommitmentsStatus =
« Calculer engagements »3 Employment Status Rule IF EmploymentType | TimeInMonths> 18
THEN EmploymentStatus = Valid4 Residency Status Rule IF PlaceOfResidence | TimeInMonths> 18
THEN ResidencyStatus = Valid!1, !2, !3, !4 Règles de négation Conditions qui sont une logique NOT de la condition correspondante décrite dans les règles 1 à 4. Les actions qui en résultent sont une modification de la chaîne définie. Cliquez avec le bouton droit sur le nœud Version 1.1 (non enregistrée), puis cliquez sur Enregistrer.
Cliquez avec le bouton droit sur le nœud Version 1.1 , puis cliquez sur Publier.
Cliquez avec le bouton droit sur le nœud Version 1.1 , puis cliquez sur Déployer.
Patientez 60 secondes, le temps que les modifications se propagent au magasin de règles SQL Server partagé.
Collez une copie du fichier sampleLoan.xml dans le dossier In.
Observez le fichier .xml créé dans le dossier Out. Il contient le message XML d’entrée avec des données ajoutées aux quatre éléments status suivants à la fin de la structure XML : IncomeStatus, CommitmentsStatus, EmploymentStatus et ResidencyStatus. Les données ajoutées à ces éléments diffèrent ou non de l'exécution précédente, en fonction de la nature des modifications apportées à l'étape 5 de cette procédure.
Commentaires
Si vous voulez afficher les informations de suivi pour cet exemple, vous devez annuler le déploiement, puis redéployer l'ensemble de règles approprié (Traitement de prêts) à l'aide de l'Assistant Déploiement du moteur de règles d'entreprise.
Cet exemple montre comment utiliser des règles d'entreprise pour appliquer des stratégies commerciales sous la forme de règles au sein d'une orchestration. Elle montre également comment modifier les stratégies et faire en sorte que cette modification se reflète de façon dynamique dans l'orchestration sans devoir recompiler ni redéployer la solution d'orchestration.
Les cas de prêt entrés pour cet exemple sont des messages XML qui présentent la structure suivante :
Name
ID
Income
BasicSalary
OtherIncome
EmploymentType
TimeInMonths
PlaceOfResidence
TimeInMonths
CommitmentsStatus
IncomeStatus
EmploymentStatus
ResidencyStatus