Arquitetura de Soluções

por Waldemir Cambiucci

BizTalk Server 2010: capacidades de integração e barramento de serviços na plataforma Microsoft

Olá pessoal, tudo certo?

Esses dias tenho participado de algumas discussões envolvendo integração de diferentes domínios de aplicações e barramentos de serviços. Como também estou devendo alguns comentários sobre o tema para o maestro Evilázaro, segue aqui esse post. 🙂

Como sabemos, o principal servidor de integração da plataforma Microsoft é o Microsoft BizTalk Server 2010. Esse produto está em sua 7 edição e já possui mais de 10 anos de janela. No mundo, são mais de 10 mil deployments em grandes empresas de diferentes indústrias. Ao longo do tempo, a plataforma sofreu mudanças, evoluindo em funcionalidades e recursos para diversos cenários de integração, mensageria e barramento de serviços. Quem chegou a trabalhar com a versão 2004 deve se lembrar do impacto da chegada da versão 2006, com uma administração muito melhorada, por exemplo.

Veja as inúmeras versões da plataforma no desenho abaixo:

image

Para quem não conhece o produto, o BizTalk Server é o servidor de integração da plataforma Microsoft, oferecendo recursos e patterns que suportam soluções de integração entre diferentes domínios de aplicação. Além de oferecer os principais patterns de uma solução de Enterprise Application Integration (EAI), o BizTalk Server ainda suporta um modelo de conectividade baseada em Adaptadores, com inúmeras alternativas como EDI, File, HTTP, FTP, SFTP, SMTP, POP3, SOAP, SQL, MSMQ, SharePoint Services, WebSphere MQ, WCF-BasicHTTP, WCF-WsHTTP, WCF-Custom, WCF-SQL, Custom, entre outros.

A resolução de endereços de serviços suporta os modelos UDDI 2.0/3.0, XPATH, Static e Business Rules Engine (BRE) e permite a construção de cenários complexos de orquestração e roteamento de mensagens.

Abaixo, segue um desenho macro sobre a mensageria e orquestração oferecida pelo BizTalk Server:

image

Note que o motor principal do produto é baseado numa MessageBox, uma caixa de mensagens que persiste historicamente as mensagens e dados trafegados pelo produto. Para mensagens recebidas de diferentes fontes de dados, o BizTalk pode disparar novas mensagens ou roteá-las para seus destinos, usando portas de comunicação pré-configuradas (Receive Ports e Send Ports). Da mesma forma, mensagens específicas podem disparar processos e orquestrações (Pub/Sub) que implementam regras de negócio, permitindo a criação de cenários de integração e orquestração de serviços e workflows.

Uma das principais ampliações de funcionalidade do BizTalk foi a adição da camada de abstração para Enterprise Service Bus (ESB) ou Barramento de Serviços. O Microsoft BizTalk Server 2010 ESB Toolkit adiciona ao ambiente BizTalk uma série de patterns e recursos que permitem a construção de barramentos corporativos, com funcionalidades de roteamento, mensageria, transformação, tratamento de exceção, discovering, resolução e itinerário de serviços.

O desenho abaixo ilustra a arquitetura macro do ESB Toolkit, veja:

image

Outro aspecto importante para projetos envolvendo o BizTalk Server é a definição de papéis claros de atuação. Podemos destacar 3 profissionais específicos: desenvolvedores (Developers), analistas de processos ou negócios (Information Worker) e administradores de redes (IT Pro’s).

image

O assunto é muito vasto. Esse post está longe de dar uma visão completa sobre os recursos e funcionalidades do BizTalk Server. A ideia foi mesmo dar algumas palavrinhas sobre o assunto.

Em minhas leituras, encontrei um material atualizado excelente na Web, que recomendo a seguir:

>BizTalk Server 2010 Documentation
>
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11503

>BizTalk 2010 Developer Training Kit (excelente!)
>
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=38c2ccfc-510c-4627-a33c-95e9d19f3478

>Microsoft BizTalk Server 2010 ESB Toolkit
>
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11847

>Microsoft BizTalk Server 2010 Performance Optimization Guide
>
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9094204c-3bc3-4f46-bdb9-6c7bc903330f

>BizTalk Server Best Practices Analyzer V1.2
>
http://www.microsoft.com/downloads/details.aspx?FamilyID=93d432fe-1370-4b6d-aaa8-a0c43c30f5ab&displaylang=en

>BizTalk Server 2010 Posters
>
http://dotnetbase.co.uk/post/2011/01/08/BizTalk-Server-2010-Posters.aspx

>BizTalk Benchmark Wizard
>
http://bbw.codeplex.com/


Finalmente, destaque especial para dois grandes MVP’s do produto: Ruth Rezende (Brasil) e Sandro Pereira (Portugal). O material publicado em seus blogs é Leitura Obrigatória para quem está envolvido em projetos com a plataforma BizTalk, confira!

MVP de BizTalk no Brasil – Ruth Rezende
Ref.:
http://www.biztalkbrasil.com.br/

MVP de BizTalk em Portugal – Sandro Pereira
Ref.:
http://sandroaspbiztalkblog.wordpress.com/


E como não poderia faltar, confira os posts sobre Barramento de Serviços e arquitetura SOA/SOI do arquiteto Markus Christen, aqui da Microsoft.

Blog do Markus Christen
http://blogs.technet.com/b/markuschristen/archive/tags/enterprise+service+bus/


Para terminar, a certificação sobre o BizTalk Server 2010 foi lançada em março desse ano, confira:

Exam 70-595: TS: Developing Business Process and Integration Solutions by Using Microsoft BizTalk Server 2010
http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-595

Por enquanto é só! Até o próximo post 🙂

Waldemir.