Esse artigo faz parte da revista .NET Magazine edição 54. Clique aqui para ler todos os artigos desta edição

owtext; FONT-FAMILY: Verdana; mso-ansi-language: EN-GB">Easy .NET

Introdução a Web Services

Crie seus primeiros serviços para Web

 

Neste artigo veremos

·         O que é um Web Service;

·         Histórico do Web Service;

·         Visão de WSDL;

·         Construindo Web Services na prática;

·         Consumindo um Web Service.

Qual a finalidade

·         Conhecimento básico para disponibilizar e consumir Web Services começando do zero.

Quais situações utilizam esses recursos?

·         Quando queremos integrar sistemas, ou disponibilizar recursos.

 

Resumo do DevMan

Web Services são utilizados para múltiplos fins, para integrar diferentes sistemas e plataformas, para prover serviços através da internet e para trafegar dados também através dela. Para isso utiliza o protocolo SOAP (Simple Object Access Protocol) e XML (eXtensilble Markup Language), linguagem baseada em texto para permitir a comunicação heterogênea. Neste artigo veremos uma introdução a Web Services e como construir nossos primeiros serviços com o Visual Studio.

 

Imaginemos uma situação, com dois gerentes de T.I. (Tecnologia da Informação), da empresa A e da empresa B. Ambos recebem uma tarefa de integrar uma parte de seus respectivos sistemas. Há alguns anos seria comum uma equipe da empresa A ir conhecer o sistema da empresa B, e vice-versa. Nesta visita as equipes mapeariam o funcionamento do sistema da outra empresa, para depois em reuniões tentar definir um escopo de integração. Este processo foi utilizado durante muitos anos (e ainda tem gente usando!), porém ele traz alguns problemas. O primeiro é o custo de deslocamento da equipe. Se for na mesma cidade, menos mal, mas se for em outra cidade, ou até outro país, os custos acabam aumentando.

O segundo problema que nos vem à cabeça é a questão de segurança. Como fazer que uma equipe de outra empresa tenha acesso ao sistema? Eles poderão acessar qualquer parte do sistema e ter acesso à informações sigilosas que talvez não possam ser divulgadas. Ou então a equipe teria que trabalhar horas desenvolvendo uma aplicação intermediária para que a outra equipe só possa ter acesso a uma parte do sistema.

Um terceiro problema é de plataforma. Como integrar sistemas de plataformas diferentes? Neste artigo vamos conhecer os Web Services, e como eles podem nos ajudar a solucionar algumas destas questões.

 

Um pouco de história

Transmissão de dados via computadores é algo que vem sendo feito desde 1969, com quatro computadores conectados. Conforme o sistema de transmissão foi evoluindo, era necessário utilizar alguns protocolos especiais de transmissão como o TelNet, FTP ou até o http. Algumas novas tecnologias também foram surgindo para facilitar a transmissão de dados, entre elas o RPC (Chamada de procedimento remoto). O CORBA (Common Object Request Broker Architecture) surgiu para auxiliar a tornar a comunicação mais independente da plataforma, permitindo que objetos se comuniquem de forma transparente aos usuários.

Duas vertentes também conhecidas do RPC surgiram ligadas à plataforma. A Sun lançou o RMI, um RPC para as plataformas Unix e Linux. A Microsoft por sua vez lançou o DCOM (Distributed COM), permitindo utilizar  componentes COM através da rede. Apesar de estar disponível em outras plataformas como IBM, Unix, entre outras, o DCOM era quase que restrito ao ambiente Microsoft, o que dificultava a integração de sistemas.

Como podemos perceber cada fabricante tinha o seu padrão, e se quiséssemos integrar sistemas de plataformas diferentes seria muito difícil. Para resolver o problema, foi criado o SOAP (Simple Object Access Protocol), por diversas empresas de Tecnologia, inclusive a Microsoft e a IBM. O SOAP permite traçar informações de forma estruturada, tendo o XML (eXtensible Markup Language) como base. As principais vantagens do SOAP são a capacidade de integrar sistemas de diversas plataformas e permitir uma escalabilidade bem maior que com as tecnologias anteriores. Mecanismos para tratamento de erro e permissão de evolução da tecnologia também são algumas das vantagens do SOAP. Junto com o SOAP criou-se o conceito de Web Service, ou seja, a possibilidade de integrar sistemas através de XML, independente da plataforma ou sistema operacional.

Hoje o SOAP é adotado pelo W3C (World Wide Web Consortium), um consórcio de empresas de tecnologia que normatiza o desenvolvimento voltado à internet. Utilizar o XML traz para a solução uma grande flexibilidade de organização de dados, de forma a adaptar-se em praticamente qualquer projeto. Além de possibilitar o envio de matriz (array), e dados mais estruturados, a possibilidade de criptografar dados também foi primordial para a escolha do XML como base para troca de informação.

 

Web Services

Como acabamos de ver, o Web Service é uma maneira simples de integrar sistemas, utilizando como base um arquivo texto, estruturado, capaz de ser lido por praticamente qualquer plataforma. Hoje, temos inúmeros exemplos de sistemas que trabalham com Web Service. Desde uma loja virtual, que deseja terceirizar suas vendas, permitindo que outros Web sites façam revendas utilizando o seu mecanismo de pagamento e regras de negócios. Sistemas voltados à medicina e pesquisa também utilizam bastante esta tecnologia. Temos até serviços de informação, como busca de endereço através do CEP, consulta ao SERASA, ou cotações.

O SOAP é talvez a base mais utilizada para criação de Web Service no .NET. Qualquer plataforma que forneça uma comunicação http e consiga trabalhar com arquivos XML pode implementar o SOAP de forma simples, dando uma grande vantagem de independência de plataforma. Por usar prioritariamente o transporte http, ele consegue ser transportado sem requisição de nenhuma configuração especial em redes e firewall. Em suma, se houver um acesso à internet, o Web Service poderá ser acessado. O Web Service pode ser projetado para trabalhar com diversos servidores (WebFarms), possibilitando também um ganho de escalabilidade.

 

...

Quer ler esse conteúdo completo? Tenha acesso completo