Web Services com .NET Framework

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

O artigo introduz um tipo de aplicação Web muito usado - os Web Services - dando o embasamento teórico e sua implementação com o Framework .NET e a linguagem C#. Também faz uma demonstração prática do uso deste tipo de aplicação com o Visual Studio.

Introdução a Web Services com .NET Framework

Os Web Services disponibilizam funcionalidades que podem ser utilizadas por outras aplicações usando um ambiente conectado que pode ser uma rede de computadores ou mesmo a Internet. Um uso típico é a consulta remota a dados.

Acesso a dados remotos com Web Services

É útil sempre que for necessário fazer acesso a dados remotos em um ambiente conectado e até mesmo com plataformas heterogêneas, envolvendo, por exemplo, PCs e dispositivos móveis como Smartphones. Caso se esteja planejando oferecer serviços de software acessados pela Internet, os Web Services também serão um ótimo ponto de partida. Muito utilizado, por exemplo, para prover a interoperabilidade entre empresas através da internet, por exemplo, matrizes e filiais.

O que são Web Services?

Web Service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web Services são componentes que permitem às aplicações enviar e receber dados em formato XML. Para as empresas, os Web Services podem trazer agilidade para os processos e eficiência na comunicação. Toda e qualquer comunicação entre sistemas passa a ser dinâmica e principalmente segura, pois não há intervenção humana.

O ambiente conectado da Internet fez com que novas aplicações surgissem e uma destas consiste nos Web Services, que permitem que máquinas de plataformas diversas possam facilmente fazer intercâmbio de dados entre si sem que uma precise necessariamente conhecer a outra. Isto tudo é conseguido através de padrões abertos tanto para dados como para protocolos. Os Web Services seguem padrões que podem ser facilmente implementados em qualquer plataforma ou linguagem.

O .NET Framework procura facilitar ainda mais o desenvolvimento de Web Services oferecendo ao programador automatização de tarefas como geração de classes para disponibilização e consumo de Web Services. Também são encontradas facilmente no Framework as ferramentas para referenciar Web Services e assim criar programas que possam interagir com estes de maneira mais simples, além de publicá-los em um servidor com um esforço minimizado.

Existem muitos cenários onde Web Services podem ser empregados. Por exemplo, imagine uma companhia aérea, que oferece vários vôos diários para determinadas localidades. Normalmente, usuários podem consultar estes vôos através do site da empresa, abrindo o endereço no browser. Neste ponto é possível comparar horários, tarifas, disponibilidades etc. Agora imagine que você precisa fazer um programa que consulte automaticamente essas informações, por exemplo, se você está desenvolvendo um aplicativo para uma agência de viagens.

A aplicação deve ser capaz de consultar vários “sites” de companhias aéreas automaticamente, conforme informações fornecidas pelo agente de viagens em um desktop. Veja que a consulta precisa ser feita pelo software, sem intervenção humana, o agente não vai querer abrir página por página de cada companhia. Quando um software precisa obter esse tipo de informação de outro software, a solução ideal não é o uso de um Web Site, que contém marcação HTML para criação de interfaces juntamente com os dados. O ideal é o uso de serviços, que permitem a troca somente dos dados necessários, usando XML ao invés de HTML.

Isso pode ser feito com Web Services. Usando o mesmo exemplo, existem vários outros tipos de aplicações clientes que poderiam tirar proveito deste tipo de serviço. Já existe hoje, por exemplo, aplicativos para iPhone onde o usuário pode acompanhar em tempo real a situação do embarque para o seu vôo (se está atrasado, em embarque etc.). Como uma aplicação rodando em um Smartphone consegue obter essas informações do banco de dados da companhia aérea? Certamente há um Web Service criado no servidor, que pode ter sido escrito em qualquer linguagem sob qualquer plataforma, e nesse caso consumido por outra plataforma completamente diferente.

Serviços como base para novos softwares

A principal motivação para desenvolver e consumir Web Services é a possibilidade de acessar dados de servidores remotos e em alguns casos, usar o processamento destes para executar determinadas tarefas. Atualmente muitas empresas já usam Web Services para disponibilizar serviços e podem ser usados como exemplo:

  • Dados sobre previsão do tempo;
  • Cotações de produtos e bolsas de valores;
  • Agendamento de passagens de avião ou horários;
  • Informações sobre tarifação de serviços de entrega – para informar o preço de um serviço baseando-se na distância a ser percorrida e dados da carga.

Todos estes serviços e muitos outros podem fazer uso de Web Services. Basicamente, se é possível haver troca de dados, estes poderão ser usados. As bases para estes serviços residem em três elementos fundamentais: os documentos XML, o padrão UDDI e o WSDL, como veremos adiante.

XML para intercâmbio de dados

Os Web Services são baseados na troca de mensagens SOAP – Simple Object Access Protocol - usando para transporte o protocolo HTTP. As aplicações, tanto cliente quando servidor, devem ser capazes de lidar com este protocolo e também de lerem os dados no formato XML.

A escolha do formato XML é importante principalmente pelo fato de ser um formato aberto, isto é, não pertence a nenhuma empresa especificamente e o seu padrão é conhecido e mantido pelo W3C que regulamenta padrões da Internet.

Um documento XML é versátil e muito flexível possibilitando várias aplicações, por outro lado, a sua estrutura facilita a compreensão do conteúdo por este transportado por qualquer tipo de programa em qualquer plataforma.

Localizando Web Services

UDDI - Universal Description, Discovery and Integration - é a infraestrutura que padroniza a forma que o Web Service pode ser localizado e desenvolvido. Este é baseado em padrões abertos como o XML. Imagine o UDDI como sendo as “páginas amarelas” de Web Services.

É através deste também que os Web Services podem ser descobertos bastando para isto digitar um endereço no browser como, por exemplo: http://Servidor/diretório/nomedoservico/servico.asmx (ou equivalente).

Descrevendo Web Services

WSDL - Web Services Description Language - é um documento que descreve o Web Service disponibilizado e de uma forma bem resumida, é a interface que é usada para a sua compreensão e utilização. Basicamente os elementos que um WSDL informa são:

  • Dados sobre todos as operações disponibilizadas no servidor;
  • Tipo de dados usados em todas as mensagens no formato XML;
  • Informações sobre protocolos usados na comunicação;
  • Informações sobre os endereços para a localização do Web Service.

O .NET Framework e os Web Services

Ao usar o .NET Framework para criar os Web Services, especialmente baseando-se na plataforma ASP.NET (principalmente representada pela biblioteca System.Web) o desenvolvedor não precisará se preocupar em escrever código para lidar com detalhes internos relativos a transporte, padronização de documentos e requisições ao servidor, ou seja, toda a infraestrutura necessária tanto para disponibilizar e criar os Web Services como para fazer uso destes já é definida automaticamente pelas classes do Framework.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?