Clique aqui para ler todos os artigos desta edição
Integração entre sistemas usando XML e Web Services
Guilherme Mendonça Gomes
Este artigo discute | Este artigo usa as seguintes tecnologias |
· O que é BizTalk; · Criação de Web Services e XML Schemas; · Definição de Pipelines e Orchestrations. | Visual Studio 2005, BizTalk Server 2006 |
Neste artigo você conhecerá alguns dos recursos oferecidos pelo BizTalk 2006 e como estes podem lhe auxiliar no processo de integração de aplicativos e serviços. Você irá se familiarizar com as principais funcionalidades do BizTalk. Para facilitar o entendimento, imagine o seguinte cenário: uma empresa fictícia é fornecedora de utilitários de informática, o controle principal de vendas desta é feito por uma aplicação desenvolvida em Clipper há 15 anos que não pode ser substituída, devido ao grande esforço que o trabalho demandaria. A empresa acaba de fechar contrato com um novo distribuidor de produtos e este deseja receber via Web Service um XML com o conteúdo de cada venda. Para atender a essa necessidade os desenvolvedores da empresa decidiram utilizar o BizTalk para integrar os processos através dos padrões XML e SOAP.
O que é BizTalk?
Em um processo de negócio, é comum diversos aplicativos trocarem informações. O problema é que essa troca de informações, na maioria das vezes, é feita de forma desestruturada, onde cada sistema expõe as informações em um formato proprietário e o consumidor deve se adequar à estrutura para receber os dados. Com o avanço da tecnologia e a popularização da internet, as empresas buscam enquadrar seus sistemas em um cenário ideal, onde todas as aplicações seguem o mesmo padrão de comunicação e expõem seus dados na internet com os chamados Web Services.
O BizTalk Server 2006 é um servidor da família Microsoft e serve para integrar aplicativos. Com ele, você pode automatizar a integração entre os produtos de sua empresa ou de empresas parceiras, por meio de padrões como XML, SOAP e XSL. Isso garante a conectividade com sistemas de outras plataformas e linguagens. O ambiente de desenvolvimento de soluções BizTalk é o Visual Studio.NET. Todo o projeto é feito por meio de interfaces visuais que definem o fluxo de integração e as regras de negócio que devem ser aplicadas. Para desenvolver soluções que utilizam o BizTalk 2006, é necessário um computador com Visual Studio.NET 2005, as ferramentas de desenvolvimento do BizTalk (BizTalk Developer Tools) que podem ser encontradas no CD de instalação do produto, e o banco de dados SQL Server 2005.
Nota: Veja na seção links o endereço para fazer o download de uma versão trial do BizTalk. Para testar o BizTalk on-line, você pode utilizar os Virtual Labs da Microsoft.
Preparando o ambiente
Nesta etapa, simularemos um ambiente de integração. Você utilizará o BizTalk para resolver o problema citado no início do artigo. Criaremos um arquivo TXT na pasta do projeto, que representará a saída do sistema Clipper da empresa. Esse arquivo será captado pelo BizTalk e enviado a um Web Service, já no formato XML.
Abra o Visual Studio .NET 2005 e crie uma nova solução, clicando no menu File>New Project. Selecione a categoria Other Project Types>Visual Studio Solution. Selecione o template Blank Solution e o diretório “C:\”. O nome da solução será “MSDNMag”.
Crie agora duas pastas dentro do diretório C:\MSDNMag, uma chamada “Entrada” e outra chamada “Saida”. No Diretório C:\MSDNMag crie também um arquivo de texto chamado Pedido.txt, com o conteúdo da Listagem 1. Note que o arquivo contém uma lista de produtos da venda e algumas informações sobre esses produtos, tais como ID, Descrição, Quantidade e Valor.
Listagem 1. Arquivo Pedido.txt que possui as informações da venda
ITEM1,teclado,3,17
ITEM2,mouse,7,25
ITEM3,monitor,1,450
ITEM4,webcam,2,190
Criando o Web Service
Criaremos agora o Web Service da distribuidora que irá receber do BizTalk os dados do pedido. No Visual Studio, selecione File>Add>New Web Site. Selecione o template Web Service, defina o caminho “C:\MSDNMag\WebService” e escolha a linguagem que mais lhe agrada. Neste exemplo usaremos C#.
Exclua agora o serviço default que o Visual Studio cria (Service.asmx) e adicione um novo serviço clicando com o botão direito no projeto e selecionando Add New Item. Escolha o template Web Service e dê o nome “Distribuidora.asmx” ao arquivo. A implementação desse Web Service deve seguir a Listagem 2. O Web Service possui um método chamado ValidaCompra que recebe um XmlDocument como parâmetro e grava esse documento XML no diretório de saída previamente criado. O arquivo é gravado com o nome de um ...