O RM
i
n Dynamic
L anguages
A major component of most enterprise applications is
the code that transfers objects in and out of a relational
database. The easiest solution is often to use an ORM
(object-relational mapping) framework, which allows the
developer to declaratively define the mapping between
the object model and database schema and express database-access operations in terms of objects. This high-level
approach significantly reduces the amount of database-access code that needs to be written and boosts developer
productivity.
Several ORM frameworks are in use today. For example, the Hibernate, 1 TopLink, 2 and OpenJPA3 frameworks
are popular with Java developers, and NHibernate4 is used
by many .NET developers. Two newer ORM frameworks
that have recently received a lot of attention from enterprise developers are Active Record5 for Ruby6 and GORM
(Grails Object Relational Mapping) 7 for Groovy. 8 These
new frameworks differ from traditional ORM frameworks
in that they are written in dynamic languages that allow
new program elements to be created at runtime. Active
Record and GORM use these dynamic capabilities in ways
that can significantly simplify an application.