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
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