Após 2 anos de desenvolvimento, o Activate Persistence Framework chega à versão 1.0.
A idéia do projeto surgiu da frustração de usar os frameworks de persistência Java. Estava cansado de complexidade acidental, queries não tipadas, padrões como o DAO e métodos como store, merge, detach, etc. Porque não pode ser mais simples? Um dia um amigo me apresentou o Scala. Esse foi o ponta-pé definitivo para iniciar o Activate. O poder e simplicidade do Scala foi o indrediente final.
Minha referência de persistência foi o
Prevayler. Mas como fazer algo como o Prevayler sem guardar todos os dados na memória? Um framework de persistência baseado em
STM que implementa o comportamento de um banco de dados em memória foi a solução que encontrei. Usando soft references, é possível utilizar toda a memória disponível e deixar para o sofisticado GC do Java o trabalho de decidir quais entidades permanecem em memória.
A idéia do projeto também surgiu na época em que o NoSQL ressurgiu. Inspirado por esse movimento, a arquitetura foi desenhada para prover persistência plugável, permitindo escrever software que persiste os dados em bancos de dados relacionais ou não relacionais de forma homogênea.
Gostaria de agradecer as pessoas que contribuíram com o projeto direta ou indiretamente, especialmente a Lau Borges pelo site e pelos testes.
Espero que o Activate seja últil para a comunidade Scala.
Site oficial com a documentação:
1.0 Release notes: