Object Relational Mapping
(ORM) Tools
Ketan Sharma
iNVERTEDi
Topics
• Overview
• The Need
• Benefits
• Popular ORM Tools
• Alternatives
• Demonstration
• References
• Questions
Overview
• Technique for converting data between
incompatible systems developed using object
oriented programming.
• Mechanism to persist objects in a system
• Done by mapping a complex type object to it’s
corresponding relational database entity.
The Need
• When you need the data access layer (DAL) to be
independent of the underlying RDBMS (i.e. MS
SQL, Oracle, MySQL etc.)
• When you need to persist the state of your
Business Objects.
• Easily and quickly reflect the change in your
Database Schem.
Benefits
• Reduces the coding time by at least 60%.
• Brings in consistency in the code so easy to
handover and quick to learn.
• Popular ORM tools are built on standards (e.g.
code templates, Microsoft Enterprise Block etc.)
which ensure code stability.
• Easy binding of data with UI controls
• Easy CRUD operations
Benefits
• Abstraction of concepts like cache management
and concurrency.
• Transaction management can be easily
implemented.
• Data loading can be optimized. (e.g. Paging)
• Help quickly build nTier applications
• Units Tests and Web Services can be built
automatically by a click of a button.
Popular ORM Tools
• Java
▫ Cayenne, Apache
▫ Hibernate
▫ JDO
▫ DataNucleus
▫ QuickDB
• MonoTouch/iOS
▫ Database Objects
Popular ORM Tools
• .Net
▫ Codegen (free iNVERTEDi product)
▫ Nhibernate
▫ nTiers with Codesmith
▫ OpenAccess Telerik
▫ Entity Spaces
• PHP
▫ CakePHP
▫ Qcodo
Alternatives
• Object Oriented Database Management Systems
(OODBMS) – DBMS in which information is
represented in the form of objects used in OOP.
Demonstration
• Codegen Demo…
References
• OODBMS -
http://en.wikipedia.org/wiki/Object_database
• ORM - https://en.wikipedia.org/wiki/Object-
relational_mapping
• List of ORM -
http://en.wikipedia.org/wiki/List_of_object-
relational_mapping_software
Thanks
• Questions????

ORM Tools

  • 1.
    Object Relational Mapping (ORM)Tools Ketan Sharma iNVERTEDi
  • 2.
    Topics • Overview • TheNeed • Benefits • Popular ORM Tools • Alternatives • Demonstration • References • Questions
  • 3.
    Overview • Technique forconverting data between incompatible systems developed using object oriented programming. • Mechanism to persist objects in a system • Done by mapping a complex type object to it’s corresponding relational database entity.
  • 4.
    The Need • Whenyou need the data access layer (DAL) to be independent of the underlying RDBMS (i.e. MS SQL, Oracle, MySQL etc.) • When you need to persist the state of your Business Objects. • Easily and quickly reflect the change in your Database Schem.
  • 5.
    Benefits • Reduces thecoding time by at least 60%. • Brings in consistency in the code so easy to handover and quick to learn. • Popular ORM tools are built on standards (e.g. code templates, Microsoft Enterprise Block etc.) which ensure code stability. • Easy binding of data with UI controls • Easy CRUD operations
  • 6.
    Benefits • Abstraction ofconcepts like cache management and concurrency. • Transaction management can be easily implemented. • Data loading can be optimized. (e.g. Paging) • Help quickly build nTier applications • Units Tests and Web Services can be built automatically by a click of a button.
  • 7.
    Popular ORM Tools •Java ▫ Cayenne, Apache ▫ Hibernate ▫ JDO ▫ DataNucleus ▫ QuickDB • MonoTouch/iOS ▫ Database Objects
  • 8.
    Popular ORM Tools •.Net ▫ Codegen (free iNVERTEDi product) ▫ Nhibernate ▫ nTiers with Codesmith ▫ OpenAccess Telerik ▫ Entity Spaces • PHP ▫ CakePHP ▫ Qcodo
  • 9.
    Alternatives • Object OrientedDatabase Management Systems (OODBMS) – DBMS in which information is represented in the form of objects used in OOP.
  • 10.
  • 11.
    References • OODBMS - http://en.wikipedia.org/wiki/Object_database •ORM - https://en.wikipedia.org/wiki/Object- relational_mapping • List of ORM - http://en.wikipedia.org/wiki/List_of_object- relational_mapping_software
  • 12.