Determinare l'insieme di destinazioni di messaggi in fase di esecuzione in applicazione BizTalk

StackOverflow https://stackoverflow.com/questions/3821517

  •  26-09-2019
  •  | 
  •  

Domanda

Sono un novizio completo a BizTalk e ho bisogno di creare un BizTalk di applicazione 2006 che trasmette i messaggi in modo specifico. Non sto chiedendo una soluzione completa, ma per consigli e linee guida, quali funzionalità di BizTalk dovrei usare.

C'è una fonte del messaggio, per semplicità, ad esempio, una directory in cui l'utente aggiunge i file di pubblicarle. Ci sono diversi utenti, ciascuno con una directory per ricevere file pubblicati. Il numero di abbonati può variare nel corso dello sfruttamento del programma. Ci sono anche alcune regole che determinano se un determinato abbonato ha bisogno di ricevere un particolare file, in base al nome del file. Ad esempio, ogni abbonato ha un modello o una maschera di nome di file quali file si riceve devono corrispondere. Tali norme (ad esempio, i modelli) possono cambiare nel tempo pure.

Non so come fare questo. Creare una serie di porte di trasmissione in fase di esecuzione, ciascuno per ogni destinazione? È possibile? Utilizzare una porta di cambiare il suo legame? Sarebbe lavorare correttamente con spedizioni simultanee? Ci sono altri modi?

Modifica

ho capito la mia domanda potrebbe essere quella di oscurare e generale a preferire una risposta piuttosto che un altro per accettare. Così ho appena li upvoted.

È stato utile?

Soluzione

Se le modifiche alla destinazione stanno per essere frequenti, hai ragione nella ricerca di una soluzione più dinamica. Una soluzione interessante è utilizzare porte di trasmissione dinamica e Business Rules Engine. È possibile creare set di regole per i messaggi che si sta receving. Questo potrebbe essere basato su una proprietà di destinazione o codice cliente nel messaggio. L'utilizzo di questi fatti, il motore delle regole può restituire un po 'di informazioni come maschera di file, il nome del server, indirizzo IP del server deleiver, ecc È possibile thenuse queste informazioni per configurare la dinamica di invio nell'orchestrazione. La vera cosa bella è che è possibile aggiornare il set di regole nel motore di regole senza ridistribuire l'intera soluzione. Come newb, questi sono alcuni concetti avanzati, ma non come diificult come si potrebbe pensare.

Per una soluzione più semplice, si potrebbe desiderare di guardare l'impostazione delle proprietà adattatori Invia file tramite essa la Propery Schema (es. Nome del file, directory, ecc). Si potrebbe tirare questi valori da un database con una classe di supporto all'interno di una forma expresison. Su ogni messaggio ogig fuori, utilizzare la proprietà per shcema set in cui verrà inviato e nominato il messaggio. In questo modo, è sufficiente aggiornare il database come cambiare le cose.

Buona fortuna!

Altri suggerimenti

Si potrebbe guardare con porte dinamiche di invio per raggiungere questo obiettivo - se i vostri abbonati sono veramente dinamico. Questo introduce un po 'di complessità in quanto avrete bisogno di utilizzare un'orchestrazione per configurare le proprietà della porta di trasmissione in base alle proprie regole.

Se è possibile, provare a rimuovere la complessità. Se si sa che non c'è bisogno di essere veramente dinamico quando si aggiungono gli abbonati (ad esempio un abbonato ed è regole possono essere configurate una sola volta) e si dispone di un numero gestibile di abbonati poi vorrei suggerire la configurazione di ogni abbonato utilizzando il proprio porta di trasmissione e utilizzare un filtro per creare abbonamenti in base alle proprietà di contesto del messaggio. La bellezza di questo approccio è che non è necessario per creare e distribuire un'orchestrazione e questo diventa una soluzione altamente performante e scalabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top