NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosNet : Webservices002
Quer receber novidades e e-books gratuitos?

Sistema de Enquetes baseado em WebServices –Parte II

Olá Pessoal,

Nesta segunda parte do tutorial iremos abordar o desenvolvimento de WebServices na plataforma .Net.

A utilidade de um WebService eu já expliquei no tutorial anterior. Neste explicarei como desenvolver o seu primeiro WebService e também quais serão os serviços que precisamos prover para o nosso sistema de enquete.

Quando eu falo em prover serviços, estou falando de funções que estarão disponíveis no meu WebService. Por exemplo, a visualização de resultados de uma determinada enquete.

Um WebService nada mais é do que uma função e esta deve retornar um valor do tipo DataSet, Array, String ou Bool. Com isso, podemos construir rotinas diversas que estamos habituados a fazer, como validar Login e Senha, fazer uma consulta através de um determinado parâmetro, criar um arquivo no servidor, etc.

Vamos então ao exemplo de desenvolvimento de um determinado WebService. Abra o Visual Studio .Net e crie um projeto chamado Enquetes.

Crie um arquivo um WebService chamado TestDataBase.asmx

Este nosso primeiro WebService será apenas para exemplificar, não fará parte do nosso sistema. Porém, ele já estará atuando com o sistema, pois, o usaremos para verificar a existência do banco de dados que criamos no tutorial anterior.

O arquivo gerado traz um modelo de como criar o WebService, veja:

Assim ficou mole, não?

O nosso WebService irá verificar a existência do arquivo e retornar uma mensagem de texto, portanto, ele é do tipo String. O código que provê este serviço está logo abaixo:

[WebMethod]

            public string VerificarExistencia()

            {

                  FileInfo fl;

                  fl=new FileInfo("C:/SistemaDeEnquetes.mdb");

                  if(fl.Exists)

                  {

                        return "O arquivo está gravado no servidor!";

                  }

                  else

                  {

                        return "O arquivo não está gravado no servidor!";

                  }

            }

Toda vez que é necessário criar um novo método, usamos a expressão [WebMethod]. Vejam que a rotina é bem simples. Criamos um objeto do tipo FileInfo e depois verificamos se o arquivo C:/SistemaDeEnquetes.mdb está gravado. Depois retornamos de acordo com as condições, a mensagem a quem vai consumir este serviço. Veja a execução:

Esta é a tela principal deste WebService. Ela mostra a lista com os serviços disponíveis e também outras informações gerais. Ao clicar no link VerificarExistencia iremos a próxima tela:

Para executar este método, clique no botão Invoke.

Vejam que ele me retornou uma mensagem em XML. Isto prova que o WebService funcionou e que também seu serviço é válido, pois, o arquivo realmente existe no servidor.

Agora vamos desenvolver mais um WebService que retorna algumas informações sobre o arquivo  do banco de dados que iremos usar.

Digite o código conforme o escrito abaixo:

[WebMethod]

            public ArrayList InformacoesBasicas()

            {

                  //Cria o objeto FileInfo baseado no arquivo do banco de dados

                  FileInfo fl;

                  fl=new FileInfo("C:/SistemaDeEnquetes.mdb");

                  //Cria um array do tipo ArrayList

                  ArrayList lista=new ArrayList();

                  //Adiciona ao array um novo item com o nome completo do arquivo

                  lista.Add(fl.FullName);

                  //Adiciona ao array um novo item com o tamanho do arquivo em bytes

                  lista.Add(fl.Length);

                  //Adiciona ao array um novo item com a data de criação do arquivo

                  lista.Add(fl.CreationTime);

                  //Retorna o array como resposta a solicitaão do serviço.

                  return lista;

            }

O código acima cria um novo serviço [WebMethod] chamado InformacoesBasicas. Neste trecho é criado um objeto FileInfo para que possamos ter acesso às informações do arquivo de banco de dados.Criamos também um array do tipo arraylist. O tipo arraylist é o tipo usado para WebServices, podemos utiliza-lo também em outros tipos de aplicação como Windows Application, porém, os WebServices retornam Arrays somente do tipo ArrayList. No array retornado, adicionamos três itens, o nome completo do arquivo, o tamanho em bytes e a data de criação.

Veja como ficou a execução deste serviço:

Tela com o menu de serviços disponíveis...

Tela exibida após clicar no serviço InformacoesBasicas....

Retorno das informações solicitadas no serviço....

Viram como é fantástico a simplicidade de desenvolver um WebService em .Net.

Uma coisa é importante: Com a possibilidade de criar vários serviços em um mesmo WebService, não seria útil existir uma forma de documentar cada serviço? A resposta é que existe. Para você descrever a funcionalidade de cada serviço basta usar a declaração do método da seguinte forma:

[ WebMethod(Description="descrição do serviço…")]

Veja os serviços que criamos neste tutoria de forma documentada.

Melhorou bastante, não?

Terminamos por aqui, no próximo tutorial veremos como consumir, ou seja, utilizar os serviços disponíveis em nosso WebService. Após isto estaremos aptos a prosseguir no nosso sistema de enquetes.

Em caso de dúvidas, lanodecastro@hotmail.com

Um grande Abraço,

Lano de Castro

1 Visão geral do .NET Framework e do CLR
1 Comunicação .NET e VB 6.0 (com Visual Studio.NET 2005) - Parte I
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 1
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 2
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 3
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 4
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 5
1 VB: Menu Principal, Menu PopUp e Arquivos Texto
Visual Studio
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control
1 Visual Web Developer - 2005 - Beta 2 - Introdução
1 ASP.NET 2.0 - Conhecendo o GridView
1 ASP.NET 2.0 - Utilizando o GridView e DetailsView
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control - Parte 2
1 ASP.NET 2.0 - Utilizando o XmlDataSource
1 Envio de e-mail através de formulário web
1 ADO.NET 2.0 - Conhecendo as novidades parte 1
1 Série Visual Source Safe - Parte 1
1 Série Visual Source Safe - Parte 3
1 URL Indexável – Reescrever URL de uma forma amigável
1 Permissão de Página Utilizando Web.Config
1 Usando public interface
1 Trabalhando com o componente TabContainer
1 Adicionando Menu no DataGridView
ASP.NET
1 Conhecendo o ambiente integrado do WebMatrix
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte I
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte II
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte III
1 Acessando um banco de dados facilmente com ADO.Net e Datagrid
1 Desvendando os segredos do Dataset- Parte I
1 Construindo um Sistema de Publicação de Notícias – Parte 1
1 Construindo um Sistema de Publicação de Notícias – Parte 2
1 Construindo um Sistema de Publicação de Notícias – Parte 3
1 Construindo um Sistema de Publicação de Notícias – Parte 4
1 Construindo um Sistema de Publicação de Notícias – Parte 5
1 Login com Perfil de Acesso
1 Guest Book com XML - Parte 1
1 Guest Book com XML - Parte 2
1 Agendando Datas no Calendário com XML
1 Filtrando e Organizando Dados com o Controle DataView
1 Lista de Dados com Subitens – Parte 1
1 Lista de Dados com Subitens – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 1
1 Trabalhando com Arquivos e Diretórios – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 3
1 Sistema de Enquetes baseado em WebServices – Parte 1
1 Sistema de Enquetes baseado em WebServices – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 3
1 Upload de Arquivos
1 Crie seu próprio código de verificação
1 Login e Senha com FormsAuthentication – Parte 1
1 Login e Senha com FormsAuthentication – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 4
1 Sistema de Enquetes baseado em WebServices – Parte 5
1 Sistema de Enquetes baseado em WebServices – Parte 6