Friday, March 10, 2006

BizTalk 2004/2006 - Policies e vocabulários

No motor de regras do BizTalk, tanto as Policies/Rulesets como os Vocabulários deixam de se poder alterar a partir do momento que são publicadas. Qualquer correcção pretendida deve ser feita pela criação de uma nova versão. Por vezes, especialmente em desenvolvimento, é conveniente conseguir contornar este comportamento, até para que não se passe para produção uma versão 1.123 que teve N iterações em desenvolvimento.

Uma forma rápida de o fazer  é aceder directamente à BD de regras (geralmente chamada BizTalkRuleEngineDb), e alterar nas tabelas os valores que controlam o estado de policies/vocabulários:
- para policies: abrir a tabela re_ruleset, localizar a policy que queremos "undeployar", e modificar o valor na coluna nStatus de 1 para 0;
- para vocabulários: abrir a tabela re_vocabulary, localizar o vocabulário, e modificar o valor na coluna nStatus de 1 para 0;

Depois de se fazerem as modificações, pode ou fazer-se um novo deploy, no Business Rule Composer, ou simplesmente voltar a modificar o nStatus para o valor 1. Caso o tracking esteja ligado para uma policy que tenhamos alterado, esta é aliás a única alternativa, porque dá um erro ao fazer deploy.

A terminar, note-se que esta solução não é recomendada, de forma alguma, especialmente em ambientes que não desenvolvimento! Utilizar com muito cuidado.
[Cross-Posted de http://www.arquitecturadesoftware.org/blogs/joaomartins]

No comments:

Post a Comment