Condividi tramite


Creare regole usando Microsoft Rules Composer (anteprima)

Si applica: App per la logica di Azure (Standard)

Importante

Questa funzionalità è in anteprima ed è soggetta alle Condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure.

Le regole regolano la logica di business per il funzionamento dei processi aziendali. Per semplificare la creazione di queste regole da usare con il progetto motore regole di App per la logica di Azure, Microsoft Rules Composer offre uno strumento visivo per la creazione e il controllo delle versioni di set di regole e vocabolari.

Questa guida pratica fornisce una panoramica sul funzionamento delle regole e su come creare una regola usando Microsoft Rules Composer.

Prerequisiti

  • Scaricare e installare Microsoft Rules Composer.

  • Se si dispone di un set di regole esistente su cui si desidera lavorare, è necessario il file XML che contiene tale set di regole. In caso contrario, questa guida illustra come creare un nuovo set di regole, che viene salvato come file XML.

    Importante

    Se il file XML esistente dipende da qualsiasi assembly .NET o se gli assembly usati per aggiungere fatti hanno altre dipendenze, assicurarsi di mantenere tutti questi file nella stessa cartella e in una directory locale in Microsoft Rules Composer.

Che cos'è una regola?

Una regola è un'istruzione dichiarativa che include una condizione e azioni in cui viene valutata la condizione. Se il risultato è true, il motore regole esegue una o più azioni. Il formato seguente definisce la sintassi per le regole nel motore regole App per la logica di Azure:

Azione IF <condition THEN <>>

La regola di esempio seguente determina se eseguire una transazione e applica la logica di business confrontando due valori monetari con dati o fatti, che usano la forma di importo e sconto di una transazione:

SE l'importo acquistato è maggiore della quantità, dare uno sconto aggiuntivo al cliente

  • Condizione: espressione booleana true-o-false che include uno o più predicati applicati ai fatti. Un predicato è una clausola che contiene un verbo e indica qualcosa sull'oggetto. In questo esempio, il predicato è maggiore di quanto si applica all'importo del fatto acquistato. Questa condizione restituisce sempre true o false. È possibile combinare predicati con gli operatori logici AND, OR e NOT per formare un'espressione logica potenzialmente lunga, ma restituisce sempre true o false.

  • Azione: un'azione è una conseguenza funzionale della valutazione della condizione. Se viene soddisfatta una condizione della regola, viene avviata un'azione o un'azione corrispondente. In questo esempio, assegnare uno sconto aggiuntivo è un'azione che si verifica solo quando la condizione è true, ovvero l'importo IF acquistato è maggiore di $ 1.000. Le azioni vengono rappresentate nel motore regole di App per la logica di Azure chiamando metodi, impostando proprietà su oggetti o eseguendo operazioni set su documenti XML.

  • Fatto: un fatto è un pezzo discreto di informazioni sul mondo su cui operano le regole. In questo esempio, la quantità e la quantità sono fatti. I fatti possono provenire da molte origini, ad esempio sistemi eventi, oggetti nelle applicazioni ibride e così via e devono essere inseriti nel motore regole in App per la logica di Azure usando uno degli elementi seguenti:

    • Oggetti .NET, ad esempio metodi, proprietà e campi.
    • Documenti XML, ad esempio elementi, attributi e sottosezioni di documenti.
  • Vocabolario: un nome descrittivo per i fatti usati in condizioni e azioni. Per altre informazioni, vedere Creare e gestire vocabolari.

Il diagramma e le sezioni seguenti descrivono come le condizioni, le azioni e i fatti si integrano:

Diagramma concettuale che mostra il motore regole Microsoft.

Microsoft Rules Composer

È possibile usare Microsoft Rules Composer per creare, modificare, versione e salvare le regole. In alternativa, è possibile eseguire queste attività a livello di codice. Rules Composer include gli elementi dell'interfaccia utente seguenti:

