Prevayler, Hibernate e EJB - O que vocês acham?

Na verdade nada impede que seja feito um sistema hibrido onde dados com baixo acesso fiquem num DBMS e dados com alto acesso fiquem na memoria e prevalescentes.

Caras, considerando que:

  1. Todo mundo concorda que a tecnologia de objetos é superior ao modelo relacional.
  2. Todo mundo sabe que a teoria relacional tem mais de 30 anos de existência.
  3. O prevayler nem tem 3 anos ainda.
  4. A quantidade de empresas que desenvolvem e mantem banco de dados é enorme.
  5. Os desenvolvedores do prevayler são meia dúzia de gatos pingados
  6. Os mecanismos de lock e transações dos bancos não são nenhuma maravilha
  7. Qualquer programador bom consegue encapsular suas transações em métodos bem construídos.
  8. O prevayler está na versão 1.
  9. A memória RAM não é tão cara assim ( e quem tem uma base de 20Gb também deve ter grana (hic)).
  10. O prevayler é uma ALTERNATIVA; não uma imposição.
  11. A serialização de objetos é uma tecnologia que permite (além do armazenamento) a comunicação entre linguagens diversas.

acho que essa discussão não tem pé nem cabeça.

Uso serialização de componentes desde o delphi (armazenava 1 milhão de objetos em menos de 10 segundos e recuperava qualquer um deles em 1 segundo) e hoje estou estudando o prevayler.
Ainda não consegui tirar muito proveito dele, mas com certeza vou usar ele em muitas implementações, incluindo meu projeto (o metagen).
Talvez existam coisas que o prevayler não faça bem, mas pô, ele é uma criança ainda!
E finalmente, falando em marketing, acho que se o pessoal que promove o prevayler não correr atrás e falar bem, quem vai fazê-lo ?

Marcelo, primeiramente, parabens pelo post. Otimos argumentos, apesar de eu achar que minha opiniao nao cona :wink:

Só pra acrescentar uma coisinha de nada, o Prevayler está atualmente na versão 2 para testes, e 1 para produção:

Futuro Prevayler Developer:
List prevayler=new ArrayList();
[color=“red”]prevayler.add(“Ironlynx”);[/color]

[color=“blue”]Oi pessoal !!! Aproveitando que esta discussão voltou, eu gostaria de saber uma coisa que eu ainda não entendi corretamente. Existe alguma diferença entre Persistencia de Objetos e Persistencia de Dados ??? Qual é a definição correta ? :?:

Sei que essa dúvida é bem básica mais gostaria que respondessem… :wink:

Valeu pessoal !!!
SkyBlue[/color]

O uso destes termos jah tah tao confuso que eu nao sei se essa definicao ainda vale…

Mas, de qualquer forma, la vai: persistencia de objetos eh a persistencia de dados que, de uma forma ou de outra, mantém os atributos dos objetos com o encapsulamento que os objetos definiram.

Ou seja, quando vc persiste um dado, ele vai parar num meio de armazenamento qualquer, e qualquer um que saiba lidar, e tenha permissões para lidar com este dado vai poder acessar as informações que quiser.

Quando vc persiste um objeto, e recupera ele mais tarde, os atributos privados continuam privados, e vc não consegue acessá-los. Não é um mecanismo de segurança, mas só de encapsulamento.

(Falei besteira? :D)

Completando o Cv,
Persistência é a capacidade de um objeto(ou dado) sobreviver fora dos limites da aplicação que o criou,ou seja tem a propriedade(mecanismo) de serem armazenados em memória secundária(o disco).
Persistencia de dados em meio de armazenamento qualquer(como falou o Cv)se refere aos dados das tabelas de banco de dados(por exemplo);
Persistencia de objetos, geralmente,será usada para referir objetos JAVA,como um arquivinho .properties contendo um ArrayList com vários dados (e atributos q estão encapsulados-private-como disse o Cv) de Um usuário(um root de uma aplicação por exemplo).Deve-se salientar tb que persistir um dado geralmente está associado a estrutura relacional de um banco(Calma!Vc pode gravar um arq.txt q tb é persistir um dado…tô sendo genérico).Uma relação é uma tabela com linhas e colunas q contém um tipo SIMPLES de dado em cada uma delas(como Integer,Char String). Objetos podem ser muito mais complexos(e possuir todos esses tipos do BD relacional) e adaptá-los a um Bd exige carga extra de programação.Para isso utilizamos Design Patterns ou um Framework q seja capaz de fazer o mapeamento objeto-relacional.

Só um detalhe:Objetos que existem somente em RAM(no contexto q dura a execução de sua aplicação),são ditos transitórios ou transientes. :wink:

[quote=“rocket”]Caras, considerando que:

Uso serialização de componentes desde o delphi (armazenava 1 milhão de objetos em menos de 10 segundos e recuperava qualquer um deles em 1 segundo) e hoje estou estudando o prevayler.
[/quote]

Como assim? como faz isso no delphi

CV

que tal um tutorial básico do uso prático do prevayler?

abraço

http://www-106.ibm.com/developerworks/library/wa-objprev/ :wink:

boa,

abraço

sho para constar um ponto de vista de novato no grupo.

entendo que quando alguem fala sobre o prevayler ter 3 anos versus sql ter 30…
isto tambem pode ser uma provocacão para se desenvolver um ‘compiere’ customizado ‘open’ com regras e extruturas descoladas do oracle (conceito inicial) ou de qualquer outro db.
argumentava-se que a ligacao com o oracle devia-se ‘a velocidade’ ,logo, temos um argumento para implementar efetivamente um erp open. talve um um ERPrevayler.
ja tiveram iniciativas inclusive com financiamento publico, mas vejo que esta lacuna ainda nao foi preenchidade de forma satisfatoria, ate porque o mais interessado em um erp open e o proprio gov pois aumenta sua receita.
para quem ja entrou em barcos furados open ou iniciativas de sucesso quais resistencias de toda natureza para um erprevayler rsrs
para nao desviar do foco mas ja desviando, qual o erp do governo?

abs