Service Data Objects (SDO) est une norme lancée par IBM, BEA, Xcalia[1] puis supporté par Oracle, Siebel[2], SAP pour faciliter l'adoption des architectures orientées SOA.
Avec SDO, la représentation des données est indépendante des systèmes de stockage sous-jacents afin de bénéficier de la flexibilité engendrée par un découplage. De plus, l’approche est dynamique afin de permettre la représentation et la manipulation de données dont la structure n’est pas fixée a priori.
Les objectifs de SDO sont de simplifier l’accès aux données, unifier le modèle de programmation et encourager l’adoption de patterns J2EE.
Principes
Un client interroge un DAS (Data Access Service) pour obtenir un graphe d'objets. Le graphe d'objets obtenu est déconnecté et peut être manipulé en lecture et écriture. La structure du graphe peut être connue en interrogeant les métadonnées.
Les liens entre les nœuds du graphe sont exclusivement des compositions. Le graphe est en réalité un arbre compositionnel. Un nœud ne peut pas référencer un nœud d'un autre arbre.
Historique
- : SDO 2.0
- Nov 2005: SDO 2.0.1 (première version publique de la spécification)
Implémentations de SDO
- Eclipse Modeling Framework[3] fournit une implémentation libre et gratuite de SDO qui s'intègre parfaitement au sein de l'environnement de développement eclipse.
- La plateforme d’intermédiation xcalia est une implémentation commerciale d'un éditeur français qui supporte SDO via un Data Access Service sous forme d'un Service web.
Comparaison avec JDO
- JDO pour la persistance transparente, est utilisé pour Java seulement, alors que SDO est indépendant du langage de programmation.
Voir aussi
Liens externes
- (en) La spécification SDO (IBM)
- (en) SDO Specifications (OSOA)
- (en) Tuscany Java SDO
Notes
- * Xcalia Intermediation Core
- La société Siebel (éditeur de CRM) a été rachetée par Oracle Corporation au début de 2006
- EMF (Eclipse Modeling Framework