O documento apresenta o DataMapper, um ORM para Ruby. Ele é um padrão do framework Merb e não depende da estrutura do banco de dados, tornando mais fácil integrá-lo a bancos legados. O DataMapper possui várias vantagens como ser mais explícito, modular e permitir migrações. Sua comunidade ainda é pequena e a documentação é limitada, mas ele vem evoluindo com novas funcionalidades.
2. DataMapper
Rafael Rosa
Desenvolvedor há 14 anos
Migrando para Rails
www.rafaelrosafu.com
Projetos
Ruby Inside Brasil
Tradução do Rails Guides
DataMapper – integração do I18n
www.rafaelrosafu.com
3. DataMapper
O que é?
Utiliza o pattern Data Mapper publicado por Martin
Fowler
Mesmo pattern utilizado pelo Hibernate
Criado pelo pessoal do Merb, incluindo Matt
Aimonetti e Yehuda Katz
ORM padrão do Merb
www.rafaelrosafu.com
4. DataMapper
Vantagens
Não depende da estrutura do banco de dados
Mais fácil de integrar com bancos legados
Mais explícito
Mais modular
DataObjects
MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby
DM-core
DM-more
Pode utilizar migrações
Lazy load padrão, Strategic Eager Load (SEL)
Múltiplos repositórios
www.rafaelrosafu.com
13. DataMapper
Futuras funcionalidades (0.10, 0.11)
Validações para objetos Ruby puros
Suporte ao I18n
Identity Map utilizando Moneta (Memcached, Tokyo
Tyrant, etc)
Melhorias no SEL
www.rafaelrosafu.com
14. DataMapper
Desvantagens
Menos maduro
Não se integra facilmente ao Rails (ainda)
Pequena comunidade
Pouca documentação (relativamente)
Ainda não tem Remarkable
www.rafaelrosafu.com
15. DataMapper
Como participar
http://www.datamapper.org
http://groups.google.com/group/datamapper
IRC Freenode #datamapper e #dm-hacking
www.rafaelrosafu.com