Delen via


Regels maken met behulp van Microsoft Rules Composer (preview)

Van toepassing op: Azure Logic Apps (Standard)

Belangrijk

Deze mogelijkheid is in preview en is onderworpen aan de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.

Regels bepalen de bedrijfslogica voor de werking van bedrijfsprocessen. Om u te helpen deze regels te maken voor gebruik met uw Azure Logic Apps Rules Engine-project, biedt het Microsoft Rules Composer een visueel hulpprogramma voor het ontwerpen en versiebeheer van regelsets en woordenlijsten.

Deze handleiding biedt een overzicht van hoe regels werken en hoe u een regel maakt met behulp van Microsoft Rules Composer.

Vereisten

  • Download en installeer de Microsoft Rules Composer.

  • Als u een bestaande regelset hebt waaraan u wilt werken, hebt u het XML-bestand nodig dat die regelset bevat. Anders ziet u in deze handleiding hoe u een nieuwe regelset maakt, die u opslaat als een XML-bestand.

    Belangrijk

    Als uw bestaande XML-bestand afhankelijk is van .NET-assembly's of als de assembly's die u gebruikt om feiten toe te voegen, andere afhankelijkheden hebben, moet u ervoor zorgen dat al deze bestanden zich in dezelfde map en in een map lokaal in de Microsoft Rules Composer bevinden.

Wat is een regel?

Een regel is een declaratieve instructie die een voorwaarde en acties bevat waarin de voorwaarde wordt geëvalueerd. Als het resultaat waar is, voert de regelengine een of meer acties uit. De volgende indeling definieert de syntaxis voor regels in de Azure Logic Apps-regelengine:

ALS <voorwaarde> DAN <, actie>

De volgende voorbeeldregel bepaalt of een transactie moet worden uitgevoerd en bedrijfslogica wordt toegepast door twee monetaire waarden te vergelijken met gegevens of feiten, die de vorm van een transactiebedrag en korting gebruiken:

ALS het gekochte bedrag groter is dan het aantal, geef dan een extra korting aan de klant

  • Voorwaarde: Een booleaanse expressie waar of onwaar die een of meer predicaten bevat die worden toegepast op feiten. Een predicaat is een component met een werkwoord en geeft iets over het onderwerp aan. In ons voorbeeld is het predicaat groter dan van toepassing is op het aangeschafte feitbedrag. Deze voorwaarde resulteert altijd in waar of onwaar. U kunt predicaten combineren met de logische operators AND, OR en NIET om een potentieel lange logische expressie te vormen, maar resulteert altijd in waar of onwaar.

  • Actie: Een actie is een functioneel gevolg van de evaluatie van de voorwaarde. Als aan een regelvoorwaarde wordt voldaan, worden een bijbehorende actie of acties gestart. Geef in ons voorbeeld een extra korting op is een actie die alleen plaatsvindt wanneer aan de voorwaarde wordt voldaan. Dit is ALS het gekochte bedrag groter is dan $ 1.000. Acties worden weergegeven in de Regelengine van Azure Logic Apps door methoden aan te roepen, eigenschappen voor objecten in te stellen of setbewerkingen uit te voeren op XML-documenten.

  • Feit: Een feit is een discreet stukje informatie over de wereld waarop regels werken. In ons voorbeeld zijn hoeveelheid en hoeveelheid feiten. Feiten kunnen afkomstig zijn van veel bronnen, zoals gebeurtenissystemen, objecten in hybride toepassingen, enzovoort, en moeten worden ingevoerd in de regelengine in Azure Logic Apps met behulp van een van de volgende elementen:

    • .NET-objecten, zoals methoden, eigenschappen en velden.
    • XML-documenten, zoals elementen, kenmerken en documentsubsecties.
  • Woordenlijst: een beschrijvende naam voor feiten die worden gebruikt in voorwaarden en acties. Zie Woordenlijsten maken en beheren voor meer informatie.

In het volgende diagram en de volgende secties worden beschreven hoe voorwaarden, acties en feiten bij elkaar passen:

Conceptueel diagram toont de Microsoft-regelengine.

Microsoft Rules Composer

