Chamar orchestration Biztalk 2006 dinamicamente, sem a dependecia entre os projetos.

Usar o shape de “Call Orchestration” nos obriga a adicionar a referencia do projeto que inclui a Orchestration que vai ser chamada. Mas isso tem um grande inconveniente: se cem projetos usarem essa Orchestration, quando houver alguma atualização, vou precisar excluir as cem Orchs do Console para conseguir fazer o Update.

Seria necessário chamar a orchestration através de um shape expression, fazendo referencia somente ao Assembly.
Pesquisando na internet, encontrei em um blog a solução perfeita: uma forma de passar o Assembly da Orchestration de forma dinâmica para o shape “Call Orchestration”.
No blog, ele sugere criar uma Dll que imite uma orchestration, ou seja, fazer uma orchestration customizada sem a parte gráfica. Nessa “orchestration”, recebe dois parâmetros, o Assembly da orchestration e um ArrayList com os parâmetros que deverão ser passados.
Muito inteligente a solução e realmente funciona. No blog o autor coloca um link para baixar o exemplo.
Segue o endereço do blog.
http://www.jonfancey.com/default.aspx?key=2007-03-07T09:08:12Z

Tudo o que vem facil, vai facil.
Usando esse exemplo percebi que se na minha orchestration que seria chamada contivesse uma porta de request/response a DLL não funciona; Aparece um erro dizendo que o XmlDocument não é serializavel.

Com base nessa ideia, criei um outro exemplo, mas com diferenças significativas:
1 - Agora eu tenho a parte grafica e posso debugar a "DLL", como se realmente fosse uma orchestration.
2 - Existem nessa nova solution 3 parametros: 1 string de entrada TipoProcesso, que representa o Assembly a ser passado; MsgIn parametro de entrada do Tipo XMLDocument; MsgOut parametro de saida do tipo XMLDocument.
3 - Com esses novos parametros a orchestration que sera chamada deve obrigatóriamente conter o parametro de entrada do tipo XMLDocument e parametro de Saida do tipo XMLDocument.

Por favor façam o download do novo Release.






Last edited Nov 10 2009 at 6:04 PM by parugui, version 3

 

Want to leave feedback?
Please use Discussions or Reviews instead.

Updating...
© 2006-2010 Microsoft | Get Help | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2010.2.24.16331