sistema offline e sincronização

22 views
Skip to first unread message

Ubirailson Jersy

unread,
Apr 23, 2008, 9:17:11 AM4/23/08
to enterpr...@soujava.dev.java.net, jav...@googlegroups.com, pb...@googlegroups.com
Gente, seguinte cenário:

Aplicação JEE com persistência em JPA, camada de visão web JSF. Preciso de uma aplicação desktop que possa armazenar localmente o que precisa para executar suas ações e os dados gravados possam ser sinceonizados no banco de dados.

O que me surgerem para:

- Persistência local do offline em swing?
- sincronização com banco de dados?

--
Cordialmente,

Ubirailson Jersy

Sebastião Júnior

unread,
Apr 23, 2008, 9:31:49 AM4/23/08
to pb...@googlegroups.com
Você pode usar a aplicação JEE com visão Swing também. Acho que é a melhor opção.

2008/4/23 Ubirailson Jersy <maste...@gmail.com>:



--
Sebastião E. P. Rabelo Júnior
http://www.compose.ufpb.br/~sebastiao

Maurício Linhares

unread,
Apr 23, 2008, 9:33:44 AM4/23/08
to pb...@googlegroups.com
É só usar chaves primárias baseadas em UUIDs pras suas linhas que você
vai poder trabalhar offline gerando registros sem se preocupar com a
sincronização depois.

2008/4/23 Ubirailson Jersy <maste...@gmail.com>:

--
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) |
http://codeshooter.wordpress.com/ (en)
João Pessoa, PB, +55 83 8867-7208

Ubirailson Jersy

unread,
Apr 23, 2008, 10:18:57 AM4/23/08
to pb...@googlegroups.com
Sebastião, é por que realmente o desktop tem que ser offline.

Maurício, perdão pela ignorância, mas o que é UUID? Como me serviria?

2008/4/23 Maurício Linhares <mauricio...@gmail.com>:



--
Cordialmente,

Ubirailson Jersy

Maurício Linhares

unread,
Apr 23, 2008, 10:36:11 AM4/23/08
to pb...@googlegroups.com
2008/4/23 Ubirailson Jersy <maste...@gmail.com>:

> Maurício, perdão pela ignorância, mas o que é UUID? Como me serviria?

http://en.wikipedia.org/wiki/UUID

O UUID vai lhe ajudar a não ter linhas com o mesmo id no banco de
dados, mesmo com os clientes offline, assim você garante que quando
houver a sincronização do cliente com o servidor, eles não vão entrar
em conflito.

Ubirailson Jersy

unread,
Apr 23, 2008, 1:15:52 PM4/23/08
to pb...@googlegroups.com
Hummmm, maravilha. Obrigado Maurício.

2008/4/23 Maurício Linhares <mauricio...@gmail.com>:



--
Cordialmente,

Ubirailson Jersy



--
Cordialmente,

Ubirailson Jersy

Clovis Leoncio Junior

unread,
Apr 24, 2008, 8:09:43 AM4/24/08
to pb...@googlegroups.com
Caso seja utilizado um algoritmo baseado em hash ou baseado em randômico é pode sim haver colisão. É bem difícil mas é possível. Não sei se seria algo que exigiria um cuidado mas eu pessoalmente prefiro uma chave composta com uma identificação do terminal e um número sequencial (esse é um dos poucos casos em que apoio chave composta).
Entenda que quando se trabalha com tabelas com mais de 180 milhões de registros (como já foi meu caso) o risco de um conflito vai sempre crescendo.

2008/4/23 Ubirailson Jersy <maste...@gmail.com>:



--
Clovis Leoncio Junior

CMilfont

unread,
Apr 24, 2008, 9:23:55 AM4/24/08
to pb...@googlegroups.com
Ubirailson, porque não usar uma tecnologia web tipo Adobe Air ou Google Gears ao contrário de Swing?

2008/4/24 Clovis Leoncio Junior <clovis...@gmail.com>:



--
Christiano Milfont
http://www.milfont.org
Tuangr Development Team
"Um lugar para comprar junto com seus amigos"
http://www.tuangr.com

CFMU - Certified Fanfarrão Masters of the Universe

Maurício Linhares

unread,
Apr 24, 2008, 9:52:30 AM4/24/08
to pb...@googlegroups.com
Não vai ajudar em nada nesse problema dele :)

Acho que o problema dele é sincronização, não ter uma aplicação online/offline.

2008/4/24 CMilfont <cmil...@gmail.com>:


> Ubirailson, porque não usar uma tecnologia web tipo Adobe Air ou Google
> Gears ao contrário de Swing?

--

Ubirailson Jersy

unread,
Apr 24, 2008, 12:37:39 PM4/24/08
to pb...@googlegroups.com
Trata-se de um módulo offline (sempre offline) que deve, posteriormente, sincronizar suas informações com o servidor. Estamos preferindo swing por causa de um gráfico bem dinâmico que o usuário vai manipular, e achamos uma biblioteca swing que dá conta do recado.

Por isso que a preocupação está na persistência local dos dados, na sincronização com o servidor e em ganhar o quanto pudermos de tempo, claro.

Pensei até que houvesse algum framework que facilitasse/automatizasse, essa sincronização entre uma persistência local (que podia ser hsqldb, xml, o que for) com a persistência no servidor (que usa JPA/toplink num servidor JEE com banco oracle)

2008/4/24 Maurício Linhares <mauricio...@gmail.com>:



--
Cordialmente,

Ubirailson Jersy
Reply all
Reply to author
Forward
0 new messages