U kunt de Microsoft Rules Composer gebruiken om regels te maken, wijzigen, versieeren en opslaan. U kunt deze taken ook programmatisch uitvoeren. De Rules Composer bevat de volgende elementen van de gebruikersinterface:

Venster Beschrijving
RuleSet Explorer Regelsets maken die een of meer regels bevatten.
Voorwaardeneditor Bouw een voorwaarde voor een regel.
Editor voor acties Bouw acties die worden uitgevoerd wanneer de voorwaarde waar wordt geëvalueerd.
Feitenverkenner Blader naar XML- en .NET-feiten en sleep deze feiten naar de voorwaardeneditor of actie-editor.

Conceptueel diagram toont de Microsoft Rules Composer.

Een regelset maken en beheren

Een regelset is een set regels die u groepeert op basis van domein, gebonden context of een bedrijfsgrens. Als u regelsets en regels in het regelarchief wilt beheren, gebruikt u RuleSet Explorer. U kunt regelsets en de bijbehorende regels maken, wijzigen, testen of verwijderen.

  1. Open het menu Regelarchief in Microsoft Rules Composer en selecteer Laden.

  2. Zoek en selecteer het XML-bestand dat het regelarchief bevat dat u wilt openen.

  3. Open in het venster RuleSet Explorer het snelmenu RuleSets en selecteer Nieuwe regelset toevoegen.

    De Microsoft Rules Composer maakt een nieuwe lege regelset met een regelset-versie genummerd 1.0 als de standaardversie.

  4. Sla de regelset op. Selecteer Opslaan in het menu Regelarchief, waarmee een XML-bestand voor de regelset wordt gemaakt.

In de volgende tabel worden andere RuleSet Explorer-opdrachten beschreven die u kunt gebruiken om met regelsets te werken:

Opdracht Opdracht
Maak een nieuwe regelset. Nieuwe regelset toevoegen
Maak een nieuwe lege versie van de geselecteerde regelset. U kunt regels uit andere versies kopiëren en in de nieuwe versie plakken. Nieuwe versie toevoegen
Kopieer de geselecteerde versie van de regelset naar het klembord. kopie
Plak een regelsetversie en de inhoud ervan in een geselecteerde regelset. Plakken
De geselecteerde versie van de regelset verwijderen. Verwijderen
Verwijder de geselecteerde regelset en alle bijbehorende versies. Verwijderen op het niveau van de bovenliggende regelset
Laad de geselecteerde versie van de regelset en de bijbehorende regels opnieuw met de optie om eventuele huidige wijzigingen in die versie te negeren en de inhoud van het regelarchief te herstellen. Herladen
Sla alle wijzigingen op die zijn aangebracht in de geselecteerde versie en de bijbehorende regels. Opslaan
Test de geselecteerde versie van de regelset voordat u het project met de regelengine gebruikt. Testregelset

In de volgende tabel worden de eigenschappen van een regelsetversie beschreven:

Eigenschappen Waarde
Naam De naam voor de regelset.

Opmerking: u kunt deze waarde alleen wijzigen door de eigenschap Naam van de regelset bij te werken, niet de versie van de regelset.
Huidige versie De versie van de regelset die momenteel is geselecteerd in RuleSet Explorer.
Fact Retriever De fact retriever die moet worden gebruikt voor het leveren van feiten aan de regelsetversie.

De Microsoft Rules Composer biedt ondersteuning voor het bouwen van mogelijkheden en het gebruik van een fact retriever om feiten op te geven. Zie de volgende documentatie voor meer informatie:

- Geavanceerde taken uitvoeren op regelsets
- Feitenmakers en -retrievers bouwen
Maximale diepte van uitvoeringslus De maximale diepte van het algoritme voor het doorsturen van ketens voordat er een uitzondering voor de uitvoeringslus wordt gegenereerd.

Het standaardaantal loops is 65.536.
Vertaalduur De maximale tijd die nodig is om de regels te vertalen voordat er een time-outuitzondering voor een vertaling optreedt.

De standaardduur is 60.000 milliseconden.
Translator De vertaler die moet worden gebruikt voor het vertalen van de regels.

Microsoft Rules Composer ondersteunt momenteel alleen de standaard ingebouwde vertaler, maar biedt ook ondersteuning voor uitbreidbaarheid om meer vertalers toe te voegen.
Versiebeschrijving De beschrijving van de huidige versie.

