Condividi tramite


Utilizzo di collegamenti ruolo nelle orchestrazioni

I collegamenti ruolo rappresentano una forma di astrazione delle interazioni tra l'orchestrazione e i partner commerciali. I collegamenti ruolo consentono di scegliere in modo dinamico con quale partner commerciale interagire in base alla risoluzione, al contenuto del messaggio o ai risultati di una ricerca nel database mantenendo il processo aziendale generale intatto.

In uno scenario Business to Business, ad esempio, vi sono più acquirenti, un unico fornitore e più agenzie di spedizione del fornitore. Quando un acquirente invia un ordine di acquisto a un fornitore, quest'ultimo apprende tramite la risoluzione entità quale acquirente ha inviato l'ordine di acquisto in modo da poter applicare lo sconto appropriato. Inoltre, in base alle merci ordinate, il fornitore determina in fase di esecuzione quale agenzia di spedizione si occuperà del recapito. Sebbene sia possibile che ogni agenzia di spedizione abbia il proprio protocollo di trasporto, il fornitore può utilizzare lo stesso processo di business, in fase di esecuzione, per gestire tutte le agenzie di spedizione e determinare con quale agenzia interagire. In una fase successiva, se un'agenzia di spedizione aggiorna il proprio protocollo di trasporto, ad esempio da FTP a HTTP, il fornitore dovrà semplicemente utilizzare BizTalk Explorer o la Console di amministrazione BizTalk Server per aggiornare la porta di trasmissione associata a quella determinata agenzia di spedizione. Non è necessario che il fornitore modifichi il proprio processo di business, che risiede nell'orchestrazione.

Ruoli

In un'orchestrazione sono presenti due ruoli:

  • Un ruolo "Implementazioni" per ricevere ed elaborare i messaggi. Questo ruolo è noto anche ruolo Provider.

  • Un ruolo "Utilizzi" per l'invio di messaggi. Questo ruolo è noto anche come ruolo Consumer.

Un collegamento ruolo può includere un ruolo Consumer o un ruolo Provider oppure uno di ognuno. Un ruolo Consumer utilizza i servizi forniti da un ruolo Provider. Quando si definisce un collegamento ruolo con uno o entrambi i ruoli, si presuppone che il ruolo complementare venga svolto dal partner con cui si stabilisce il collegamento.

Un collegamento al ruolo ha una proprietà SourceParty , una proprietà DestinationParty e un ruolo di avvio. Un ruolo di avvio è il ruolo in cui viene eseguita la prima comunicazione e quindi avvia il collegamento al ruolo impostando il valore della proprietà DestinationParty .

Se il ruolo di avvio è un consumer per l'invio di messaggi, impostare in modo esplicito la proprietà DestinationParty (una sola volta) nell'orchestrazione. A tale scopo, impostare il valore di DestinationParty nella forma Expression , come nell'esempio seguente, dove ConfirmOrder è il nome di un collegamento al ruolo e PartnerName e OrganizationName sono parametri di un'entità:

ConfirmOrder(Microsoft.XLANGs.BaseTypes.DestinationParty) = new Microsoft.XLANGs.BaseTypes.Party("PartnerName", "OrganizationName");  

Se il ruolo iniziale è un provider per la ricezione dei messaggi, la proprietà DestinationParty viene inizializzata automaticamente dal ricevitore. DestinationParty è impostato sul provider stesso. La proprietà SourceParty è di sola lettura e viene fornita tramite un componente della pipeline attendibile per risolvere il nome della parte in base all'identificatore di sicurezza (SID) del mittente o a un certificato associato all'entità. L'host che esegue il componente della pipeline deve essere contrassegnato come Attendibile per l'autenticazione. È possibile ottenere il valore di SourceParty nella forma Expression usando il codice di esempio seguente:

PartyName = Buyer_Supplier(Microsoft.XLANGs.BaseTypes.SourceParty);

Un collegamento ruolo è un'istanza di un tipo collegamento ruolo, che è costituito da uno o due ruoli. Quando si utilizza un tipo di collegamento ruolo, prendere in considerazione quanto segue:

  • È possibile fare riferimento solo una volta a un determinato tipo di porta in un tipo di collegamento con un solo ruolo.

  • Dal momento che la definizione del tipo collegamento ruolo include i tipi di porta, l'ambito del tipo di porta deve racchiudere quello dei tipi collegamento ruolo che lo utilizzano.

  • Quando si utilizzano Servizi attività di business (BAS, Business Activity Services), lo schema di parametri strutturati deve essere definito nello stesso assembly BizTalk del tipo collegamento ruolo a cui è associato. Dal momento che lo schema è associato al tipo collegamento ruolo e non a singoli ruoli che costituiscono tale tipo collegamento ruolo, se le entità che svolgono ruoli differenti condividono l'assembly contenente il tipo collegamento ruolo, per entrambe le entità saranno visibili gli schemi di parametri strutturati. Se le due entità utilizzano lo stesso tipo collegamento ruolo ma devono avere schemi di parametri differenti, sarà necessario creare un assembly diverso per ogni entità. Il tipo collegamento ruolo deve essere duplicato in ogni assembly.

Contenuto della sezione

Vedere anche

Come configurare il componente della pipeline di risoluzione entità
Uso di porte nelle orchestrazioni