Condividi tramite


Procedura: Selezionare un itinerario usando criteri di regole buiness

Obiettivo

In questa sezione viene illustrato come creare regole business che possono essere usate per selezionare un itinerario in base al contenuto di un messaggio ricevuto e come configurare il componente pipeline del selettore di itinerari all'interno di un itinerario generico su rampa per chiamare queste regole. Questa sezione descrive uno scenario aziendale in cui i messaggi vengono indirizzati in modo diverso, in base all'area in cui risiede il cliente.

In questo argomento di procedura si completeranno i passaggi seguenti:

  • Itinerari del modello per le divisioni western e orientali della banca globale del cliente.

  • Creare criteri di regole business che verranno usati per selezionare un itinerario per l'elaborazione della richiesta.

  • Configurare il componente pipeline del selettore di itinerari per usare i criteri delle regole business per selezionare l'itinerario appropriato.

Prerequisiti

Le procedure descritte in questa procedura richiedono il completamento dei prerequisiti per le attività di sviluppo.

Prima di iniziare

Completare le attività seguenti prima di eseguire i passaggi più avanti in questo argomento procedura:

  • Creare il messaggio di test di GlobalBank West.

  • Creare il messaggio di test di GlobalBank East.

    Le procedure seguenti descrivono come eseguire ognuna di queste operazioni.

Per creare il messaggio di test di GlobalBank West

  1. In Esplora risorse passare a C:\HowTos.

  2. Creare una copia di NAOrderDoc.xml e quindi denominare la copia West.xml.

  3. Nel Blocco note aprire West.xml e quindi modificare il valore dell'elemento customerName in GlobalBankWest.

  4. Salvare West.xml come UTF-8 e quindi chiudere blocco note.

Per creare il messaggio di test di GlobalBank East

  1. In Esplora risorse passare a C:\HowTos.

  2. Creare una copia di NAOrderDoc.xml e quindi denominare la copia East.xml.

  3. Nel Blocco note aprire East.xml e quindi modificare il valore dell'elemento customerName in GlobalBankEast.

  4. Salvare East.xml come UTF-8 e quindi chiudere blocco note.

Passaggi

Per creare un criterio di business rules engine (BRE) per selezionare un itinerario usando le proprietà personalizzate dei messaggi

  1. Fare clic su Start sulla barra delle applicazioni, scegliere Tutti i programmi, BizTalk Server e quindi fare clic su Business Rule Composer.

  2. In Esplora criteri fare clic con il pulsante destro del mouse su Criteri e quindi scegliere Aggiungi nuovo criterio. Assegnare al criterio il nome ResolveItineraryBasedOnCustomer.

    Nota

    In questo argomento procedure vengono usati gli stessi criteri e gli itinerari delle regole business creati nell'argomento Procedura: Dividere un interscambio e instradare i messaggi risultanti a più percorsi di file usando itinerari distinti. Se la sezione è già stata completata, è possibile passare alla procedura "Per creare e configurare un ESB su rampa" più avanti in questo argomento.

Per aggiungere una regola di selezione per il cliente GlobalBank West

  1. Nel criterio ResolveItineraryBasedOnCustomer fare clic con il pulsante destro del mouse sulla versione 1.0 (non salvata) e quindi scegliere Aggiungi nuova regola. Assegnare alla regola il nome SetGlobalBankWestItinerary.

  2. In Esplora fatti fare clic sulla scheda XML Schema, fare clic con il pulsante destro del mouse su Schemi e quindi scegliere Sfoglia.

  3. Nella finestra di dialogo File schema passare a C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Source\ESB. DynamicResolution.Schemas, selezionare NAOrderDoc.xsd e quindi fare clic su Apri.

    Nota

    Si tratta dello schema che definisce il messaggio di NAOrderDoc.xml, usato per creare i messaggi occidentali e orientali che verranno usati per il test.

  4. In Esplora fatti fare clic su NAOrderDoc.xsd, fare clic sulla proprietà Tipo di documento nel riquadro Proprietà e quindi digitare GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc.

    Nota

    Nome completo dello schema.

  5. In Esplora fatti espandere NAOrderDoc.xsd, quindi espandere OrderDoc.

  6. Nella finestra Regola fare clic con il pulsante destro del mouse su Condizioni, scegliere Predicatie quindi fare clic su Uguale.

  7. Da Esplora fatti trascinare l'elemento customerName nel nodo argument1 in Condizioni.

  8. Fare clic sul nodo argument2 e quindi digitare GlobalBankWest.

  9. In Esplora fatti fare clic sulla scheda Vocabolari . Espandere ESB. Vocabolario itinerario , espandere versione 1.1 e quindi trascinare la definizione Imposta nome itinerario in Azioni.

  10. Fare clic su <stringa> vuota e quindi digitare GlobalBankWestItinerary.

    Nota

    Più avanti in questo argomento di procedura verrà creato questo itinerario per elaborare i messaggi da GlobalBank West.