Zie Geavanceerde taken uitvoeren voor regelsets voor meer informatie over het werken met regelsets.

Een regel maken en beheren

  1. Selecteer Laden in het menu Regelarchief in het menu Microsoft Rules Composer.

  2. Zoek en selecteer het XML-bestand met het regelarchief waaraan u wilt werken.

  3. Zoek in het venster RuleSet Explorer de versie van de regelset waar u een regel wilt toevoegen.

  4. Open het snelmenu voor de versie van de regelset en selecteer Nieuwe regel toevoegen.

    De regelseditor wordt geopend, zodat u uw voorwaarden en acties kunt toevoegen.

In de volgende lijst worden de manieren beschreven waarop u een regel kunt wijzigen:

  • Maak een nieuwe versie van de regelset.

  • Bewerk rechtstreeks een bestaande regelsetversie. U kunt afzonderlijke regels wijzigen, nieuwe regels toevoegen of bestaande regels verwijderen.

In de volgende tabel worden alle sneltoetsopdrachten van RuleSet Explorer beschreven die u kunt gebruiken om met regels te werken:

Opdracht Snelkoppelingsopdracht
Maak een nieuwe regel in de geselecteerde regelsetversie. Nieuwe regel toevoegen
Kopieer de geselecteerde regel naar het klembord. kopie
Kopieer de geselecteerde regel naar het klembord en verwijder de regel. Snijden
Plak een regel in de geselecteerde regelsetversie. Plakken
De geselecteerde regel verwijderen. Verwijderen

In de volgende tabel worden de eigenschappen voor een regel beschreven:

Eigenschappen Waarde
Naam De naam van de regel.
Actief Geeft aan of de regel is ingeschakeld of uitgeschakeld.
Prioriteit De prioriteit voor de regel in de regelset. Hoe hoger de index, hoe hoger de regelprioriteit. De acties voor een regel met een hogere prioriteit worden eerst uitgevoerd.

De standaardwaarde is 0 en vertegenwoordigt de middelste prioriteit. U kunt de waarde positief of negatief maken. Zie Optimalisatie van regelengine voor meer informatie.

Een regel uitschakelen of inschakelen

U kunt een regel instellen op inactief, zodat de regel niet wordt uitgevoerd wanneer de regelset wordt uitgevoerd, of u kunt een regel die is gedeactiveerd opnieuw activeren.

  1. Selecteer de regel in RuleSet Explorer.

  2. Stel in het venster Eigenschappen de eigenschap Actief in op een van de volgende waarden:

    • Onwaar: uitgeschakeld
    • Waar: ingeschakeld

Regelprioriteit instellen

U kunt de prioriteit voor een regel instellen, zodat acties worden uitgevoerd vóór of na de acties van een andere regel met een andere prioriteit. Prioriteiten zijn relatief, dus alle acties in een regel met een specifieke prioriteit worden uitgevoerd op volgorde voordat acties in een regel met een lagere prioriteitswaarde.

  1. Selecteer de regel in RuleSet Explorer.

  2. Stel in het venster Eigenschappen Prioriteit in op de gewenste waarde voor het gehele getal.

Een voorwaarde maken of bewerken

Als u een voorwaarde wilt maken, bewerken of weergeven waarmee een regel wordt geactiveerd, gebruikt u de voorwaardeneditor, die deel uitmaakt van de regelseditor. Als u een voorwaarde wilt maken, kunt u de volgende taken uitvoeren:

  • Voeg ingebouwde of door de gebruiker gedefinieerde predicaten toe, indien van toepassing.

  • Definieer argumenten in predicaten door items uit het venster Feitenverkenner te slepen.

  • Voer inline argumentwaarden in door een argumentkoppeling te selecteren.

  • Predicaten en logische operators binnen een voorwaarde verplaatsen.

    Notitie

    De volgorde waarin de predicaten en logische operators worden weergegeven, bepalen niet de volgorde van de evaluatie.

  • Verwijder predicaten en logische operators uit een voorwaarde.