Window Descrizione
Esplora set di regole Creare set di regole che contengono una o più regole.
Editor condizioni Compilare una condizione per una regola.
Editor azioni Azioni di compilazione eseguite quando la condizione restituisce true.
Esplora fatti Cercare i fatti XML e .NET e quindi trascinare i fatti nell'editor di condizioni o nell'editor di azioni.

Diagramma concettuale che mostra Microsoft Rules Composer.

Creare e gestire un set di regole

Un set di regole è un set di regole raggruppate in base al dominio, al contesto delimitato o a qualsiasi limite aziendale. Per gestire i set di regole e le regole nell'archivio regole, usare RuleSet Explorer. È possibile creare, modificare, testare o eliminare set di regole e le relative regole.

  1. In Microsoft Rules Composer aprire il menu Archivio regole e selezionare Carica.

  2. Trovare e selezionare il file XML che contiene l'archivio regole che si desidera aprire.

  3. Nella finestra Esplora regole aprire il menu di scelta rapida RuleSets e selezionare Aggiungi nuovo set di regole.

    Microsoft Rules Composer crea un nuovo set di regole vuoto con una versione del set di regole numerata 1.0 come versione predefinita.

  4. Salvare il set di regole. Scegliere Salva dal menu Archivio regole per creare un file XML per il set di regole.

La tabella seguente descrive altri comandi di RuleSet Explorer che è possibile usare per usare i set di regole:

Attività Comando
Creare un nuovo set di regole. Aggiungi nuovo set di regole
Creare una nuova versione vuota del set di regole selezionato. È possibile copiare le regole da altre versioni e incollarle nella nuova versione. Aggiungi nuova versione
Copiare la versione del set di regole selezionata negli Appunti. Copia
Incollare una versione del set di regole e il relativo contenuto in un set di regole selezionato. Incolla
Eliminare la versione del set di regole selezionata. CANC
Eliminare il set di regole selezionato e tutte le relative versioni. Eliminare a livello di set di regole padre
Ricaricare la versione del set di regole selezionata e le relative regole con l'opzione per rimuovere le modifiche correnti in tale versione e ripristinare il contenuto dall'archivio regole. Ricaricare
Salvare le modifiche apportate alla versione selezionata e alle relative regole. Salva
Testare la versione del set di regole selezionata prima di usare con il progetto del motore regole. Set di regole di test

Nella tabella seguente vengono descritte le proprietà di una versione del set di regole:

Proprietà valore
Nome Nome del set di regole.

Nota: è possibile modificare questo valore solo aggiornando la proprietà Name del set di regole, non la versione del set di regole.
Versione corrente Versione del set di regole attualmente selezionata in Esplora regole.
Recupero dei fatti Retriever dei fatti da usare per fornire fatti alla versione del set di regole.

Microsoft Rules Composer supporta la compilazione delle funzionalità e l'uso di un retriever dei fatti per fornire fatti. Per altre informazioni, vedere la documentazione seguente:

- Eseguire attività avanzate sui set di regole
- Creare creatori e recuperatori di fatti
Profondità massima ciclo di esecuzione Profondità massima dell'algoritmo forward chaining prima che venga generata un'eccezione del ciclo di esecuzione.

Il numero di cicli predefinito è 65.536.
Durata traduzione Quantità massima di tempo per convertire le regole prima che venga generata un'eccezione di timeout di conversione.

La durata predefinita è di 60.000 millisecondi.
Translator Traduttore da usare per tradurre le regole.

Microsoft Rules Composer supporta attualmente solo il traduttore predefinito, ma supporta anche l'estendibilità per aggiungere altri traduttori.
Descrizione della versione Descrizione della versione corrente.

Per altre informazioni sull'uso dei set di regole, vedere Eseguire attività avanzate sui set di regole.