Per aggiungere una regola di selezione per Customer GlobalBank East

  1. In Esplora criteri fare clic con il pulsante destro del mouse sulla regola SetGlobalBankWestItinerary e quindi scegliere Copia.

  2. Fare clic con il pulsante destro del mouse sulla versione 1.0 (non salvata) e quindi scegliere Incolla.

  3. Nella finestra di dialogo Nuovo nome regola digitare SetGlobalBankEastItinerary, quindi fare clic su OK.

  4. In Esplora criteri fare clic sulla regola SetGlobalBankEastItinerary .

  5. Nella sezione Condizioni fare clic con il pulsante destro del mouse su GlobalBankWest e quindi scegliere Reimposta argomento.

  6. Fare clic su argument2 e quindi digitare GlobalBankEast.

  7. Nella sezione Azioni fare clic con il pulsante destro del mouse su GlobalBankWestItinerary e quindi scegliere Reimposta argomento.

  8. Fare clic su <stringa> vuota e quindi digitare GlobalBankEastItinerary.

    Nota

    Più avanti nell'argomento Procedura verrà creato questo itinerario per elaborare i messaggi da GlobalBank East.

Per pubblicare e distribuire i criteri

  1. In Esplora criteri, nel criterio ResolveItineraryBasedOnCustomer fare clic con il pulsante destro del mouse sulla versione 1.0 (non salvata) e quindi scegliere Pubblica.

  2. In Esplora criteri, nel criterio ResolveItineraryBasedOnCustomer fare clic con il pulsante destro del mouse sulla versione 1.0 - Pubblicata e quindi scegliere Distribuisci.

Per creare un modello DSL (Domain Specific Language) dell'itinerario ESB per i messaggi GlobalBank West

  1. In Visual Studio aprire C:\HowTos\Patterns\Patterns.sln.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ItinerarioLibrario, scegliere Aggiungi e quindi fare clic su Nuovo itinerario.

  3. Nel riquadro Modelli della finestra di dialogo Aggiungi nuovo elemento fare clic su ItineraryDsl.

  4. Nella casella Nome digitare GlobalBankWestItinerary e quindi fare clic su Aggiungi.

Per configurare le proprietà dell'itinerario GlobalBank West

  1. In Visual Studio fare clic sull'area di progettazione di GlobalBankWestItinerary.itinerary. Nella Finestra Proprietà GlobalBankWestItinerary configurare le proprietà seguenti:

    1. Nell'elenco a discesa Esportazione modelli fare clic su Esportazione itinerari di database.

    2. Fare clic sul pulsante con i puntini di sospensione (...) accanto alla proprietà Database itinerario .

    3. Nella finestra di dialogo Proprietà connessione scegliere il SQL Server che ospita il database del repository dell'itinerario e quindi specificare il nome del database ( il nome predefinito è EsbItineraryDb).

  2. Nell'elenco a discesa Stato itinerario fare clic su Distribuito.

    Nota

    Questo passaggio consente di esportare l'itinerario in un repository centrale; gli itinerari possono essere selezionati e collegati da questo repository al momento della ricezione dei messaggi. Successivamente si configurerà il componente pipeline del selettore di itinerari per usare il sistema di risoluzione del motore regole business (BRI) per valutare i messaggi in ingresso e selezionare l'itinerario appropriato da questo repository.

