Já muito se tem falado sobre a plataforma BizTalk Server, o que é, e as vantagens que oferece as organizações. Para os mais distraídos, BizTalk Server é a plataforma de excelência da Microsoft para a integração de sistemas e processos empresariais.
Não há nada que o BizTalk faça que com código escrito de raiz não se consiga fazer, a questão é quanto tempo demora a implementar uma solução sem um uso de middleware (sistema de integração). Facilmente se conseguirá efectuar uma integração entre dois sistemas com o uso de tecnologias de comunicação e transporte de dados tais como o Microsoft WCF, mas quando se analisa com mais atenção alguns requisitos, é fácil identificar certos desafios que se podem tornar bastante complexos: implementação de persistência, correlação de mensagens assíncronas, recuperação em caso de falhas nas comunicações, mapeamentos complexos, atomicidade, transacções de longa duração, monitorização e visibilidade dos processos, e tudo isto se reflecte, para um programador, em custos enormes na implementação.
Antes de aprender a programar é ensinado a todos os programadores como representar todos os passos necessários para a execução de um processo na forma de um fluxograma, isto porque é mais legível e ilustra de forma simplificada o progresso da execução.
O BizTalk Expression Editor permite aos programadores introduzir código .NET, com suporte a intellisense, directamente nas orquestrações ou invocar bibliotecas externas, o que em certos cenários se torna bastante útil, como por exemplo: manipular valores das mensagens a partir da Message Assignment shape, manipular variáveis na Expression shape, construção de expressões booleanas dentro de Loop e Decide shapes, definir tempo de pausa na Delay shape, ou até mesmo configurar portas dinâmicas de saída.
O BizTalk Server inclui o Business Rules Framework onde podem ser isolados critérios de decisão de negócio. Sendo que os módulos principais incluem o Business Rule Composer para construção de políticas (regras), o Rule Engine Deployment Wizard para as instalar no Run-Time Business Rule Engine.
Inclui o BizTalk Mapper Designer, integrado no Visual Studio, que possibilita efectuar transformações de mensagens complexas de forma visual e extremamente simples.
É comum nas aplicações Service-Oriented Architecture (SOA) ou Business Process, onde os processos podem abranger vários endpoints (sistemas), as operações não poderem ser realizados num curto período de tempo, o que origina a que as transacções ACID não sejam as mais adequadas para este tipo de cenários. Ao contrário da programação tradicional, o BizTalk Server suporta dois tipos distintos de transacções:
Inclui mais de 25 adaptadores que simplificam a integração directa para as top “Line of Business (LOB) Applications” (tais como o Siebel, SAP, JD Edwards, Oracle ou Dynamics CRM), Base de dados (Microsoft SQL Server, Oracle, DB2) e outras tecnologias (Tibco, Java EE).
Fornece um modelo de programação enriquecido para desenvolvimento de adaptadores baseados em Windows Communication Foundation. (WCF LOB Adapter SDK)
Electronic Data Interchange (EDI) é uma das formas mais comuns de comunicação electrónica entre organizações (Facturas, encomendas, notas de débito). Estes padrões (EDIFACT, ASC X12) são projectados para leitura electrónica, e portanto inadequados para leitura humana, reflectindo à troca estruturada de dados de negócios entre sistemas utilizando um formato de dados padronizado que garante a fiabilidade dos dados através de diferentes checksums.
O Business Activity Monitoring ou BAM é um módulo que captura dados de negócio e milestones do processo permitindo que os analistas de negócios monitorizem e analisem os dados em tempo real.
Mesmo quando for preciso expor um processo como um Web Service, existem wizards que nos ajudam a criar tanto os projectos WCF, como na instalação destes no servidor Web (IIS). O mesmo acontece no caso de querermos incluir nos nossos processos, chamadas a outros Web Services.
Uma dos padrões mais antigos para a troca de mensagens é a utilização de arquivos texto (Flat Files) como como: CSV ou TXT, muitos deles customizados à medida para os sistemas. Porém com a adopção do XML como formato de eleição na troca de mensagens, muitas vezes é necessário transformar arquivos texto em XML e vice-versa.
CABEÇALHOXXXXXXXXXXXXXXXXXXXX CORPOXXXXXXXXXXXXXXXXXXXXXXXX CORPOXXXXXXXXXXXXXXXXXXXXXXXX RODAPÉXXXXXXXXXXXXXXXXXXXXXXX
1999990;1;P0110;1;1;20110307; 1999990;2;P0529;2;2;20110307; 1999990;3;P0530;3;3;20110307;
As ferramentas de desenvolvimento do BizTalk usam pastas, ficheiros e projectos do Visual Studio. Assim as equipas podem tirar partido de todo o ambiente ALM (Application Lifecycle Management) colaborando naturalmente com os demais programadores, gestores de projecto e testers que fazem parte da equipa.
Sandro Pereira DevScope | MVP & MCTS BizTalk Server 2010 http://sandroaspbiztalkblog.wordpress.com/ | @sandro_asp
Sandro Pereira edited Revision 5. Comment: style
Sandro Pereira edited Revision 4. Comment: novas imagens
Sandro Pereira edited Revision 3. Comment: novas imagens
Fernando Lugão Veltem edited Revision 2. Comment: alterado tag
Sandro Pereira edited Revision 1. Comment: novas imagens
Sandro Pereira edited Original. Comment: novas imagens
Excelente artigo!