Creare e gestire una regola

  1. In Microsoft Rules Composer scegliere Carica dal menu Archivio regole.

  2. Trovare e selezionare il file XML contenente l'archivio regole su cui si desidera lavorare.

  3. Nella finestra Esplora set di regole trovare la versione del set di regole in cui si vuole aggiungere una regola.

  4. Aprire il menu di scelta rapida per la versione del set di regole e selezionare Aggiungi nuova regola.

    Verrà aperto l'editor regole in modo da poter aggiungere le condizioni e le azioni.

L'elenco seguente descrive i modi in cui è possibile modificare una regola:

  • Creare una nuova versione del set di regole.

  • Modificare direttamente una versione del set di regole esistente. È possibile modificare singole regole, aggiungere nuove regole o eliminare regole esistenti.

Nella tabella seguente vengono descritti tutti i comandi di scelta rapida di RuleSet Explorer che è possibile usare per usare le regole:

Attività Comando di scelta rapida
Creare una nuova regola nella versione del set di regole selezionata. Aggiungi nuova regola
Copiare la regola selezionata negli Appunti. Copia
Copiare la regola selezionata negli Appunti ed eliminare la regola. Taglia
Incollare una regola nella versione del set di regole selezionata. Incolla
Eliminare la regola selezionata. CANC

Nella tabella seguente vengono descritte le proprietà di una regola:

Proprietà valore
Nome Nome della regola.
Attive Indica se la regola è abilitata o disabilitata.
Priorità Priorità per la regola all'interno del set di regole. Maggiore è l'indice, maggiore è la priorità della regola. Le azioni per una regola con priorità più alta vengono eseguite per prime.

Il valore predefinito è 0 e rappresenta la priorità media. È possibile rendere positivo o negativo il valore. Per altre informazioni, vedere Ottimizzazione del motore regole.

Disabilitare o abilitare una regola

È possibile impostare una regola su inattiva in modo che la regola non venga eseguita quando viene eseguito il set di regole oppure è possibile riattivare una regola disattivata.

  1. In Esplora set di regole selezionare la regola.

  2. Nella finestra Proprietà impostare la proprietà Active su uno dei valori seguenti:

    • False: Disabilitato
    • True: Abilitato

Impostare la priorità delle regole

È possibile impostare la priorità per una regola in modo che le azioni vengano eseguite prima o dopo le azioni di un'altra regola con priorità diversa. Le priorità sono relative, quindi tutte le azioni in una regola con una priorità specifica vengono eseguite in ordine prima di qualsiasi azione in una regola con un valore di priorità inferiore.

  1. In Esplora set di regole selezionare la regola.

  2. Nella finestra Proprietà impostare Priorità sul valore intero desiderato.

Creare o modificare una condizione

Per compilare, modificare o visualizzare una condizione che attiva una regola, usare l'editor delle condizioni, che fa parte dell'editor regole. Per compilare una condizione, è possibile eseguire le attività seguenti:

  • Aggiungere predicati predefiniti o definiti dall'utente, se presenti.

  • Definire gli argomenti nei predicati trascinando gli elementi dalla finestra Esplora fatti.

  • Immettere i valori degli argomenti inline selezionando un collegamento all'argomento.

  • Spostare predicati e operatori logici all'interno di una condizione.

    Nota

    L'ordine in cui i predicati e gli operatori logici non determinano l'ordine di valutazione.

  • Eliminare predicati e operatori logici da una condizione.