Per definire la struttura dell'itinerario

  1. Dalla casella degli strumenti trascinare un elemento del modello On-Ramp nell'area di progettazione. Nel Finestra Proprietà OnRamp1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare ReceiveNAOrder.

    2. Nell'elenco a discesa Extender fare clic su On-Ramp ESB Service Extension (Estensione servizio ESB).

    3. Nell'elenco a discesa Applicazione BizTalk fare clic su Microsoft.Practices.ESB.

    4. Nell'elenco a discesa Porta di ricezione fare clic su OnRamp.Itinerario.

  2. Dalla Casella degli strumenti trascinare un elemento del modello Off-Ramp nell'area di progettazione e quindi posizionarlo a destra dell'elemento del modello ReceiveNAOrder . Nel Finestra Proprietà OffRamp1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare SendNAOrder.

    2. Nell'elenco a discesa Extender fare clic su Off-Ramp ESB Service Extension .In the Extender list, click Off-Ramp ESB Service Extension.

    3. Nell'elenco a discesa Applicazione BizTalk fare clic su GlobalBank.ESB.

    4. Nell'elenco a discesa Porta di trasmissione fare clic su DynamicResolutionOneWay.

  3. Dalla casella degli strumenti trascinare un elemento modello Del servizio itinerario nell'area di progettazione e quindi posizionarlo tra l'elemento del modello ReceiveNAOrder e l'elemento del modello SendNAOrder . Nel Finestra Proprietà ItineraryService1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare RouteMessage.

    2. Nell'elenco a discesa Estensione servizio itinerario fare clic su Off-Ramp Itinerary Service Extension .In the Itinerary Service Extension.

    3. Nell'elenco a discesa Off-Ramp espandere SendNAOrder e quindi fare clic su Gestori di invio.

  4. Fare clic con il pulsante destro del mouse sull'insieme Resolver dell'elemento modello RouteMessage e quindi scegliere Aggiungi nuovo resolver. Nella Finestra Proprietà Resolver1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare StaticResolver.

    2. Nell'elenco a discesa Implementazione resolver fare clic su Estensione resolver statica.

    3. Nell'elenco a discesa Nome trasporto fare clic su FILE.

    4. Fare clic sulla proprietà Percorso trasporto e quindi digitare C:\HowTos\Out\West%MessageID%.xml.

  5. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento modello ReceiveNAOrder all'elemento modello RouteMessage .

  6. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento modello RouteMessage all'elemento modello SendNAOrder .

Per esportare il modello nel database di itinerario

  1. In Visual Studio fare clic con il pulsante destro del mouse sull'area di progettazione dell'itinerario GlobalBankWestItinerary e quindi scegliere Esporta modello.

    Nota

    L'itinerario è stato esportato nel database itinerario e ora può essere usato dal componente Selettore itinerario.

  2. Salvare tutti gli artefatti del progetto.

Per creare un modello DSL di itinerario ESB per il messaggio GlobalBank East

  1. In Visual Studio aprire C:\HowTos\Patterns.sln.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ItinerarioLibrary, scegliere Aggiungi e quindi fare clic su Nuovo itinerario.

  3. Nella finestra di dialogo Aggiungi nuovo elemento fare clic su ItinerarioDl nel riquadro Modelli.

  4. Nella casella Nome digitare GlobalBankEastItinerary e quindi fare clic su Aggiungi.

Per configurare le proprietà dell'itinerario GlobalBank East

  1. In Visual Studio fare clic sull'area di progettazione di GlobalBankEastItinerary.itinerario. Nella Finestra Proprietà GlobalBankEastItinerary configurare le proprietà seguenti:

    1. Nell'elenco a discesa Esportazione modello fare clic su Esportazione itinerari di database.

    2. Fare clic sul pulsante con i puntini di sospensione (...) accanto alla proprietà Database itinerario .

    3. Nella finestra di dialogo Proprietà connessione scegliere la SQL Server che ospita il database del repository di itinerario e quindi specificare il nome del database ( il nome predefinito è EsbItineraryDb).

  2. Nell'elenco a discesa Stato itinerario fare clic su Distribuito.

    Nota

    Questo passaggio consente di esportare l'itinerario in un repository centrale; gli itinerari possono essere selezionati e collegati da questo repository quando vengono ricevuti i messaggi. Successivamente verrà configurato il componente pipeline del selettore itinerario per usare il resolver BRI per valutare i messaggi in ingresso e selezionare l'itinerario appropriato da questo repository.

Per definire la struttura dell'itinerario

  1. Dalla casella degli strumenti trascinare un elemento modello On-Ramp nell'area di progettazione. Nell'Finestra Proprietà OnRamp1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare ReceiveNAOrder.

    2. Nell'elenco a discesa Extender fare clic su On-Ramp ESB Service Extension (Estensione del servizio ESB).

    3. Nell'elenco a discesa Applicazione BizTalk fare clic su Microsoft.Practices.ESB.

    4. Nell'elenco a discesa Porta di ricezione fare clic su OnRamp.Itinerario.

  2. Dalla casella degli strumenti trascinare un elemento modello Off-Ramp nell'area di progettazione e quindi inserirlo a destra dell'elemento modello ReceiveNAOrder . Nell'Finestra Proprietà OffRamp1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare SendNAOrder.

    2. Nell'elenco a discesa Extender fare clic su Off-Ramp ESB Service Extension (Estensione del servizio ESB).

    3. Nell'elenco a discesa Applicazione BizTalk fare clic su GlobalBank.ESB.

    4. Nell'elenco a discesa Invia porta fare clic su DynamicResolutionOneWay.

  3. Dalla casella degli strumenti trascinare un elemento modello del servizio Itinerario nell'area di progettazione e quindi inserirlo tra l'elemento modello ReceiveNAOrder e l'elemento modello SendNAOrder . Nell'Finestra Proprietà ItinerarioService1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare RouteMessage.

    2. Nell'elenco a discesa Estensione servizio itinerario fare clic su Off-Ramp Itinerario Estensione servizio.

    3. Nell'elenco a discesa Off-Ramp espandere SendNAOrder e quindi fare clic su Invia gestori.

  4. Fare clic con il pulsante destro del mouse sull'insieme Resolver dell'elemento modello RouteMessage e quindi scegliere Aggiungi nuovo resolver. Nella Finestra Proprietà Resolver1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare StaticResolver.

    2. Nell'elenco a discesa Implementazione resolver fare clic su Estensione resolver statica.

    3. Nell'elenco a discesa Nome trasporto fare clic su FILE.

    4. Fare clic sulla proprietà Percorso trasporto e quindi digitare C:\HowTos\Out\East%MessageID%.xml.

  5. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento modello ReceiveNAOrder all'elemento modello RouteMessage .

  6. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento modello RouteMessage all'elemento modello SendNAOrder .