Een predicaat toevoegen aan een voorwaarde

  1. Selecteer de regel in RuleSet Explorer.

  2. Open in het VENSTER ALS , dat de voorwaardeneditor is, het snelmenu Voorwaarden en kies een van de volgende opties:

    • Selecteer een logische operator. Voeg in het snelmenu van de operator de predicaten of geneste logische operators toe die u wilt evalueren.

      Zie Rekenkundige en logische operators toevoegen aan regels voor meer informatie over het instellen van logische operators

    • Selecteer in het snelmenu Predicaten een ingebouwd predicaat of door de gebruiker gedefinieerd predicaat, indien aanwezig.

    In de volgende tabellen worden de beschikbare predicaatexpressies beschreven die u kunt selecteren in de snelmenu's predicaten :

    Ingebouwd predicaat Beschrijving
    Na Het tijdelijke predicaat dat de vraag beantwoordt: "Is time1 chronologisch na tijd2?"
    Voor Het tijdelijke predicaat dat de vraag beantwoordt: "Is time1 chronologisch vóór tijd2?"
    Tussen Het tijdelijke predicaat dat de vraag beantwoordt: "Is tijd1 chronologisch tussen tijd2 en tijd3?"
    Gelijk aan De relationele gelijkheidsoperator.
    Exists Het bestaanspredicaat dat de vraag beantwoordt: 'Bestaat het opgegeven XML-element of -kenmerk?'
    GreaterThan De relationele groter dan de operator.
    GreaterThanequal De relationele waarde groter dan of gelijk aan de operator.
    LessThan De relationele waarde kleiner dan de operator.
    LessThanequal De relationele waarde kleiner dan of gelijk aan de operator.
    Lucifer Bepaal of er een reguliere expressie bestaat in een opgegeven invoertekenreeks.
    NotEqual De relationele ongelijkheidsoperator.
    Bereik Bepaal of een waarde binnen een bereik bestaat.

Een argument opgeven voor een predicaat in een voorwaarde

Volg deze stappen, die hetzelfde zijn voor een functie in een actie.

Een logische operator of predicaat in een voorwaarde verplaatsen

Voer in de voorwaardeneditor een van de volgende stappen uit:

  • Sleep de logische operator of het predicaat naar een andere logische operator of naar het knooppunt Voorwaarden .

  • Open het snelmenu voor de logische operator of het predicaat en selecteer Omhoog of Omlaag om het item één positie of niveau te verplaatsen.

Een actie maken of bewerken

Als u een actie wilt maken, bewerken of weergeven die wordt uitgevoerd wanneer aan een voorwaarde wordt voldaan, gebruikt u de actie-editor, die deel uitmaakt van de regelseditor. Als u een actie wilt maken, kunt u de volgende taken uitvoeren:

  • Ingebouwde of door de gebruiker gedefinieerde functies toevoegen, indien van toepassing.
  • Definieer argumenten in functies door items uit het venster Feitenverkenner te slepen.
  • Voer inline argumentwaarden in door een argumentkoppeling te selecteren.
  • Functies binnen een actie verplaatsen.

Een functie toevoegen

  1. Selecteer de regel in RuleSet Explorer.

  2. Open in het venster THEN , de editor voor acties, het snelmenu Acties en selecteer een ingebouwde functie om een actie en argument toe te voegen.

    In de volgende tabel worden de beschikbare functies beschreven die u kunt selecteren in het snelmenu Acties :

    Functie Beschrijving
    Assert Voeg een nieuw feit toe aan het werkgeheugen van het exemplaar van de regelengine.
    Duidelijk Stel het werkgeheugen en de agenda van het exemplaar van de regelengine opnieuw in. Zie Optimalisatie van regelengine voor meer informatie over het werkgeheugen en de agenda.
    Stoppen Regelverwerking beëindigen.
    Intrekken Verwijder een feit uit het werkgeheugen van het exemplaar van de regelengine.
    RetractByType Verwijder een feit met het opgegeven type uit het werkgeheugen van het exemplaar van de regelengine.
    Bijwerken Werk een feit bij in het werkgeheugen van het exemplaar van de regelengine.

Zie Regels optimaliseren met besturingsfuncties voor meer informatie.

Een argument opgeven voor een functie in een actie

Volg deze stappen, die hetzelfde zijn voor een predicaat in een voorwaarde.

Een functie in een actie verplaatsen