Aggiungere un predicato a una condizione

  1. In Esplora set di regole selezionare la regola.

  2. Nella finestra IF, ovvero l'editor condizioni, aprire il menu di scelta rapida Condizioni e scegliere una delle opzioni seguenti:

    • Selezionare un operatore logico. Dal menu di scelta rapida dell'operatore aggiungere i predicati o gli operatori logici annidati da valutare.

      Per altre informazioni sulla configurazione degli operatori logici, vedere Aggiungere operatori aritmetici e logici alle regole

    • Dal menu di scelta rapida Predicati selezionare un predicato predefinito o un predicato definito dall'utente, se presente.

    Le tabelle seguenti descrivono le espressioni di predicato disponibili da selezionare dai menu di scelta rapida Predicati :

    Predicato predefinito Descrizione
    Dopo Predicato temporale che risponde alla domanda: "Time1 cronologicamente dopo time2?"
    Prima Predicato temporale che risponde alla domanda: "Time1 cronologicamente prima di time2?"
    Compreso tra Predicato temporale che risponde alla domanda: "Time1 cronologicamente tra time2 e time3?"
    Uguale Operatore di uguaglianza relazionale.
    Exists Predicato di esistenza che risponde alla domanda "L'elemento o l'attributo XML specificato esiste?"
    GreaterThan Operatore relazionale maggiore di .
    GreaterThanEqual Operatore relazionale maggiore o uguale a .
    LessThan Operatore relazionale minore di.
    LessThanEqual Operatore relazionale minore o uguale a .
    Fiammifero Determinare se un'espressione regolare esiste in una stringa di input specificata.
    NotEqual Operatore di disuguaglianza relazionale.
    Intervallo Determinare se un valore esiste all'interno di un intervallo.

Specificare un argomento per un predicato in una condizione

Seguire questi passaggi, che sono gli stessi per una funzione in un'azione.

Spostare un operatore logico o un predicato in una condizione

Nell'editor condizioni eseguire uno dei passaggi seguenti:

  • Trascinare l'operatore logico o il predicato in un altro operatore logico o nel nodo Condizioni .

  • Aprire il menu di scelta rapida per l'operatore logico o il predicato e selezionare Sposta su o Sposta giù per spostare l'elemento una posizione o un livello rispettivamente.

Creare o modificare un'azione

Per compilare, modificare o visualizzare un'azione eseguita quando viene soddisfatta una condizione, usare l'editor delle azioni, che fa parte dell'editor delle regole. Per compilare un'azione, è possibile eseguire le attività seguenti:

  • Aggiungere funzioni predefinite o definite dall'utente, se presenti.
  • Definire gli argomenti nelle funzioni trascinando gli elementi dalla finestra Esplora fatti.
  • Immettere i valori degli argomenti inline selezionando un collegamento all'argomento.
  • Spostare le funzioni all'interno di un'azione.

Aggiungere una funzione

  1. In Esplora set di regole selezionare la regola.

  2. Nella finestra THEN, ovvero l'editor di azioni, aprire il menu di scelta rapida Azioni e selezionare una funzione predefinita per aggiungere un'azione e un argomento.

    La tabella seguente descrive le funzioni disponibili da selezionare dal menu di scelta rapida Azioni :

    Funzione Descrizione
    Assert Aggiungere un nuovo fatto alla memoria di lavoro dell'istanza del motore regole.
    Cancella Reimpostare la memoria di lavoro e l'agenda dell'istanza del motore regole. Per altre informazioni sulla memoria di lavoro e sull'agenda, vedere Ottimizzazione del motore regole.
    Halt Terminare l'elaborazione delle regole.
    Retract Rimuovere un fatto dalla memoria di lavoro dell'istanza del motore regole.
    RetractByType Rimuovere un fatto con il tipo specificato dalla memoria di lavoro dell'istanza del motore regole.
    Aggiornamento Aggiornare un fatto nella memoria di lavoro dell'istanza del motore regole.

Per altre informazioni, vedere Ottimizzare le regole con le funzioni di controllo.

Specificare un argomento per una funzione in un'azione

Seguire questi passaggi, che sono gli stessi per un predicato in una condizione.

Spostare una funzione in un'azione

Le azioni di una regola vengono eseguite in base all'ordine specificato, ad eccezione delle funzioni di controllo del motore regole, che eseguono le altre azioni seguenti.

  • Nell'editor delle azioni aprire il menu di scelta rapida dell'azione e selezionare Sposta su o Sposta giù per spostare rispettivamente l'azione una posizione o un livello.

