Pages

Object Relational Mapping Tools – An overview

Data is critical part of any application.Engineers need to get involved in the tedious work dealing with data.And we all know that the most flexible paradigm way of programming is based on OOPs.We have to simplify by the creation of data access layers, automate data access, or generate data access code.Various design patterns are applied in developing these.There are various OOP languages and an array of relational databases. Any applicaton will need enhancements and refactoring.The databases may change due to requirements.So a technique is need for a flexible architecture.ORM/Object Relational Mapping is therefore a programming technique for converting data between incompatible type systems in relational databases and object-oriented programming languages.This is like a virtual database used within programming language.Most data manipulation is done through Value Objects .These objects can be persisted in database tables.The data types in the database and programming language can be different.The ORM layer could do the possible type mapping.It generates mapped queries for manipulating data in database.The data us represented as objects in application and its stored in RDBMS in accoradance with relational theory.Mapping determines how objects and their relationships are persisted in permanent data storage. In object-relational mapping products, the ability to directly manipulate data stored in a relational database using an object programming language is called transparent persistence. With transparent persistence, the manipulation and traversal of persistent objects is performed directly by the object programming language in the same manner as in-memory, non-persistent objects. This is achieved through the use of intelligent caching mechanisms.Thus a one-to-one object relationship maps to a one-to-one data relationship, a one-to-many maps to a one-to-many, and a many-to-many maps to a many-to-many.

A list of ORM vendors and products
ActiveRecord
Apache DB Project
(ObJectRelationalBridge)
Applied Information Technologies, Inc. (<SQLTags:>)
AlachiSoft (TierDeveloper)
Art Technology Group (ATG Repository)
ARTech (DeKlarit)
The BBA Data Objects Project (BBA Data Objects)
The Castor Project (Castor)
CodeFutures (FireStorm/DAO)
DADO Solution (DADO Database Mapper)
D2O Pty Ltd. (GURA)
Developer Express, Inc. (eXpress Persistent Objects for .NET)
EntitySpaces, LLC (EntitySpaces Architecture for .NET 2.0)
elephant
SQLAlchemy open source
SQLObject , open source
Evaluant RC, S.A. (Data Tier Modeler for .Net)
FireStar Software, Inc. (ObjectSpark)

JPOX
CoughPHP
Open Source ORM for PHP 5 featuring code generation (FreeBSD license)
Doctrine
Open Source ORM for PHP 5.2, free software (GNU LGPL)
ezPDO A Simple Solution for PHP Object Relational Mapping and Data Persistence
Junction
Open-source, object persistence layer (MIT)
ORMer
Open Source, foreign key based ORM for PHP 5, free software (MIT License)
Propel
ORM and Query-Toolkit for PHP 5, inspired by Apache Torque, free software (GNU LGPL)
SilverStripe

The GLORP Project (Object-relational persistence for Smalltalk)
The Hibernate Project (Hibernate)
The Hydrate Project (Hydrate)
The iBATIS Project (iBATIS Data Mapper for Java and .NET)
IdeaBlade (IdeaBlade)
The JC Framework Project (JC Framework)
The Last Component (Persistent Datasets for .NET)
Kodo
Linq
Lattice Business Software International, Inc.
(Lattice.DataMapper for .NET)
LightSpeed
MetaMatrix, Inc.
(MetaBase and MetaMatrix Server)
Metastorage (Metastorage - PHP object-relational mapping code generator)
Michael Campbell Associates, Ltd. (JCodeBox)
MicroDoc Computersysteme, GmbH (MicroDoc Persistence Frameworks for Java)
MyGeneration Software (MyGeneration)
.NET Data Objects (NDO)
The .NET Entity Objects Project (.NET Entity Objects - NEO)
NHibernate
NConstruct
Neo
ObjectMapper .NET Project
(ObjectMapper .NET)
Object Persistent Framework for .Net 2.0 (Opf3)
ObjectFrontier, Inc. (FrontierSuite and FrontierSuite for JDO)
Objectmatter, Inc. (Visual BSF)
ObjectStyle Group (Cayenne Project)
Olero Software, Inc. (ORM.NET)
OmniSphere Information Systems Corp. (OmniBuilder)
OpenJPA
Oracle Corporation
(OracleAS TopLink)
OOmega.net (OOmega JAVA Connector, XML Connector, and DBMS Connector)
The PerlORM Project (PerlORM - Object relational mapping for Perl)
PHP Object Generator (POG)
Premisa d.o.o. (PADO)
postmodern
Persistor.NET
POTIS Software Development Tools
(POTIS Object-Relational Toolkit - PORT)
The Propel Project (Propel: PHP Object Persistence)
PrismTech (OpenFusion Java Data Objects)
Progress Software Corporation (DataXtend CE)
RogueWave Software, Inc. (SourcePro DB)
SharpPower Corporation (RapTier)
SimpleORM (SimpleORM)
Software Tree, Inc. (JDX for Java and NJDX for .NET)
SolarMetric, Inc. (Kodo JDO)
Solutions Design (LLBLGen Pro)
Sooda
submarine
Sun Microsystems, Inc.
(Java Studio Standard 5)
Sybase, Inc. (PowerDesigner)
TechTalk, Ltd. (Genome)
Thought, Inc. (CocoBase)
Vanatec, GmbH (Vanatec OpenAccess for .NET)
Visual Paradigm International Ltd. (DB Visual Architect)
WebObjects
WilsonDotNet.com
(OR Mapper)
X-tensive.com Software Development Company (DataObjects.NET)
Xcalia (LiDO)
YTZ Systems, Inc. (SavePoint for Java)

1 comment: