Desenvolvendo Aplicações para Pocket PC – Parte IV

 

Neste artigo teremos como objetivo o seguinte item:

 

 - Realizar o sincronismo de dados através de um WebService.

 

Continuando o nosso pequeno projeto, no último artigo implementamos o Form do Cliente, conseguimos realizar conexão com o nosso Banco de dados, implementamos a classe que trata da parte de conexão com o Banco de Dados e os métodos de gravar, excluir e pesquisar.

 

Agora, implementaremos um cenário que é muito comum de acontecer, que é a sincronização de dados do Pocket com o Banco de Dados de uma determinada aplicação para Desktop.

 

Esta sincronização pode acontecer de várias formas sendo que a mais comum seja através de um WebService.

 

Sendo assim iremos importar a reference de um WebService para nosso projeto e realizar as funções Importar e Exportar dados, as quais foram implementadas no mesmo.

 

A primeira etapa será a implementação de um WebService na nossa solução, não serei muito detalhista nesta parte, pois o que nos interessa é saber como usar o WebService em nosso projeto.

 

Para isto teremos que incluir em nossa Solução um novo projeto que será do tipo Web Site como mostra a Figura 1.

 

jfdappcp4fig01.jpg 

Figura 1 – Adicionando um Projeto Web Site na solução.

 

Ao criar este projeto aparecerá uma nova tela para a escolha do template a ser usado como mostra a Figura 2, sendo o que iremos utilizar será o Web Service.

 

jfdappcp4fig02.jpg 

Figura 2 – Escolhendo o template a ser utilizado.

 

Bom adicionado o projeto do tipo WebSerice, implementaremos dois métodos, Importar e Exportar dados, estes serão responsáveis por realizar a ligação entre o Pocket PC e o Servidor de Banco de Dados.

 

Bom lembrando, que após o término do WebService, para que possamos utilizá-lo em nossa aplicação este deverá ser publicado no IIS.

 

A segunda parte, será acrescentar a referência do Pocket em nossa aplicação, para isto clique com o botão direto do mouse em Reference e depois escolha a opção WebReference, irá aparecer uma tela de acordo com a Figura 3.

 

jfdappcp4fig03.jpg 

Figura 3 – Adicionando uma Web Reference.

 

Nesta tela podemos adicionar um WebService que esteja publicado na nossa rede local ou até mesmo na Internet.

 

Para efeito de testes podemos escolher a primeira opção, que é um WebService que esteja na mesma solução da aplicação a qual a referência será adicionada.

 

Ao escolher esta opção será apresentada uma tela com o WebService escolhido e seus métodos públicos listados, conforme a Figura 4.

 

jfdappcp4fig04.jpg 

Figura 4 - Adicionando o WebService escolhido na referência.

 

Após definir o nome da referência, clicando em Add Reference, a referência para este WebService estará adicionada em nosso projeto.

 

Com a referência já atualizada, precisamos verificar se no Banco de Dados a ser exportados e importados os dados, a estrutura da tabela Cliente, ou os campos que serão sincronizados desta tabela correspondem ao do Banco do Pocket, para que não sejam importados dados incorretos.

 

Após verificado isto vamos implementar em nossa aplicação as chamadas para Importar e Exportar os dados.

 

Inclua um novo form, que poderá ter a interface como mostra a Figura 5.

 

Os campos que estão sendo solicitados são necessários para realizar a conexão com o Servidor de Banco de dados, que no exemplo deste artigo é o MSSQL.

 

jfdappcp4fig05.jpg 

Figura 5 - Tela para realizar o Sincronismo dos Dados.

 

O método ExportarDadosServidor será utilizado quando necessitarmos de atualizar o Banco de Dados do Pocket com registros de uma tabela que esteja no Servidor de Banco de Dados. Este método recebe como parâmetro a consulta a ser realizada para o retorno dos dados e retornará um DataSet carregado de acordo com  a consulta. A assinatura do método pode ser visto na Listagem 1.

 

[WebMethod]

public DataSet ExportarDadosServidor(string consulta)

{

}

Listagem 1 - Assinatura do método ExportarDadosServidor.

 

O método ImportarDadosServidor será sempre utilizado quando as informações que estejam no Pocket PC devem ser atualizadas no Servidor de Banco de Dados. Recebe como parâmetro o nome da tabela a ser atualiza e o DataSet carregado com as informações a serem atualizadas. A assinatura do método pode ser visto na Listagem 2.

 

[WebMethod]

public void ImportarDadosServidor(string tabela,DataSet ds)

{

}

Listagem 2 - Assinatura do método ImportarDadosServidor.

 

Os métodos possuem a tag WebMethod para indicar que este método pode ser executado em qualquer projeto que utiliza a referência do WebSerice.

Bom com os métodos funcionando perfeitamente é só realizar o sincronismo dos dados, sempre relembrando que o Banco de Dados do Pocket com as informações gravadas seu tamanho vai aumentando, então será necessário realizar um algoritmo que sempre que um registro for atualizado no servidor de Banco de Dados, este possa ser excluído ou conforme sua necessidade.

 

Conclusão

Neste artigo implementamos a funcionalidade de Sincronismo de Dados com WebService, onde carregamos o banco de dados do Pocket e atualizamos no banco de dados do Servidor.

 

Sendo que para o WebService funcionar perfeitamente o IIS deve estar instalado/configurado na máquina onde o mesmo está instalado.

 

Encerrando este artigo, encerramos uma série que se iniciou com o desenvolvimento de uma aplicação simples, depois configuramos nosso ambiente de trabalho no Pocket criando banco de Dados e até uma tabela,  geramos um formulário que acessa a Dados permitindo salvar, excluir atualizar e pesquisar, e fechando a série o sincronismo de Dados utilizando o WebService.

 

Tudo que é necessário para o desenvolvimento de uma aplicação completa para Pocket PC está dividida nestes quatro artigos, então mãos à obra.

 

Espero que tenham gostado desta seqüência de artigos voltado para Pocket PC, tendo qualquer dúvida podem entrar em contato.

 

Até o próximo artigo.

Leia também