Idéias e sugestões sobre pattern a utilizar em projeto

5 respostas
wandersonxs

Galera,
preciso de mais uma força.
É o seguinte preciso fazer meu trampo de conclusão de curso. Este trampo consiste num framework (não sei se o termo esta correto) de serviços para sincronização de base de dados entre um celular (dispositivo móvel e um servidor remoto).
Imagino o funcionamento mais ou menos assim.

1- Celular solicita sincronização. 2- Servidor atende e espera pelos dados. 3- Celular envia os dados em formato XML. 4- Servidor faz o parsing e monta o select para buscar os dados da base com os que chegaram. 5- Após comparar atualiza a base.

Bem é isto, mas meu problema é que gostaria de utilizar o pattern DAO com o Hibernate, mas como framework será baseado nas tags do XML, tipo:
<Tabela>
           <Campo id=1>
 		<Campo2>teste1</Campo2>
 	   </Campo>
 	   <Campo id=2>
 	        <Campo2>teste2</Campo2>
           </Campo>
       </Tabela>

onde campo e tabela pode ser qualquer coisa, não teria como eu fazer o mapeamento dos campos e das tabelas utilizando o hibernate.
Será que terei que utilizar JDBC direto e criar uma string SQL tipo “Select camposdoXML from TabelaXML…”?
Alguém tem uma idéia de como fazer isto utilizando DAO ou outro pattern para não ficar tão porco o código?

Abraços

5 Respostas

C

Ae,

A parte da persistencia é a mais facil. Usando o padrao DAO
vc pode fazer a persistencia atraves do HIBERNATE, ou o
proprio JDBC. No banco vc nao vai armazenar XML. O XML sera
utilizado somente como meio.

A parte de comunicacao que vai ser mais complicada. Se for
XML provavelmente vc. vai querer usar SOAP. No lado
do servidor vc pode implementar teus webservices usando
o apache Axis (http://ws.apache.org)

No celular, recomendo vc procurar no site da Nokia. Alias, a propria
forneceu um CD de developer kit na ultima edicao da Java Magazine.

Pra comecar veja esse pdf:

http://www.nokia.com/BaseProject/Sites/NOKIA_MAIN_18022/CDA/Categories/Business/Technologies/WebServices/_Content/_Static_Files/web_services_a4_1603.pdf

http://developers.sun.com/techtopics/mobility/midp/samples/

Procure estudos de casos usando J2ME, SOAP , WEB SERVICES.

E se esforce neste teu projeto. O mercado de trabalho para essas tecnologias parece ser bastante promissor.

wandersonxs

Valeu cara pelos links, muito bons mesmos…
realmente este mercado é promissor e acredito que este projeto poderá me livrar definitivamente do VB (arrrgghhh).

Eu tenho este CD, mas não havia utilizado ainda, realmente to marcando toca vou agora mesmo ver o que ele tem de interessante,

Quanto a utilizar a persistencia com hibernate, como eu poderia fazer isto? já que eu teria que saber de antemão os campos e as tabelas? Meu projeto visa ser utlizado por qualquer outro projeto como apoio a sincronização de dados.

Abraços

C

Quanto a sua pergunta…isso já foge do meu alcance…
teria que pesquisar a melhor forma de ser feito.

Por exemplo: se vc utilizar RowSets, vc poderia recriar as tabelas, já
que os metadados estariam disponiveis…mas performance poderia
ser ruim…

talvez alguns arquivos de configuracoes seriam bom para facilitar…

Bom projeto !

PS : depois coloca o resultado aqui no forum !!!

F

No seu caso o approach ORM do hibernate não vai te ajudar tanto. Para ser tão dinâmico assim você vai ter que criar SQLs dinâmicos. Você pode muito bem pegar esse sql e rodar via hibernate.

Quanto a comunicação vc pode mandar um post ou então usar o soap ou uma implementação própria e mais leve focada no que você precisa, ja que não é nada complicado até valeria a pena.

A Nokia em geral tem ótimos documentos e apóia essa parte de desenvolvimento, no tempo que me envolvi com J2ME gostei muito de toda documentação que achei nos sites da Nokia entre outras coisas.
Se você for realmente implementar algo no lado client (celular) até valé a pena mandar um e-mail pra Nokia Brasil e perguntar qual seria o tipo de comunicação que eles aconselhariam para que rodasse muito bem em um celular da Nokia (Claro que antes explica que é tcc e escreve tudo com uma base, não parece leigo :slight_smile: e também não fala pra rodar bem em qualquer celular, puxa o saco que eles te ajudam :smiley: ) .

wandersonxs

Galera muito obrigado…
As dicas foram muito proveitosas…
E depois que este projeto estiver pronto, se desejarem mando pra todo mundo…

Abraços

Criado 14 de outubro de 2004
Ultima resposta 15 de out. de 2004
Respostas 5
Participantes 3