LE GÉNIE LOGICIEL : LES CONCEPTS
L'avantage que l'on peut reconnaître à cette solution, est
de s'appuyer sur un SGBD relationnel, dans la mesure où
l'on ne désire pas prendre le risque des technologies objet
ou relationnel-objet. Par contre, les données manipulées et
stockées restent dans un monde non objet, et se pose le
problème des performances pour des requêtes navigation-
nelles à travers les objets.
Autre avantage, c'est probablement la solution la plus
viable pour concevoir une (nouvelle) application autour
d'une base de données existante, souvent en relationnel ou
de migrer progressivement des applicatifs anciens en pro-
grammation objet. Par rapport à la solution précédente,
celle-ci à l'avantage de la maîtrise du schéma de la base
puisqu'il faut le concevoir soi-même et de la possibilité de
foptimiser explicitement, soit pour un fonctionnement rela-
tionnel (cas des bases existantes), soit pour un fonctionne-
ment objet. Par rapport à la problématique des SGBD objet
qui risquent de conduire à des applications persistantes, on
se place par contre dans ce cas, dans une logique de
conception autonome de la base d'information (définition
des structures, relations, règles d'intégrité et de gestion...)
indépendante des traitements qui peuvent avoir lieu.
Le principal désavantage, est d'avoir à réaliser soi même
tout l'interfaçage entre le modèle objet applicatif et le
modèle relationnel du SGBD. On peut être rapidement
amené à écrire une surcouche SGBD objet sur un SGBD
relationnel (transaction, verrou, distribution) puisque, par
exemple, non seulement le modèle de stockage est le modè-
le relationnel, mais le modèle de verrouillage également.
Fichiers
Dans cette solution simpliste, l'application gère explici-
tement la persistance des données par des lectures/écri-
tures dans des fichiers. Pour chaque classe, les méthodes
lire et écrire sont décrites, avec des difficultés non négli-
geables lors de la mise à plat des objets pour le stockage
(déréférencement des pointeurs) et inversement la recons-
truction des structures complexes à la lecture. Cette solu-
tion sans SGBD ne peut pas offrir les services de ceux-ci,
soit le partage entre plusieurs utilisateurs, les reprises sur
incident... à moins d'une programmation très lourde de ces
fonctionnalités. Cette solution " rustique " est plutôt à réser-
ver pour conserver des informations, si possible de structu-
re simple, entre deux sessions (ex : paramètres de configu-
ration, données initiales). L'implémentation de cette solu-
tion pourra être allégée par l'emploi de bibliothèques
offrant des classes fichiers, répertoires...
CONCLUSION
Il existe donc plusieurs solutions de stockage des objets,
plus ou moins adaptées au paradigme objet, performantes
et fiables industriellement. Faute de solution universelle,
chaque cas devra être évalué en fonction de ses priorités :
- système d'information ou applications persistantes en
C++ ou Smaltalk, couplage avec des bases existantes,
- productivité en développement et maintenance, perfor-
mances en exécution, facilités en exploitation,
- pérennité de l'offre, du produit, du fournisseur...
Quoiqu'il en soit, il s'avère que les solutions de stockage
pour des objets sont diverses et que même sur le marché
étroit par exemple du C++ persistant, les SGBD objet ne
sont pas forcément incontournables. En conséquence,
même sur un marché de la technologie objet en plein essor
(méthodes, outils d'analyse/conception, programmation...),
les SGBD objet ne font pas le plein de leur clients poten-
tiels et que d'autres technologies plus récentes (ex : objet-
relationnel) ou anciennes (ex : relationnel) ont leur place.
Références
[1] Du C++ à Merise Objet : Objets, par M. Bouzhegoub, G.
Gardarin et P. Valduriez, chez Eyrolles, Paris, 1994
[2] The Object-Oriented Database System Manifesto, par M.
Atkinson, F. Bancilhon, D. De Witt, K. Dittrich, D. Maier, et D.
Zdonick, actes de la conférence DOOD'89, Kyoto, 1989.
[3] The Object Database Standard : ODMG-93, par R.G.G.
Cattel, T. Atwood, J. Duhl, G. Ferran, M. Loomis et D. Wade,
version 1.1, chez Morgan Kaufmann Publishers, San Francisco,
1994.
[4] Database Language SQL3, International Standard
Organization, ISO-ANSI working draft.
[5] Object Engineering : The Fourth Dimension, par Ph. Desfray,
chez Addison-Wesley, Paris, 1994.
Philippe BRIDON est consultant en technologie orientée objet et génie logi-
ciel. A ce titre, il assure la veille technologique sur les produits et méthodes
orientés objet, leur mise en place et l'animation technique des projets. Il travaille
actuellement chez un grand équipementier en télécommunication. Actif depuis
dix ans sur ce sujet, il participe au Cercle Objet du Club Génie Logiciel (19) de
la SEE et au Groupe COOSI (Conception Orientée Objet des Systèmes
d'Information) de l'AFCET. Il a un diplôme d'Ingénieur de t'ISEP, complété d'un
mastère de Génie Logiciel du CERICS.
Abréviations
DBMS DataBase Management System
MCD Modèle Conceptuel de Données
ODMG Object Database Management Group
SGBD Système de Gestion de Bases de Données
SIG Système d'Information Géographique
SQL Structured Query Language
VOD Video On Demand
XAO <technique> Assistée par Ordinateur
REE
N, 6
Juin 1998