Biztalk Server 2010 – Tópicos e elementos principais [pt-BR]

Introdução ao Biztalk 2010

Conheça o Biztalk 2010 em quinze minutos!

Tópicos Abordados:

                    – XML

                    – Schemas (XSD)

                    – Maps (XSLT)

                    – Pipelines

                    – Orchestrations

O Biztalk Server é um produto desenvolvido pela Microsoft com vista a responder à cada vez maior existência de sistemas dispares com necessidade de comunicarem entre si.

Não responde apenas à integração de aplicações dentro de uma organização como permite a comunicação entre  aplicações de organizações espalhadas pelo globo. Utiliza como base de trabalho mensagens em XML, formato este amplamento suportado pelos  sistemas de informação existentes, o que permite a este nivel colocar todos os sistemas a comunicarem entre si nesta mesma linguagem, o XML.

Mas como nem todos os sistemas exportam mensagem em XML, o BizTalk Server permite ainda converter outros formatos de dados em XML através da utiização de pipelines. Estas pipelines fazem a conversão dos vários formatos em XML à chegada de uma mensagem mas  também permite caso a aplicação que vai receber a mensagem peça outro formato que não XML, converter a mensagem XML noutro formato à saida.

Mas como não existe apenas um problema no que toca a integração de aplicações, o Biztalk suporta ainda a resolução dos mais variados problemas. Um destes problemas é o tipo de mensagem que vem de uma aplicação face ao tipo de mensagem que vai entrar na aplicação integrada, pensemos da seguinte forma, uma determinada organização tem um website de registo de formulários nos quais o utilizador deve inserir, primeiro nome, nome do meio e último nome.

Quando completo o preenchimento do registo é enviada uma mensagem XML para a organização que processa os pedidos  mas esta na sua base de dados de registo de utilizadores tem apenas o campo nome completo. Como vemos este aqui uma diferença nos tipos (abstrações) das mensagens, onde estas têm atributos diferentes.

Antes de explicar como este problema se resolve importa salientar que o Biztalk Server suporta a definição destes tipos de mensagens com os seus atributos através de Schemas que são nada mais nada menos do que uma abstração de um XML, ou seja quais os seus atributos, elementos e propriedades dos mesmos, assim quilo que normalmente se faz em primeiro lugar no Biztalk é definir quais o tipo de mensagem que entra o qual o tipo mensagem de saida (Schema de entrada e Schema de saida).

Tendo presente a definição dos schemas em Biztalk, podemos dar a resposta ao problema acima colocado, que como percebemos agora são uma discrepancia entre elementos do Schema de entrada com os de saida ou seja temos de ter uma forma de concatenar os três nomes num só para este seja escrito para o Schema de saida.

Para dar resposta a este tipo de problemas, o Biztalk Server tem um componente de projecto chamado Map que corresponde a um ficheiro .xslt  e que serve para mapear estas transformações de atributos e elementos de um Schema de entrada para um Schema de saida. A grande beleza do Biztalk Server 2010 é que estas transformações são facilmente realizadas através daquilo a que se chamam functoids.

Estes functoids são código C# encapsulado com rotinas muitas vezes utilizadas (concatenações, obter datas, realizar ciclos como for e while, if..then..else, entre outros), e que através da interface gráfica de criação de mapas do Biztalk Server 2010 é uma operação de drag-and-drop e de posterior ligação dos elementos do schema de entrada a este functoid e do resultado ao elemento do schema de destino.

Tendo estas transformações todas feitas chega a parte de enviar os dados para a organização ou aplicação de destino. E é que chega a introdução de outro componente de projecto muito potente desta tecnologia, as Orquestrações. Estas orquestrações são como o nome pode sugerir organizações do fluxo de dados. Permitem establecer modelos do processo de negócio.

Para perceber o esta parte das orquestrações  vamos recorrer ao nosso exemplo, imaginando agora que a empresa que trata os dados do formulário de registo de utilizadores tem um erp para processamento dos registos válidos, e uma base de dados sql com três tabelas distintas, uma para utilizadores menores, outra para utilizadores adultos e uma última para idosos, isto pois existem permissões diferentes consoante a idade.

Para dar resposta a este tipo de problemas em que uma mensagem pode seguir vários caminhos necessitamos de criar o que se chamam regras de negócio. Estas regras no Biztalk Server são implementadas nas orquestrações, desta forma definiriamos uma mensagem de chegada que seria a dos dados brutos do formulário, depois uma transformação à mensagem e posteriormente teriamos um componente de decisão com as várias regras, se idade<18 então…, se idade>18 and idade<65 então…, else….

Por último as orquestrações permitem definir várias portas de entrada e saida, sendo que no nosso exemplo existiria uma porta de chegada das mensagems do formulário e quatro portas de saida, uma para o erp onde iriam todas as mensagens e outras três por onde seguiria a mensagem em função das regras definidas. Em Biztalk Server existe apenas o problema de só conseguirmos efectuar regras ou filtros em orquestrações com schemas  o que nos pode baralhar um pouco, mas até isto tem solução através de um mecanismo de promoção de elementos de um Schema. Estas promoções criam um novo schema onde existe a propriedade promovida e com ela podemos criar as regras. Mais uma vez com o nosso exemplo, para podermos utilizar a idade ou data de nascimento como filtro teriamos de no schema de entrada a promover para posteriormente na orquestração definir as nossas regras.

Por último o Biztalk permite criar portas virtuais nas orquestrações, mas nas quais podemos associar uma porta fisica ou seja no nosso modelo de processo de negócio (orquestração) é possivel especificar todo o fluxo de mensagens entre as aplicações a integrar.

Deste forma concluimos referindo o aumento exponencial de aplicações empresariais na última década e na necessidade de integração dos seus dados para criar conhecimento sólido e para criar processos de negócio mais eficientes e eficazes. O Biztalk resposde assim ao grande paradigma da nossa sociedade de conhecimento: “Informação certa, no local certo à hora certa”, toda a informação independentemente da sua origem é passivel de ser integrada e trabalhada em qualquer parte do mundo, em qualquer dispositivo e a qualquer hora.

Obrigado,

Rui Machado

Arquitectura Biztalk EAI explicada no text:

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s