Exemple de mise en place d'ORM

ORM

Le terme ORM vient de l’anglais Object-Relational Mapping. En français, on croise parfois (rarement) le terme mapping objet-relationnel.

Il s’agit d’une technique de programmation informatique qui permet de simplifier l’accès à une base de données en proposant à l’informaticien des « objets » plutôt que d’accéder directement à des données relationnelles. Ce niveau d’abstraction supplémentaire fait correspondre le monde objet (programmation orientée objet) et le monde relationnel (les bases de données relationnelles classiques et massivement utilisées aujourd’hui).

L’intérêt principal est d’éviter beaucoup de code très similaire pour l’informaticien ce qui est source d’erreurs et de temps perdu. Ainsi plutôt que de devoir recoder à la main les fonctions de base (CRUD – création, lecture, modification, suppression), les informaticiens ajoutent une couche logicielle intermédiaire qui se charge de la « traduction ».

La difficulté principale consiste à trouver la « bonne traduction » pour toutes les opérations possibles. Souvent, ce n’est pas possible et il faut faire des concessions.

Avantages des ORM

  • Réduction du code à créer et à maintenir pour l’informaticien qui manipule la base de données depuis son logiciel
  • Homogénéité du code objet
  • Accélération du temps de développement

Inconvénients des ORM

  • Problèmes de mise en place lorsque la base de données n’est pas faite dans les règles de l’art
  • Dépendance à un outil ORM
  • Ne permet pas de gérer les requêtes un peu complexes (jointures, groupements), les transactions ou les traitements par lots

Les spécialistes des bases de données leur trouvent beaucoup de défauts. Les développeurs voient surtout une simplification et une accélération de leur temps de développement. La bonne pratique des ORM est certainement dans une utilisation modérée et circonstanciée de ces outils.

Photo : Andreia Bohner