Base de données orientée composant
En informatique, une base de données orientée composant (component-oriented database ou CODB) est un ensemble d'informations stockées sous un modèle particulier de gestion de données et de programmation de systèmes de gestion de base de données. La particularité principale d'une CODB est l'usage du paradigme de la programmation orientée composant[1] - [2].
Concepts
En programmation informatique et modélisation de données, l'approche orientée objet (OO) a conduit à une meilleure réutilisation des codes informatiques, ce qui a permis l'utilisation d'un nouveau modèle, appelé orienté composant (OC)[3]. Dans ce modèle, on peut regrouper les classes en cellules (composants)[1].
Les composants jouent un rôle similaire à celui de la fonction dans la programmation structurée[4], un style de code qui, bien que contemporain de la base de données relationnelle, a introduit la réutilisation en informatique[5].
Ainsi, quand on utilise le modèle de la BD orientée composant, on profite des particularités et des facilités de tous ses prédécesseurs. C'est plus simple de la comprendre avec l'idée du composant visuel. Il s'agit d'une application[6] qui peut être déployée sous une forme autre qu'un exécutable ou du bytecode ; elle se matérialise en une icône dans une autre application. Quand on clique sur l'icône, le composant visual accomplit ses tâches[7]. Alors, ces concepts-ci peuvent être étendus aux composants non visuels[8].
Dans des activités de bases de données, un composant, visuel ou non, est un ensemble de classes. Un composant peut être lié à d'autres composants par des adaptateurs[9].
Depuis l'orienté objet, les données et les méthodes sont liés au sein de classes[10]. Donc, il est difficile de définir la limite entre programmation OC et CODB. Néanmoins, ça se situe dans un contexte purement théorique et n'a pas d'importance pratique, car l'ORDBMS et le CRDB (component-relational database) sont utilisés à grande échelle. Ainsi, on peut programmer sous le nouveau paradigme tout en utilisant des logiciels traditionnels[11].
Accomplissement
En programmation, l'OC est mise en œuvre au moyen de langages largement répandus comme le C++ ou le Java. On utilise aussi la technique de projection (mapping). L'UML, qui permet des modélisations sous forme de diagramme, facilite la conception de logiciel. La gestion de données et la gestion de base de données utilisent une technique de projection similaire au paradigme ORDBMS[12].
Avantages
Le principal avantage des bases de données orientées composant est l'optimisation de la réutilisation du travail. Par rapport à l'orienté objet, l'OC permet de plus d'intégrer des applications « prêt-à-porter » comme modules dans de nouveaux projets[7].
Ces particularités spécifiques à l'orienté composant ne sont pas possibles avec l'orienté objet traditionnel, bien que l'idée du composant dérive naturellement du concept d'objet. Les notions d'encapsulation, d'héritage et de polymorphisme n'impliquent pas nécessairement l'idée de réutilisation d'applications sous forme de modules dans de nouveaux travaux. La pensée OC assure aussi que les composants soient testés au maximum. Donc, l’orienté composant permet une plus grande réutilisation[13]. En outre, le modèle OC implique une meilleure intelligibilité pour les utilisateurs finaux.
Le paradigme OC utilise les mêmes logiciels utilisés dans le paradigme OO. Néanmoins, il s'agit de deux différents modèles. La programmation et la gestion d'une CODB permet plus la réutilisaton que ceux d'une OODB. Dans une CODB, un système peut être composé des ensembles de classes (composants), chacun réutilisé à partir d'un autre système .
Notes et références
- Rotaruo, Octavian Paul b, Petrescu, Mircea, Dobre, Marian, « Towards a Component Based Model for Database Systems », Leonardo Journal of Sciences (consulté le )
- Bromberg, David, « OSR, Composants Logiciels », Master Informatique Systèmes et Réseaux (consulté le )
- Sergio de Cesare, Mark Lycett et Bobert. D. Macredie, Development of Component-Based Information Systems, vol. 2, New York, M. E. Sharp, , 1re éd., 52 p. (ISBN 0-7656-1248-8, ISSN 1554-6152, lire en ligne)
- Peter Hans Fröhlich, Component-Oriented ProgrammingLanguages : Why, What, and How, Irvine, University of California, , 1re éd., 151 p., p. 2
- Sureau, Denis, « History of Programming Languages and Their Evolution », Scriptol, (consulté le )
- ou même d'une petite application ou applet
- « The Benefits of Modular Programming », Netbeans Org., (consulté le )
- Piveta, Eduardo Kessler, Zancanella, Luiz Carlos, « Aurélia: Aspect Oriented Programming Using a Reflective Approach », IT Department of Santa Maria University (consulté le )
- « Components: Interfaces and Adapters », Twisted Matrix Labs (consulté le )
- Guthery, Scott, « Are the Emperor's New Clothes Object Oriented? », Dr. Dobb's Journal, (consulté le )
- « Introduction to Java in Oracle Database », Oracle docs (consulté le )
- Abdelkader Hameurlain, Lecture Notes in Computer Science
- Grundy, John; Patel, Rakesh, « Developing Software Components with the UML, Enterprise Java Beans and Aspects », Faculty of Information and Communication Technologies of Swinburne Universe of Technology, (consulté le )
Voir aussi
Bibliographie
- (en) Franck Buchmann, Regine Meunier et al., Pattern-Oriented Software Architecture, vol. 1 : A System of Patterns, Chichester, John Wiley & Sons, coll. « Software Patterns Series », , 476 p. (ISBN 0-471-95869-7)
- (en) Cho Eun-Sun, Han Sang-Yong et Kim Hyoung-Joo, « A New Data Abstraction Layer Required for OODBMS », dans Database Engineering and Applications Symposium, 1997. IDEAS '97. Proceedings, (ISBN 0-8186-8114-4, ISSN 1098-8068, DOI 10.1109/IDEAS.1997.625670), p. 144-148
- (en) Hector Garcia-Molina, Jeffrey David Ulman et Jennifer Widom, Database systems : the complete book, Prentice Hall, (ISBN 0-13-187325-3)
- (en) Clemens Szyperski, Component Software : Beyond Object-Oriented Programming, Addison-Wesley, coll. « Software Patterns Series », , 411 p. (ISBN 0-201-17888-5)
- (en) Erich Gamma, Richerd Helm et al., Design Patterns : Elements of Reusable Object-Oriented Software, Addison-Wesley, coll. « Addison-Wesley professional computing series », , 395 p. (ISBN 978-0-201-63361-0)
- (en) Clemente, Pedro J. et Hernandez, Juan, Aspect Component Based Software Engineering, Proceedings of The Second AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS),
- (en) Clements, Paul., From subroutines to subsystems : Component-Based Software Development,
- (en) Brown, Allen, Component-Based Software Engineering : Selected Papers from Software Institute,
- (en) Pfister, C. et Szyperski, C.., Why Objects Are Not Enough, Proceedings of Component Users Conference, Munich, Germany,
- (en) Rotaru, Octavian Paul, Dobre, Marian et Petrescu, Mircea, Integrity and Consistency Aspects in Component-Oriented Databases, Proceedings of the International Symposium on Innovation in Information
- (en) Stroustrup, Bjarne, Why C++ is not just an Object-Oriented Programming Language, Addendum to OOPSLA95 Proceedings, ACM OOPS Messenger,