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
Oracle (
BEA) and
IBM and approved by the
Java Community Process
The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology. Anyone can become a JCP Member by filling a form available at thJCP w ...
i
JSR 235 Version 2.0 of the specification was introduced in November 2005 as a 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
WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product with ...
5.1 and
IBM WebSphere Studio Application Developer 5.1.2. Other similar technologies are
JDO,
EMF,
JAXB
Java XML Binding (JAXB; formerly Java Architecture for XML Binding) is a software framework that allows Jakarta EE, Java EE developers to map Java class (computer science), classes to XML representations. JAXB provides two main features: the abi ...
and
ADO.NET.
Design
Service Data Objects denote the use of
language-agnostic
Language-agnostic programming or scripting (also called language-neutral, language-independent, or cross-language) is a software paradigm in which no particular language is promoted.
In introductory instruction, the term refers to teaching princip ...
data structures that facilitate communication between structural tiers and various service-providing entities. They require the use of a
tree structure
A tree structure, tree diagram, or tree model is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, although the chart is genera ...
with a
root node
In computer science, a tree is a widely used abstract data type that represents a hierarchical tree structure with a set of connected nodes. Each node in the tree can be connected to many children (depending on the type of tree), but must be con ...
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 defines
meta-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
IBM,
Rogue Wave
Rogue waves (also known as freak waves, monster waves, episodic waves, killer waves, extreme waves, and abnormal waves) are unusually large, unpredictable, and suddenly appearing surface waves that can be extremely dangerous to ships, even to lar ...
,
Oracle,
SAP
Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant.
Sap is distinct from latex, resin, or cell sap; it is a separ ...
,
Siebel
Siebel was a German aircraft manufacturer founded in 1937 in Halle an der Saale.Gunston p.424
History
It originated in the Klemm-Flugzeugwerke Halle that had been founded in 1934 as a branch of Leichtflugzeugbau Klemm in Böblingen. Its nam ...
,
Sybase,
Xcalia,
Software AG
Founded in 1969, Software AG is an enterprise software company with over 10,000 enterprise customers in over 70 countries. The company is the second largest software vendor in Germany, and the seventh largest in Europe. Software AG is traded on t ...
within the
OASIS Member Section Open CSA since April 2007. Collaborative work and materials remain on the collaboration platform of Open SOA, an informal group of actors of the industry.
Implementations
The following SDO products are available:
*
Rogue Wave Software
Rogue Wave Software was an American software development company based in Louisville, Colorado. It provided cross-platform software development tools and embedded components for parallel, data-intensive, and other high-performance computing (HPC ...
HydraSDO
* Xcalia (for Java and .Net)
*
Oracle (Data Service Integrator)
, Oracle Data Service Integrator
/ref>
* IBM (Virtual XML Garden)
* IBM ( WebSphere Process Server)
There are open source implementations of SDO from:
* The Eclipse Persistence Services Project (EclipseLink
EclipseLink is the open source Eclipse Persistence Services Project from the Eclipse Foundation. The software provides an extensible framework that allows Java developers to interact with various data services, including databases, web services, ...
)
* The Apache Tuscany project for Java and C++
* The fcl-sdo library included with FreePascal
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against it ...
References
{{reflist
External links
Specification versions and history can be found on
* Latest materials a
OASIS Open CSA
Service Data Objects
SDO Specifications at OpenSOA
Introducing Service Data Objects for PHP
Computer networking
Java specification requests
Persistence
Service-oriented (business computing)