O que faz o BizTalk e quando podemos utilizá-lo

O BizTalk é um servidor desenvolvido pela Microsoft para integrar sistemas computacionais, desenvolver processos de negócios complexos e gerenciá-los de maneira organizada. Integração de sistemas nada mais é do que a necessidade de enviar informações de um software para outro que necessite desta informação, completando um ciclo ou processo de negócio. Já o desenvolvimento de processos de trabalho é baseado em fluxo de informações, onde estas podem passar por diversas transformações e pontos de decisões até chegar em seus destino final.

2. Utilizando o BizTalk para integração de aplicações corporativas (EAI)

Acredito que os sistemas são a extensão de uma pessoa, com eles podemos fazer coisas muito mais rápido aumentando nossa produtividade. Por que as pessoas precisam se comunicar? Para trocarem informações, correto? Da mesma forma que as pessoas estão conectadas, os sistemas também necessitam estar conectados. Este é um dos princícios do BizTalk, fazer com que os sistemas comuniquem-se entre si.

Acompanhe o seguinte caso de utilização do BizTalk:

O cliente entra em um site de uma loja virtual na internet e adquire um produto qualquer. Logo após a efetivação da compra é encaminhado para o BizTalk um documento (podendo ser um arquivo texto, XML, mensagem, etc) contendo as informações do produto e do cliente. Então o BizTalk analisa estas informações, valida se estão corretas e verifica no sistema de estoque se existe a mercadoria. Em caso afirmativo, ele recebe uma resposta do sistema de estoque e encaminha o pedido para o sistema de faturamento que emite uma nota de compra e outra de transporte. Depois que o sistema de faturamento emitir a nota e faturar o produto o BizTalk recebe outra resposta com as informações da nota de transporte e encaminha para o sistema de entrega, que por sua vez irá enviar um pedido de entrega para a empresa de transporte, que no fim irá entregar o produto na casa do cliente.

Este é um caso de aplicação do BizTalk, o processo poderia ser bem mais completo, mas simplificamos para melhor entendermos. O papel do BizTalk é ser o maestro deste processo, toda a lógica de negócio está dentro dele, além do fluxo de informações e as interfaces com cada sistema que são necessárias. Cada seta do caso acima pode ser um padrão de comunicação como arquivos textos ou XML, protocolos de comunição como HTTP, FTP, MSMQ, SMTP, POP3, entre outros. O conceito EAI (Enterprise Application Integration) é este: integrar sistemas de informação em uma empresa, de uma forma simples e coerente.

3. Utilizando o BizTalk para integração de sistemas entre parceiros de negócio (B2B)

Cada vez mais os clientes buscam respostas rápidas, e para isso, muitas vezes dependemos de parceiros e fornecedores para responder a esta velocidade com menor custo. Existem processos de negócio que se extendem a uma infinidade de empresas, sendo necessário o controle desta operação para não deixar o cliente esperando.

Continuando com o exemplo anterior, mas utilizando outras empresas parceiras no processo:

O cliente executa uma compra em um sistema web qualquer, logo após a efetivação da compra o BizTalk captura as informações e verifica se o produto adquirido existe no estoque do fornecedor (neste caso o cliente não possui estoque, ele adquiri os produtos sob demanda para comercialização). Após o retorno do fornecedor o BizTalk encaminha o pedido para o sistema de faturamento, onde é emitida a fatura que será encaminhada para o cliente. Ao mesmo tempo o BizTalk já encaminha um pedido de entrega do produto para o parceiro de transporte, onde contém as informações do cliente para entrega e as informações do produto que será entregue.

Conectar aplicações entre empresas diferentes é o papel das integrações B2B (Business to Business), onde podemos encontrar os mais variados cenários, padrões de comunicações e complexidade de processos de negócios corporativos.

4. Utilizando o BizTalk para gerenciamento de processos de negócio (BPM)

Processos de negócio complexos envolvem clientes, diversos sistemas, fornecedores, parceiros, entre outros coadjuvantes, aumentando a possibilidade de erros e falhas. Por este motivo é fundamental que nestes processos críticos tenhamos a possibilidade de monitorá-los em tempo real, tomar direções de acordo com esta monitoração, rastreá-los caso necessário, e muito mais. Estes processos possuem fluxos de trabalho extensos, então ferramentas de workflow e gerenciamento são muito bem vindas para controle e accounting.

Apresentamos estes dois desenhos para ilustrar esta funcionalidade:

No diagrama Definindo Integrações possuímos diversos sistemas conectados ao BizTalk. Muitas vezes um processo de negócio (exemplo uma venda de produto ou serviço) começa no sistema de Call Center, passa pelo sistema de CRM, e chega até o ERP da corporação. Para cada sistema podemos ter uma forma diferente de entrada e saída de dados, justamente por serem desenvolvidos por empresas distintas. Se tivermos uma forma padronizada de integração e que seja adaptável a qualquer cenário, gastaremos menos tempo para desenvolvê-las. Além do mais, tudo que passar pelo BizTalk poderá ser armazenado numa base de dados, podendo gerar informações consistentes e importantes para análise do negócio como um todo. Além de sistemas possuímos servidores de aplicação e bancos de dados que estão conectados ao BizTalk, facilitanto o desenvolvimento de cenários de acordo com sua necessidade.

No desenho Gerenciando Processos de Negócio e uma vez estes sistemas conectados trocando informações através do BizTalk, temos uma gama de ferramentas disponibilizadas por ele para desenvolver, gerenciar e monitorar este grande workflow. Entre elas destacamos algumas como: BAM (Business Activity Monitoring), BRC (Business Rule Composer), BAS (Business Activity Services), HAT (Health and Activity Tracking), Orchestration e HUB (Management Console). Estaremos apresentando estes recursos mais detalhadamente em um próximo artigo.

Caso seja necessário criar um ponto central para criação, manutenção e principalmente acompanhamento e rastrabilidade de lógicas comerciais para os processos de negócio, o BizTalk é uma boa opção.

5. Componentes internos do BizTalk Server 2006

Estaremos apresentando os principais componentes do BizTalk para executar as atividades de integração e orquestração de processos de negócio. O intuito deste é falar apenas conceitualmente como o produto funciona, não entrando em detalhes técnicos, tão logo iremos abordar em um outro documento.

Segue o diagrama de funcionamento do BizTalk:

A apresentamos cada componente da solução:

Message: O ítem em verde representa a informação que está sendo enviada para o BizTalk ou ele por sua vez está buscando em algum sistema, diretório ou infra-estrutura de tecnologia como um banco de dados, fila de mensagem ou servidor de aplicação por exemplo. Os dados contidos nesta mensagem

Receive Port: A porta de recebimento é um conjunto de componentes físicos e lógicos do BizTalk utilizados para receber informações externas e transformá-las em um padrão compreensível para serem armazenadas no banco de dados do BizTalk. Isso irá facilitar o tratamento destas informações mais adiante na parte de orchestração do processo.

Receive Adapter: O adaptador de recebimento é responsável por receber as informações. Diversos adaptadores podem prover diversos meios de comunicação como por exemplo arquivos texto, arquivos XML, protocolos de comunicação como FTP, HTTP, filas de mensagem como MSMQ entre outros mecanismos de transporte de dados.

Receive Pipeline: O pipeline de recebimento é utilizado para processar a mensagem. Nele existem componentes que podem executar atividades como conversão de arquivos em um formato específico para XML, validação de mensagens através de assinatura digital, descriptografia, entre outras atividades de pré-processamento.

Message Box/Persistent Store: Após a mensagem é entregue a um banco de dados chamado MessageBox onde é armazenada para ser utilizada pelas ferramentas do BizTalk. Quando os dados chegam neste ponto são encaminhados para a sua orchestração destino, onde passam por uma lógica pré-defina.

Orchestration: Aqui é onde o BizTalk executa a lógica de negócio definida pelos especialistas do processo. Este processo é baseado em workflow, onde existe um início, uma sequencia de decisões, avaliações, condições, transformações entre outras atividades. Um processo pode utilizar diversas Orchestrations, e geralmente o resultado deste processamento é outra mensagem que será encaminhada para uma porta de envio.

Rules Inference Engine: Para não precisarmos alterar todo o processo de negócio por uma necessidade temporária por exemplo, o BizTalk oferece o Business Rule Engine, uma ferramenta simplificada para criação de regras baseadas em condições mais simples.

Send Port: Uma vez a mensagem processada e alterada pelo Orchestration ela é enviada novamente para o banco de dados e encaminhadaa para uma porta de envio onde existem componentes que irão tratar e prepara as informações para serem enviadas ao seu destino.

Send Pipeline: Igualmente ao Pipeline de recebimento, este componente faz o tratamento da mensagem, validando, transformando e executando tarefas necessárias para que o destinário receba o formato definido anteriormente na integração.

Send Adapter: Responsável pelo envio das informações ao seu destino, trabalhando com os mesmos protocolos citados no adaptador de recebimento fazendo o papel da entrega da informação.

Message: Por fim a informação enviada para o BizTalk sai transformada ou analisada de acordo com as regras e atividades uma vez definidas nas ferramentas que acabamos de analisar. Ainda existem possibilidades uma mensagem poder gerar inúmeros fluxos de trabalho, e todos podendo ser conectados, controlados e monitorados pelo BizTalk.

 

Fonte: http://www.andersonpatricio.org/Tutoriais/Tutoriais.asp?Tut=601

Deixe um comentário