Business Rules Hello World1 (esempio di BizTalk Server)
Nell'esempio Business Rules Hello World1 viene illustrato come creare un set di regole di BizTalk, salvarlo in un file (SampleRuleSet.xml), caricarlo ed eseguirlo in base a un set di fact di esempio. Il set di regole di esempio contiene una semplice regola di esempio che prevede un elemento XML e oggetti basati su .NET (proprietà e membri) come termini nella definizione della regola.
Scopo dell'esempio
In questo esempio viene creato un file eseguibile che esegue la sequenza di passaggi seguente:
Chiama il metodo CreateRuleset per compilare il set di regole descritto nella sezione Osservazioni.
Chiama il metodo SaveToFile per illustrare il salvataggio di una regola impostata su un file.
Chiama il metodo LoadFromFile per illustrare il caricamento di un set di regole da un file.
Costruisce fact di esempio a fronte dei quali eseguire il set di regole.
Esegue il set di regole a fronte dei fact di esempio, generando l'output a video.
Esegue una pausa, consentendo di esaminare il file del set di regole SampleRuleStore.xml.
Esegue la pulitura, eliminando il file del set di regole, in vista della preparazione per le esecuzioni successive dell'esempio.
Percorso dell'esempio
<Percorso> esempi\Regole business\Regole aziendali Hello World1\
Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.
File | Descrizione |
---|---|
App.ico, AssemblyInfo.cs, BusinessRulesHelloWorld1.csproj, BusinessRulesHelloWorld1.sln | File del progetto, di soluzione e correlati per la parte di questo esempio che crea, salva, carica ed esegue un set di regole. |
HelloWorld1.cs | File Visual C# che include i metodi per illustrare la creazione di un set di regole, il salvataggio di un set di regole in un file e il caricamento di un set di regole da un file. Contiene inoltre il codice circostante che chiama questi metodi e quindi esegue il set di regole creato. |
Cleanup.bat | Viene utilizzato per annullare la distribuzione degli assembly e rimuoverli dalla Global Assembly Cache. Consente inoltre di rimuovere porte di trasmissione e ricezione. Consente infine di rimuovere le directory virtuali di Microsoft Internet Information Services (IIS), se necessario. |
SampleDocumentInstance.xml | File di input di esempio conforme allo schema definito nel file SampleSchema.xsd. |
SampleSchema.xsd | File di schema che definisce un semplice schema con un elemento a cui fa riferimento il set di regole creato nel file HelloWorld1.cs di Visual C#. |
Setup.bat | Utilizzato per compilare e inizializzare l'esempio. |
Nella cartella \MySampleLibrary: AssemblyInfo.cs MySampleLibrary.csproj, MySampleLibrary.sln |
File del progetto, di soluzione e correlati per la parte di questo esempio che fornisce la classe in cui vengono definiti gli oggetti a cui fa riferimento il set di regole creato. |
Nella cartella \MySampleLibrary: MySampleLibraryClass.cs |
File Visual C# che contiene la proprietà a cui fa riferimento nella parte IF della regola creata e il metodo che può essere chiamato nella parte THEN della regola creata. |
Compilazione e inizializzazione dell'esempio
Per compilare e inizializzare l'esempio Business Rules Hello World1, eseguire la procedura seguente.
Per compilare e inizializzare l'esempio
In una finestra di comando passare alla seguente cartella:
<Percorso> esempi\Regole business\Regole aziendali Hello World1\
Eseguire il file Setup.bat. Verranno eseguite le operazioni seguenti:
- Compila e distribuisce i progetti di Microsoft Visual Studio per questo esempio.
Nota
Prima di provare a eseguire l'esempio, è necessario verificare che BizTalk Server non abbia segnalato errori durante il processo di generazione e inizializzazione.
Nota
Se si sceglie di aprire e compilare i progetti dell'esempio senza eseguire il file Setup.bat, è necessario creare prima una coppia di chiavi con nome sicuro utilizzando l'utilità Nome sicuro di .NET Framework (sn.exe). e utilizzarla per firmare gli assembly risultanti.
Nota
Per annullare le modifiche apportate da Setup.bat, eseguire Cleanup.bat. È necessario eseguire Cleanup.bat prima di eseguire Setup.bat una seconda volta.
Esecuzione dell'esempio
Per eseguire l'esempio Business Rules Hello World1, eseguire la procedura seguente.
Per eseguire questo esempio
In una finestra di comando passare alla seguente cartella:
<Percorso> esempi\Regole business\Regole aziendali Hello World1\bin\Debug\
Nella finestra di comando digitare il nome del file eseguibile per questo esempio, ovvero BusinessRulesHelloWorld1.exe, e quindi premere INVIO.
Nota
Durante l'esecuzione, questo esempio produce il file del set di regole SampleRuleStore.xml nella cartella bin\Debug . Quando l'eseguibile è in pausa, in attesa che l'utente prema INVIO per terminare la procedura, è possibile esaminare il contenuto del file. Si ricordi di chiuderlo prima di premere un tasto per terminare la procedura. In caso contrario, l'eseguibile potrebbe non essere in grado di eliminarlo in vista della preparazione per le esecuzioni successive dell'esempio.
In base alla natura del set di regole creato, se si esegue questo esempio con il file di input di esempio fornito SampleDocumentInstance.xml, che ha un valore di uno (1) definito per l'elemento ID , verrà visualizzato l'output seguente:
Creating a new ruleset ...
Saving ruleset to SampleRuleStore.xml ...
Loading ruleset ...
Asserting objects ...
Executing ...
MySampleBusinessObject Class -- MySampleMethod executed for object 2 with parameter 5
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5
Press any key to finish ...
Nota
L'output visualizzato in grassetto, sia nel codice precedente che nel codice che segue, è l'output prodotto dall'oggetto business di esempio, definito dai file nella cartella MySampleLibrary , a cui fa riferimento il set di regole.
Se si modifica il valore associato all'elemento ID nel file di input di esempio SampleDocumentInstance.xml da uno (1) a due (2), l'output cambierà come segue:
Creating a new ruleset ...
Saving ruleset to SampleRuleStore.xml ...
Loading ruleset ...
Asserting objects ...
Executing ...
MySampleBusinessObject Class -- MySampleMethod executed for object 1 with parameter 5
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5
Press any key to finish ...
Non si otterrà una riga di output per gli oggetti della classe MySampleBusinessObject che hanno la proprietà MyValue impostata su un valore (durante la costruzione) che corrisponde al valore associato all'elemento ID nel file di input di esempio SampleDocumentInstance.xml.
Commenti
La regola creata a livello di codice all'interno del metodo CreateRuleset() mostra:
IF
MySampleBusinessObject.MyValue non è uguale al valore dell'elemento ID nel documento XML.
THEN
MySampleBusinessObject.MySampleMethod(int) con un parametro integer, hard coded alla costante cinque (5) in questo caso. Questo metodo produce le righe di output che iniziano La classe MySampleBusinessObject --.
Questa regola dipende dai fattori seguenti:
Classe MySampleBusinessObject con una proprietà pubblica denominata MyValue e un metodo pubblico denominato MySampleMethod (che accetta un parametro integer).
Schema XSD (XML Schema Definition Language) che definisce un documento XML contenente un elemento ID .
Le regole vengono definite in termini di classi e di schemi, ma, durante l'esecuzione, sono necessarie le istanze degli oggetti delle classi pertinenti e le istanze dei documenti degli schemi pertinenti. Le regole vengono valutate a fronte di queste istanze di runtime (note come fact). In questo esempio, i fatti sono più istanze dell'oggetto MySampleBusinessObject , costruiti con valori diversi per la proprietà MyValue e una singola istanza XML dello schema definito che contiene un valore per l'elemento ID .