Per esportare il modello nel database di itinerario

  1. In Visual Studio fare clic con il pulsante destro del mouse sull'area di progettazione dell'itinerario GlobalBankEastItinerary e quindi scegliere Esporta modello.

    Nota

    L'itinerario è stato esportato nel database itinerario e ora può essere usato dal componente Selettore itinerario.

  2. Salvare tutti gli artefatti del progetto.

Per creare e configurare un ESB su rampa

  1. Fare clic su Avvia sulla barra delle applicazioni, scegliere Tutti i programmi, scegliere BizTalk Server e quindi fare clic su BizTalk Server Amministrazione.

  2. Nella console di amministrazione BizTalk Server espandere Gruppo BizTalk, espandere Applicazioni e quindi Microsoft.Practices.ESB.

  3. Fare clic con il pulsante destro del mouse su Posizioni di ricezione, scegliere Nuovo e quindi fare clic su Posizione di ricezione unidirezionale.

  4. Nella finestra di dialogo Seleziona porta di ricezione fare clic su OnRamp.Itinerario e quindi fare clic su OK.

  5. Nella finestra di dialogo Proprietà posizione di ricezione digitare OnRamp.Routey.HowTo nella casella Nome.

  6. Nell'elenco a discesa Tipo fare clic su FILE e quindi su Configura.

  7. Nella finestra di dialogo Proprietà trasporto FILE digitare C:\HowTos\DropFolder e quindi fare clic su OK.

Per configurare il componente pipeline del selettore itinerario

  1. Nell'elenco a discesa Ricezione pipeline della finestra di dialogo Proprietà posizione ricezione fare clic su ItinerarioSelectReceiveXml e quindi fare clic sul pulsante con i puntini di sospensione (...).

  2. Usare la finestra di dialogo Configura pipeline per configurare le proprietà del componente selettore itinerario seguenti:

    1. Fare clic sulla proprietà ItinerarioFactKey e quindi digitare Resolver.Itinerario.

    2. Fare clic sulla proprietà ResolverConnectionString e quindi digitare BRI:\\policy=ResolveItineraryBasedOnCustomer; useMsg=true; recognizeMessageFormat=true;

    3. Fare clic su OK per chiudere la finestra di dialogo Configura pipeline .

  3. Fare clic su OK per chiudere la finestra di dialogo Proprietà posizione ricezione .

  4. Nella console di amministrazione di BizTalk Server fare clic con il pulsante destro del mouse sul percorso di ricezione OnRamp.Itinerario.HowTo e quindi scegliere Abilita.

Per testare il selettore di itinerario e le regole aziendali

  1. In Esplora risorse passare a C:\HowTos.

  2. Copiare (non spostare) i file East.xml e West.xml nella cartella DropFolder.

  3. Passare a C:\HowTos\Out. Verificare che i messaggi East%MessageID%.xml e West%MessageID%.xml siano stati scritti nella directory.

    Nota

    Anche se identico ad eccezione del valore dell'elemento del cliente, i messaggi sono stati elaborati usando itinerari diversi, in base alla risoluzione del componente pipeline del selettore itinerario.

  4. Nella console di amministrazione di BizTalk Server fare clic con il pulsante destro del mouse sul percorso di ricezione OnRamp.Itinerario.HowTo e quindi scegliere Disabilita.

  5. Dopo aver disabilitato la posizione di ricezione OnRamp.Itinerario.HowTo , fare clic con il pulsante destro del mouse su di esso e quindi scegliere Elimina. Nella finestra di dialogo Conferma posizione ricezione eliminazione fare clic su .

Risorse aggiuntive

Per altre informazioni, vedere i seguenti argomenti correlati: