Criando e consumindo um Web Service em ASP.NET no VB.NET

O objetivo deste TM é mostrar como você pode criar WebServices XML com o ASP.NET e como usá-lo em sua aplicação VB.NET. Os WebServices XML disponibilizam informações via Web ou rede, que podem ser acessadas por qualquer aplicação que saiba como fazer isso. A aposta para o futuro é a criação de uma enorme biblioteca de WebServices para que os desenvolvedores possam achar a informação que procuram e aprender a utilizar o WebService que a disponibiliza. Para que você entenda o desenvolvimento é recomendado que possua bons conhecimentos de programação e Visual Basic ...

17/07/03h

Diminuir o tamanho das letras Aumentar o tamanho das letras
Microsoft .NET

O objetivo deste TM é mostrar como você pode criar WebServices XML com o ASP.NET e como usá-lo em sua aplicação VB.NET. Os WebServices XML disponibilizam informações via Web ou rede, que podem ser acessadas por qualquer aplicação que saiba como fazer isso. A aposta para o futuro é a criação de uma enorme biblioteca de WebServices para que os desenvolvedores possam achar a informação que procuram e aprender a utilizar o WebService que a disponibiliza. Para que você entenda o desenvolvimento é recomendado que possua bons conhecimentos de programação e Visual Basic.

Softwares utilizados :

- Microsoft Visual Studio.NET 2003 Enterprise Architect (também conhecido como "Everett" ou versão 7.1) - Beta Final
- Internet Information Services (IIS) 6.0 (é necessária a versão 5.1 ou superior)

Requisitos do sistema: (Para instalação completa, que contém todas as linguagens e recursos)

- Processador Intel Pentium II /AMD K6-2 a partir de 450 Mhz (Pentium III/AMD Duron a partir de 600 Mhz recomendados)

- Memória RAM: 96 Mb para Windows 2000 Pro (recomendado 128 Mb), 192 Mb para Windows 2000 Server (recomendado 256 Mb), 96 Mb para Windows XP Home (recomendado 160 Mb) e 192 Mb para Windows XP Pro/Windows Server 2003 (recomendado 256 Mb)

- 4.1 GB no drive da instalação e 900 Mb no drive do sistema

- Sistema Operacional: Windows 2000*, Windows XP ou Windows Server 2003 (é possível executar aplicações desenvolvidas com o VS.NET no Windows 98/Me/NT 4 mas não é possível desenvolver as aplicações nesses sistemas).  * o Windows 2000 Datacenter Server não é suportado.     

- Drive de CD-ROM ou DVD-ROM

- Internet Explorer 5.0 ou superior

- Placa de vídeo e monitor que suporte resolução de 800x600 e 256 cores (recomendado High Color 16-Bit)

- Mouse

O que é um Web Service ?

Web Services provém informações que podem ser acessadas por qualquer aplicação (Windows, Web etc) que tenha acesso à Internet. Geralmente possuem métodos que oferecem dados muito dinâmicos, tais como: cotações de moedas, taxas de juros, cotações de ações etc. Seu uso tem aumentado muito e através do Visual Studio.NET e sua total integração com XML e SOAP, o desenvolvimento de Web Services tornou-se muito mais produtivo.

Para começar abra o Visual Studio.NET e crie uma nova aplicação do Visual Basic.NET, do tipo ASP.NET WebService:


Novo Projeto

Note que devemos estabelecer a localização do projeto comum uma URL, pois estaremos criando uma pasta para ele no servidor local, ou seja, através do IIS, sem o qual não é possível a criação de WebServices e páginas ASP.NET. O nome do projeto é o mesmo do estabelecido na localização. Nomeie o serviço como TimesService e clique em OK. O VS.NET criará uma pasta para o projeto no IIS:


Criando nova Web



Vamos agora criar o código que disponibiliza a informação para o usuário. Como padrão o Visual Studio cria um arquivo chamado Service1.asmx. Clique nesse arquivo na janela Solution Explorer e apague-o. Agora clique com o botão direito do mouse em um espaço vazio do Solution Explorer, escolha Add > Add New Item:


Add New Item

Na janela seguinte selecione o Template Web Service e em Name digite Times.asmx:


Adicionando novo item

Clique em Open e o arquivo será criado. Agora clique duas vezes sobre uma área vazia do Editor de Design: isso nos levará ao código do Web Service (ou pressione F7). Note que no código há uma série de linhas comentadas: trata-se de um exemplo simples de WebService. Apague todas estas linhas e em seu lugar digite o seguinte código:

<WebMethod()> Public Function Estados() As ArrayList
   Dim AEstados As New ArrayList
   
   AEstados.Add("São Paulo")
   AEstados.Add("Rio de Janeiro")
   AEstados.Add("Rio Grande do Sul")
   AEstados.Add("Minas Gerais")
   AEstados.Add("Paraná")

   Return AEstados 'retorna a lista preenchida
End Function

<WebMethod()> Public Function Times(ByVal Estado As String) _
 As ArrayList
   Dim ATimes As New ArrayList

   Select Case Estado
      Case "São Paulo"
         ATimes.Add("Corinthians")
         ATimes.Add("São Paulo")
         ATimes.Add("Santos")
         ATimes.Add("São Caetano")
      Case "Rio de Janeiro"
         ATimes.Add("Flamengo")
         ATimes.Add("Fluminense")
         ATimes.Add("Vasco")
         ATimes.Add("Botafogo")
      Case "Rio Grande do Sul"
         ATimes.Add("Grêmio")
         ATimes.Add("Internacional")
         ATimes.Add("Juventude")
      Case "Minas Gerais"
         ATimes.Add("Cruzeiro")
         ATimes.Add("Atlético-MG")
      Case "Paraná"
         ATimes.Add("Atlético-PR")
         ATimes.Add("Coritiba")
         ATimes.Add("Paraná")
   End Select

   Return ATimes 'retorna a lista preenchida
End Function

A função Estados cria uma lista com alguns Estados e a função Times recebe como parâmetro o nome do Estado e preenche uma lista com os times conforme a estrutura Select Case. Note que praticamente não existem diferenças desse código para o que utilizamos em uma aplicação Windows: a única diferença é o uso da tag <WebMethod()> antes da declaração da função, para que o compilador saiba que trata-se de uma função para Web Service. A partir disso o restante da função é idêntico à qualquer outra. Aqui os dados que acessamos são extraídos de ArrayLists montados por nós mesmos - mas nada impede de utilizarmos dados extraídos de bancos de dados através de DataSets, DataReaders ou qualquer outro objeto que armazene dados - podendo ser o mesmo ArrayList porém preenchido a partir de um DataReader por exemplo.

Salve o projeto e compile-o selecionando o menu Build>Build TimesService. Vamos agora criar a aplicação que acessa os dados do nosso Web Service: feche qualquer solução aberta e crie um novo projeto do Visual Basic, do tipo Windows Application, de nome UsaWService. No form criado adicione um componente ComboBox e um componente ListBox:


Layout do form

Para referenciar o nosso Web Service, clique com o botão direito em References > Add Web Reference...:


Solution Explorer - References



Add Web Reference

Na janela apresentada vamos digitar a URL do nosso Web Service: "http://localhost/TimesService/Times.asmx" (sem as aspas): (clique na imagem abaixo para vê-la em detalhe)


Procurando o Web Service

Após clicar em GO, o Visual Studio irá procurar e localizar nosso Web Service e serão apresentados os métodos contidos no mesmo: (clique no detalhe para mostrar a imagem por inteiro)


Web Service Times

Clique em Add Reference (se quiser você pode mudar o nome da referência, mas nesse caso deixaremos como o padrão localhost). O Web Service será referenciado e estrá disponível para uso. Veja abaixo o item "localhost" dentro de Web References:


Web References - localhost

Vamos agora adicionar o código ao nosso form. Precisamos criar uma nova instância do nosso Web Service: para isso digite a seguinte linha logo abaixo da expressão "Inherits System.Windows.Forms.Form":

  Dim Times As New localhost.Times

Acesse o evento Form1_Load (clique duas vezes sobre uma área vazia do form) e digite o seguinte código para preencher o combobox:

  ComboBox1.DataSource = Times.Estados

Agora clique duas vezes sobre o Combobox para acessarmos o evento Combobox1_SelectedIndexChanged, que ocorre quando mudamos a opção em um combobox, e digite o seguinte código:

  ListBox1.DataSource = Times.Times(ComboBox1.Text)

Como você pode ver estamos chamando a função Times que recebe como parâmetro o Estado selecionado e mostra os times na Listbox. Veja o resultado do programa em execução:


Programa ao ser executado




Se o Estado for modificado o ListBox é automaticamente atualizado



Conclusão

A tendência atual é de que o uso de Web Services se intensifique cada vez mais e projetos como o UDDI (Universal Description, Discovery and Integration, um serviço que disponibiliza vários Web Services como uma grande biblioteca - veja mais em www.uddi.org) devem aumentar muito mais a facilidade de publicação e utilização de Web Services, snedo que hoje em dia já são utilizados em alta escala por grandes empresas (principalmente no setor financeiro). O Visual Studio.NET visa popularizar seu uso tornando sua criação e publicação muito mais fácil e rápida.

Marcas Registradas
Visual Basic, Visual Basic.NET, Visual Studio.NET, Windows são marcas registradas da Microsoft Corporation.
Todos os demais nomes registrados, marcas registradas ou direitos de uso citados neste TM pertencem a seus respectivos proprietários.

 

Autor original:  ClawHammer
Direitos Autorais:  BABOO





Mais Notícias desta Área

Últimas Notícias
 
 Software  |  Hardware  |  Segurança  |  Tecnologia  |  Tutoriais  |  Download  |  Web  | Desenvolvimento  |  Fórum 
 Mundo Corporativo  |  Carreira  |  Mercado  |  Telecom  |  Servidores  |  Tecnologia 
    BABOO é um site brasileiro de TI focado em informática, tecnologia, software,hardware, tutoriais e downloads, e soluções de dúvidas através do nosso fórum.

 

Artigos do BABOO