- Service Data Objects
Service Data Objects is a technology that allows heterogeneous data to be accessed in a uniform way. The SDO specification was originally developed in 2004 as a joint collaboration between BEA and
IBM and approved by theJava Community Process . Version 2.0 of the specification was introduced in November 2005 as key part of the Service Component Architecture.Relation to other technologies
Originally, the technology was known as Web Data Objects, or WDO and was shipped in
IBM WebSphere Application Server 5.1 andIBM WebSphere Studio Application Developer 5.1.2. [ [http://www.ibm.com/developerworks/java/library/j-sdo/ Introduction to Service Data Objects] ] Other similar technologies are JDO, EMF,JAXB andADO.NET .Design
Service Data Objects denote the use of language-agnostic data structures that facilitate communication between structural tiers and various service-providing entities. They require the use of a
tree structure with aroot node and provide traversal mechanisms (breadth/depth-first) that allow client programs to navigate the elements. Objects can be static (fixed number of fields) or dynamic with a map-like structure allowing for unlimited fields. The specification definesmeta-data for all fields and each object graph can also be provided with change summaries that can allow receiving programs to act more efficiently on them.Developers
The specification is now being developed by BEA,
IBM , Rogue Wave, Oracle, SAP,Siebel ,Sybase ,Xcalia ,Software AG ,Sun Microsystems within theOASIS Member Section Open CSA [ [http://www.oasis-opencsa.org/ Activities and announcements | OASIS Open CSA ] ] since April 2007. Collaborative work and materials remain on the collaboration platform of Open SOA, [ [http://www.osoa.org Home - Open SOA Collaboration ] ] an informal group of actors of the industry.Implementations
The following SDO products are available:
* Rogue Wave Software (HydraSDO)
*CodeFutures Software (FireStorm/SDO)
* Xcalia (for Java and .Net)
* BEA (AquaLogic Data Services Platform)
* IBM (Virtual XML Garden)
* IBM (WebSphere Process Server )There are open source implementations of SDO from:
* TheApache Tuscany project for Java and C++
* TheSCA and SDO for PHP projectReferences
External links
Specification versions and history can be found on
* Latest materials at [http://www.oasis-opencsa.org/sdo OASIS Open CSA]
* [http://www.osoa.org/display/Main/Service+Data+Objects+Home Service Data Objects]
* [http://www.osoa.org/display/Main/Service+Data+Objects+Specifications SDO Specifications at OpenSOA]
* [http://www.codefutures.com/service-data-object/ Introduction to Service Data Objects]
* [http://www.zend.com/pecl/tutorials/sdo.php Introducing Service Data Objects for PHP]
* [http://www.codesuccess.com/tutorials/sdo/ Service Data Objects Tutorial]
Wikimedia Foundation. 2010.