Specificare un argomento per un predicato in una condizione o una funzione in un'azione

Nell'editor delle condizioni o nelle azioni di conseguenza, eseguire una delle operazioni seguenti:

  • Nel predicato o nella funzione selezionare l'argomento predefinito e immettere il valore desiderato o selezionato da un elenco, se disponibile, se appropriato.

  • Nella finestra Esplora fatti selezionare la scheda con il termine che si vuole usare come argomento e trascinare tale termine nell'argomento nel predicato o nella funzione nell'editor corrispondente.

    Il termine deve avere un tipo previsto dal predicato o dalla funzione. In caso contrario, viene visualizzato un errore.

  • Per sostituire un argomento con un valore stringa vuoto, aprire il menu di scelta rapida dell'argomento e selezionare Imposta su stringa vuota.

  • Per sostituire un argomento con una definizione costante Null, aprire il menu di scelta rapida dell'argomento e selezionare Imposta su Null.

    Nota

    Questa opzione potrebbe non essere visualizzata se il tipo di argomento non è un tipo che è possibile impostare su Null.

  • Per aggiungere un operatore aritmetico o logico a un argomento, vedere Aggiungere operatori aritmetici e logici alle regole.

Trovare l'origine dell'elemento in una condizione o un'azione

Nell'editor di condizioni o azioni eseguire di conseguenza uno dei passaggi seguenti:

  • Per individuare la definizione del vocabolario in Esplora fatti usata per creare un predicato in una condizione, una funzione in un'azione o un argomento in uno dei due, aprire il menu di scelta rapida per il predicato, la funzione o l'argomento e selezionare Vai al vocabolario.

  • Per individuare un membro .NET o un elemento XML in Esplora fatti usato per creare un predicato in una condizione, una funzione in un'azione o un argomento, aprire il menu di scelta rapida per il predicato, la funzione o l'argomento e selezionare Vai al fatto di origine.

Eliminare un predicato, un operatore logico o un'azione

Nell'editor condizioni eseguire uno dei passaggi seguenti:

  • Selezionare l'elemento e quindi premere CANC.

  • Selezionare l'elemento, ad esempio un predicato, un operatore logico o un'azione e selezionare Elimina <tipo di> elemento.

  • Per eliminare un argomento più eventuali argomenti annidati e ripristinare la definizione predefinita, aprire il menu di scelta rapida dell'argomento e selezionare Reimposta argomento.

Aggiungere fatti alle regole

È possibile specificare riferimenti alle origini dati che è possibile salvare nell'archivio regole per utilizzarli successivamente come fact nelle regole e nei vocabolari. È possibile specificare assembly .NET con classi e membri di classe o schemi XSD con attributi e elementi documento XML.

  1. Per esplorare i dati già aggiunti da un assembly .NET, uno schema XSD o come definizioni di vocabolario, dalla finestra Esplora fatti selezionare la scheda Vocabolari , xml Schema o classi .NET, in base alla posizione in cui sono presenti i dati desiderati .

  2. Trascinare i dati dalla scheda corrispondente in cui si desidera entrare in una condizione nell'editor delle condizioni o all'interno di un'azione nell'editor azioni.

Aggiungere un assembly .NET come origine dati per i fatti .NET

  1. Nella finestra Esplora fatti selezionare la scheda Classi .NET.

  2. Aprire il menu di scelta rapida per il nodo Assembly .NET e selezionare Sfoglia.

  3. Trovare e aprire l'assembly .NET da usare.

    In Assembly .NET l'assembly selezionato viene visualizzato insieme alle relative classi e membri, ad esempio:

    Screenshot che mostra Microsoft Rules Composer con i membri di Esplora fatti, classi e classi.

Importante

