Desenvolvedores para o Jepla

7 respostas
S

Quer ajudar a desenvolver um mecanismo de persistencia simples para pequenos projetos ?

Este sistema objetiva criar coleções persistentes para armazenar
objetos da mesma forma que as collections.

Não é ferramenta OR. Não tem nada de banco de dados.

Você pode pegar o códgo em:
http://sourceforge.net/projects/jepla/

Existem dois exemplos simples no código de como
usar o sistema.

7 Respostas

pcalcado

Olá,

Você já viu algo sobre o Prevayler [http://www.prevayler.org] ou Space4J [https://space4j.dev.java.net]?

Desculpa ser estraga-prazeres, mas não seria melhor juntar forças?

[]s

S

Não…

A idéia do prevayler (e creio q a do space4j) seja a de manter todos os objetos a serem persistidos sendo referenciados por um único objeto. Então para persistir basta serializar e desserializar este objeto que referencia todos. E, ao invés de serializar tudo toda hora que muda algo, serializa os comandos que alteram estes objetos.

Bom, acho que é + ou - isso.

A ideia do Jepla é manter os objetos separadamente,
ao contráro do Prevayler que “torra” a memória.

Suponha que vc tem um objeto Garagem que possui uma
lista de veiculos. A ideia é que os objetos desta lista não estão
“ligados” ao objeto Garagem. Desta forma, quando vc serializar o objeto
Garagem, vc estará serializando não uma Lista de Veiculos, mas uma lista de referencias a objetos veiculos que estaram em outros arquivos separados. Só que tudo isso transparente pra vc, pq vc estará usando um PList e não um ArrayList.

Bom, acho q tá meio confuso… dá uma olhada nó código lá. é pequeno! :slight_smile:

pcalcado

Ao que parece, você está utilizando o memória secundária como uma extensão da primária, ou algo assim.

Bem, um problema nisso é que você está caindo no problema dos EJB. Fazer um objeto extender ou implementar algo para torná-los persistíveis é muito problemático, você quebra, inclusive a questão do Tipo e do ‘É Um’.

O ideal era você criar POJOs [leia aqui ], mas seu meio de persistêcia não vai aguentar…

Ok, a idéia de não quebrar o paradigma OO usando um HSQLDB da vida é legal, mas, ao meu ver, você a quebra novamente ao me fazer implementar x ou y. Por isso o Prevayler usa o padrão Command, para não tocar na estrutura do objeto persistido.

Em implementar/extender algo, você acaba gerando complicações demais. Se o foco for aplicações simples [julgo pela descrição], com umas poucas entidades a serem persistidas, não vejo vantagem em usar um SGBD pequeno [como o HSQLDB] ou Prevalência.

De qualquer modo, são apens toques, não quero jogar areia no projeto, boa sorte!!

E se falei alguma besteira, me corrija, não pude ler muito seu código…

[]s

S

Eu também não gosto da ideia de ter que implementar ou extender algo para persistir os objetos. mas não consegui pensar em nada que pudesse funcionar adequadamente pq tenho de diferenciar os objetos uns dos outros, aí eu faço isso extendendo uma classe PObject que tem um id.

A idéia é esta mesmo de memória primaria extendendo a secundária. É tipo um EJB só que mais simples.

bom, valeu ! hehe

Vou pensar mais a respeito do sistema.

té mais !

marcelomartins

Com o Java 5 saindo do forno as anotaçôes do código não podem te ajudar?

Veja bem, não tenho certeza do que to falando!

Daniel_Quirino_Olive

“soldate”:
Não…

A idéia do prevayler (e creio q a do space4j) seja a de manter todos os objetos a serem persistidos sendo referenciados por um único objeto. Então para persistir basta serializar e desserializar este objeto que referencia todos. E, ao invés de serializar tudo toda hora que muda algo, serializa os comandos que alteram estes objetos.

Bom, acho que é + ou - isso.

A ideia do Jepla é manter os objetos separadamente,
ao contráro do Prevayler que “torra” a memória.

Suponha que vc tem um objeto Garagem que possui uma
lista de veiculos. A ideia é que os objetos desta lista não estão
“ligados” ao objeto Garagem. Desta forma, quando vc serializar o objeto
Garagem, vc estará serializando não uma Lista de Veiculos, mas uma lista de referencias a objetos veiculos que estaram em outros arquivos separados. Só que tudo isso transparente pra vc, pq vc estará usando um PList e não um ArrayList.

Bom, acho q tá meio confuso… dá uma olhada nó código lá. é pequeno! :)

Isso cheira a JavaSpaces, não?

S

Não conheço muito sobre JavaSpaces mas acho que não.

Quanto ao Novo Java eu tb não tenho idéia se a dica poderia
ajudar.

[]s

Criado 12 de julho de 2004
Ultima resposta 12 de jul. de 2004
Respostas 7
Participantes 4