Note : 6 ; Bourré d’informations, mais dense et difficile d’accès.
Un livre court et dense, qui traite exclusivement des aspects du standard ODMG. Autant dire que le propos apparaîtra des plus secs : détails sur la syntaxe et la sémantique, support des langages, etc…
Court, nous l’avons dit : l’ouvrage ne compte que 170 pages structurées en 6 chapitres et 2 annexes. Le premier d’entre-eux « Aperçu » donne une image beaucoup trop haut niveau du standard pour pouvoir se donner une idée de l’architecture. D’ailleurs le chapitre parle pour moitié du comité de normalisation, de son historique et de son processus. Nous restons sur notre faim. Le second chapitre est nettement plus conséquent, avec ses 35 pages. C’est l’ensemble de la représentation objet (sous forme idl) qui est abordée ici. La part belle est faite aux différentes collections (il y en a beaucoup), ainsi qu’aux opérations de base que l’on peut effectuer dessus. Les transactions sont abordées de manière un peu sommaire. Il est vrai qu’elles ne diffèrent guère de ce que l’on connait.
Le chapitre 3 fait un zoom sur l’IDL d’ODMG qui se nomme OLD (Object Definition Language, bien sûr). Par zoom, j’entends qu’une grande partie des 14 pages de ce chapitre sont consacrées à la BNF de ce langage et ce n’est pas particulièrement fun. A contrario, les 16 pages décrivant le langage de requête, l’OQL paraissent un peu courtes pour le sujet. Dommage en effet, car le chapitre est intéressant, avec de courts exemples à chaque fois.
Au chapitre 5 il s’agit d’utiliser ODMG avec C++. Avec 64 pages, soit plus d’un tiers de l’ouvrage, c’est la partie la plus conséquente du livre. La partie « manuel de référence » sur la manière dont ODL est mappé en C++ tiens la plus grande part. Une autre partie conséquente est bien sûr la manière dont les relations sont implémentées, ce qui est abondamment illustré avec des schémas. Bien sûr tout cela s’applique sur du vieux C++ « anté-98 ». Il serait certainement possible d’aborder les choses bien différemment en C++ 17… Smalltalk est traité bien plus légèrement, en 13 pages. Ici il s’agit plus d’exemples que d’un manuel de référence, histoire de montrer l’indépendance d’ODMG par rapport au langage. Ce qui n’est bien sûr que partiellement vrai.
Il s’agit là d’une version condensée et civilisée du manuel de référence de la norme, pas d’un guide de l’utilisateur simplement curieux du sujet. Le terme « civilisé » est relatif, car l’angle manuel de référence est vraiment présent. Aujourd’hui ce texte n’a qu’un intérêt historique. Il nous vient d’une époque où l’on croyait fermement que les bases objet allaient balayer les bases relationnelles. Il n’en fut rien. Ce sont ces dernières qui ont enterré les premières. Il nous aura fallu attendre l’écosystème des bases big data pour leur trouver de véritables challengers.
Un texte qui n’est pas une simple balade de santé. Seul le lecteur volontaire et motivé y trouvera son compte.
Référence complète : ODMG-93, le standard des bases de données objet – Rick G. G. Cattell – Thomson Publishing International 1995 (V.O. ; The Object Database Standard: ODMG-93 ; Morgan Kaufman Pub. inc. 1994) – ISBN : 2-84180-006-7