De acties in een regel worden uitgevoerd op basis van de opgegeven volgorde, met uitzondering van de regelenginefuncties die de volgende acties uitvoeren.

  • Open in de actie-editor het snelmenu van de actie en selecteer omhoog of omlaag om de actie één positie of niveau te verplaatsen.

Een argument opgeven voor een predicaat in een voorwaarde of een functie in een actie

Voer in de voorwaardeneditor of actie-editor een van de volgende stappen uit:

  • Selecteer in het predicaat of de functie het standaardargument en voer de gewenste waarde in of selecteer deze in een lijst, indien van toepassing.

  • Selecteer in het venster Feitenverkenner het tabblad met de term die u als argument wilt gebruiken en sleep die term naar het argument in het predicaat of de functie in de desbetreffende editor.

    De term moet een type hebben dat het predicaat of de functie verwacht. Anders krijgt u een foutmelding.

  • Als u een argument wilt vervangen door een lege tekenreekswaarde, opent u het snelmenu van het argument en selecteert u Instellen op lege tekenreeks.

  • Als u een argument wilt vervangen door een definitie van een null-constante, opent u het snelmenu van het argument en selecteert u Instellen op null.

    Notitie

    Deze optie wordt mogelijk niet weergegeven als uw argumenttype geen type is dat u kunt instellen op null.

  • Zie Rekenkundige en logische operatoren toevoegen aan regels om een rekenkundige of logische operator toe te voegen aan een argument.

Itembron zoeken in een voorwaarde of actie

Voer in de voorwaarden- of actieseditor een van de volgende stappen uit:

  • Als u de woordenlijstdefinitie wilt vinden in feitenverkenner die u hebt gebruikt om een predicaat te maken in een voorwaarde, een functie in een actie of een argument in een van beide, opent u het snelmenu voor het predicaat, de functie of het argument en selecteert u Ga naar vocabulaire.

  • Als u een .NET-lid of XML-element wilt zoeken in feitenverkenner die u hebt gebruikt om een predicaat te maken in een voorwaarde, een functie in een actie of argument in een van beide, opent u het snelmenu voor het predicaat, de functie of het argument en selecteert u Ga naar bronfeit.

Een predicaat, logische operator of actie verwijderen

Voer in de voorwaardeneditor een van de volgende stappen uit:

  • Selecteer het item en druk op Delete.

  • Selecteer het item, zoals een predicaat, logische operator of actie, en selecteer Itemtype> verwijderen.<

  • Als u een argument plus geneste argumenten wilt verwijderen en de standaarddefinitie wilt herstellen, opent u het snelmenu van het argument en selecteert u Het argument Opnieuw instellen.

Feiten toevoegen aan uw regels

U kunt gegevensbronverwijzingen opgeven die u kunt opslaan in uw regelarchief voor later gebruik als feiten in uw regels en woordenlijsten. U kunt .NET-assembly's opgeven met klassen en klasseleden of XSD-schema's met XML-documentelementen en -kenmerken.

  1. Als u wilt bladeren door gegevens die u al hebt toegevoegd vanuit een .NET-assembly, XSD-schema of als woordenlijstdefinities, selecteert u in het venster Feitenverkenner het tabblad Woordenlijsten, het tabblad XML-schema's of het tabblad .NET-klassen op basis van de gewenste gegevens.

  2. Sleep de gegevens van het bijbehorende tabblad naar de gewenste positie in een voorwaarde in de voorwaardeneditor of in een actie in de actieseditor.

Een .NET-assembly toevoegen als gegevensbron voor .NET-feiten

  1. Selecteer in het venster Feitenverkenner het tabblad .NET-klassen .

  2. Open het snelmenu voor het knooppunt .NET-assembly's en selecteer Bladeren.

  3. Zoek en open de .NET-assembly die u wilt gebruiken.

    Onder .NET-assembly's wordt de geselecteerde assembly samen met de klassen en leden weergegeven, bijvoorbeeld:

    Schermopname van Microsoft Rules Composer met feitenverkenner, klassen en klasleden.

Belangrijk

Als u de .NET-assembly in de lokale map bijwerkt, vernieuwt Microsoft Rules Composer de .NET-assembly niet automatisch. Zie .NET-assemblyverwijzingen bijwerken voor de stappen voor het vernieuwen van verwijzingen naar een bijgewerkte assembly.