Se si aggiorna l'assembly .NET nella directory locale, Microsoft Rules Composer non aggiorna automaticamente l'assembly .NET. Per i passaggi per aggiornare i riferimenti a un assembly aggiornato, vedere Aggiornare i riferimenti agli assembly .NET.

Aggiornare i riferimenti agli assembly .NET

  • Se si aggiunge un nuovo assembly .NET, con un nome o una versione diversa, è necessario aggiornare il set di regole per fare riferimento al nuovo assembly. Per questa attività, in Microsoft Rules Composer è necessario creare una nuova versione del set di regole e aggiornare i riferimenti al nuovo assembly, incluse le classi, i metodi e così via. Per caricare l'assembly aggiornato, assicurarsi di riavviare Microsoft Rules Composer.

  • Se l'assembly .NET aggiornato usa lo stesso nome, il numero di versione e così via, è sufficiente aggiungere il nuovo assembly al progetto di funzione del motore regole di App per la logica di Azure.

Rimuovere un assembly .NET come origine dati

  1. Nella finestra Esplora fatti selezionare la scheda Classi .NET.

  2. In Assembly .NET aprire il menu di scelta rapida dell'assembly e selezionare Rimuovi.

Aggiungere uno schema XML come origine dati per i fatti XML

  1. Nella finestra Esplora fatti selezionare la scheda XML Schema.

  2. Aprire il menu di scelta rapida per il nodo Schemi e selezionare Sfoglia.

  3. Nella casella File di schema trovare e selezionare il file XML Schema (xsd) e selezionare Apri.

    In Schemi l'XML Schema viene visualizzato insieme ai relativi elementi XML, ad esempio:

    Screenshot che mostra gli elementi Microsoft Rules Composer, Facts Explorer e XML.

Associazioni per gli elementi XML utilizzati negli argomenti

In Business Rules Framework la classe TypedXmlDocument è microsoft . Libreria di classi conforme a NET che rappresenta il tipo di documento XML ed è una delle classi che implementa l'interfaccia ITypedFact . Queste classi sono note come fatti tipizzati.

Quando si usa un nodo da un documento XML come argomento in una regola, vengono create due espressioni XPath: un'associazione del selettore e un'associazione di campi, in base al nodo che si sceglie di usare:

  • Se il nodo ha nodi figlio, viene creata un'associazione del selettore, nota anche come associazione XmlDocument , al nodo, ma non viene creata alcuna associazione di campi.

  • Se il nodo non ha nodi figlio, viene creata un'associazione del selettore, nota anche come associazione XmlDocument , al nodo padre del nodo. Un'associazione di campi, nota anche come associazione XmlDocumentMember , viene creata nel nodo stesso. Questa associazione di campi è relativa all'associazione del selettore.

Prima di trascinare un nodo XML in un argomento regola, è possibile modificare le espressioni XPath predefinite per i nodi XML e le nuove informazioni di associazione vengono inserite nel set di regole.

Nota

Quando lo schema viene ricaricato in Microsoft Rules Composer, è necessario immettere nuovamente le modifiche apportate alle espressioni XPath in Microsoft Rules Composer.

Si supponga, ad esempio, di avere lo schema XML seguente:

Screenshot che mostra Microsoft Rules Composer, Facts Explorer, elementi XML e i relativi attributi.

  • Se si usa il nodo Income in un argomento, viene creata solo un'associazione del selettore perché il nodo ha nodi figlio.

    Nella finestra Proprietà la proprietà XPath Selector del nodo contiene l'espressione XPath predefinita seguente:

    /*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']/*[local-name()='Income' and namespace-uri()='']
    
  • Se si usa il nodo Nome in un argomento, vengono creati sia un'associazione del selettore che un'associazione di campi.

    Nella finestra Proprietà le informazioni di associazione del nodo sono visualizzate come segue:

    Proprietà valore
    Campo XPath *[local-name()='Name' and namespace-uri()='']
    Selettore XPath /*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']