Tuesday, June 6, 2006

BizTalk 2006: Call Orquestration Shape e a Message Box

Apesar de ter ideia de que o Call Orchestration, ao contrário do Start Orchestration, não implica uma passagem pela MessageBox, nunca o tinha tirado a limpo. Para o comprovar, criei um cenário simples, com leitura de um XML de uma pasta e activação de uma orquestração que depois faz um call a uma segunda orquestração. Durante o teste, liguei o "good-old" Sql Profiler para ver o que se passava na base de dados (BizTalkMsgBoxDb). Além de inúmeras chamadas a bts_DeQueueMessages*, inerentes ao mecanismo pub/sub, registei as seguintes chamadas:


- bts_InsertProperty: uma chamada para cada promoted property do Xml, contendo o valor de cada property;
- bts_FindSubscriptions: uma chamada, depois de todos os InsertProperty, para verificar as subscrições;
- bts_InsertMessage: duas chamadas, a primeira para inserir atributos, a seguinda para inserir o binário da mensagem recebida.


Todas estas invocações ocorrem aquando da activação da orquestração inicial. Ao fazer o Call Orchestration... não acontece nada, mesmo quando a sub-orchestration recebe parâmetros.


Dúvida esclarecida, portanto: o Call Orchestration não passa pela MessageBox, daí também a sua rapidez.


[Cross-Posted de http://www.arquitecturadesoftware.org/blogs/joaomartins]

No comments:

Post a Comment