.NET-assemblyverwijzingen bijwerken

  • Als u een nieuwe .NET-assembly toevoegt met een andere naam of versie, moet u de regelset bijwerken om te verwijzen naar de nieuwe assembly. Voor deze taak moet u in Microsoft Rules Composer een nieuwe versie van de regelset maken en de verwijzingen naar de nieuwe assembly bijwerken, inclusief de klassen, methoden enzovoort. Als u de bijgewerkte assembly wilt laden, moet u de Microsoft Rules Composer opnieuw starten.

  • Als uw bijgewerkte .NET-assembly dezelfde naam, versienummer enzovoort gebruikt, hoeft u alleen de nieuwe assembly toe te voegen aan uw Azure Logic Apps Rules Engine-functieproject.

Een .NET-assembly verwijderen als gegevensbron

  1. Selecteer in het venster Feitenverkenner het tabblad .NET-klassen .

  2. Open onder .NET Assembly's het snelmenu van de assembly en selecteer Verwijderen.

Een XML-schema toevoegen als gegevensbron voor XML-feiten

  1. Selecteer in het venster Feitenverkenner het tabblad XML-schema's .

  2. Open het snelmenu voor het knooppunt Schema's en selecteer Bladeren.

  3. Zoek en selecteer in het vak Schemabestanden het XML-schemabestand (.xsd) en selecteer Openen.

    Onder Schema's wordt het XML-schema samen met de XML-elementen weergegeven, bijvoorbeeld:

    Schermopname van de elementen Microsoft Rules Composer, Facts Explorer en XML.

Bindingen voor XML-elementen die worden gebruikt in argumenten

In het Business Rules Framework is de klasse TypedXmlDocument een Microsoft. Net-compatibele klassebibliotheek die het XML-documenttype vertegenwoordigt en een van de klassen is die de ITypedFact-interface implementeert. Deze klassen worden getypte feiten genoemd.

Wanneer u een knooppunt uit een XML-document als argument in een regel gebruikt, worden er twee XPath-expressies gemaakt: een selectorbinding en een veldbinding, op basis van het knooppunt dat u wilt gebruiken:

  • Als het knooppunt onderliggende knooppunten bevat, wordt er een selectorbinding, ook wel een XmlDocument-binding genoemd, gemaakt voor het knooppunt, maar er wordt geen veldbinding gemaakt.

  • Als het knooppunt geen onderliggende knooppunten heeft, wordt er een selectorbinding, ook wel een XmlDocument-binding genoemd, gemaakt naar het bovenliggende knooppunt van het knooppunt. Een veldbinding, ook wel een XmlDocumentMember-binding genoemd, wordt gemaakt op het knooppunt zelf. Deze veldbinding is relatief ten opzichte van de selectorbinding.

Voordat u een XML-knooppunt naar een regelargument sleept, kunt u de standaard XPath-expressies voor de XML-knooppunten wijzigen en wordt de nieuwe bindingsinformatie in de regelset geplaatst.

Notitie

Wanneer het schema opnieuw wordt geladen in Microsoft Rules Composer, moet u wijzigingen die u hebt aangebracht in de XPath-expressies in De Microsoft Rules Composer opnieuw uitvoeren.

Stel dat u het volgende XML-schema hebt:

Schermopname van de Microsoft Rules Composer, Facts Explorer, XML-elementen en de bijbehorende kenmerken.

  • Als u het knooppunt Inkomsten in een argument gebruikt, wordt alleen een selectorbinding gemaakt omdat het knooppunt onderliggende knooppunten bevat.

    In het venster Eigenschappen bevat de XPath Selector-eigenschap van het knooppunt de volgende standaard XPath-expressie:

    /*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']/*[local-name()='Income' and namespace-uri()='']
    
  • Als u het naamknooppunt in een argument gebruikt, worden zowel een selectorbinding als een veldbinding gemaakt.

    In het venster Eigenschappen wordt de bindingsinformatie van het knooppunt weergegeven als het volgende:

    Eigenschappen Weergegeven als
    XPath-veld *[local-name()='Name' and namespace-uri()='']
    XPath-kiezer /*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']