Service Data Objects is a technology that allows
heterogeneous
Homogeneity and heterogeneity are concepts relating to the uniformity of a substance, process or image. A homogeneous feature is uniform in composition or character (i.e., color, shape, size, weight, height, distribution, texture, language, i ...
data to be accessed in a uniform way. The SDO specification was originally developed in 2004 as a joint collaboration between
Oracle
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
(
BEA) and
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
and approved by the
Java Community Process
The Java Community Process (JCP), established in 1998, is a formal mechanism that enables interested parties to develop standard technical specifications for Java technology. Becoming a member of the JCP requires solid knowledge of the Java program ...
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 (software platform), Java-based web applications. It is t ...
5.1 and
IBM WebSphere Studio Application Developer 5.1.2. Other similar technologies are
JDO,
EMF,
JAXB
Jakarta XML Binding (JAXB; formerly Java Architecture for XML Binding) is a software framework that allows Java EE developers to map Java classes to XML representations. JAXB provides two main features: the ability to ''marshal'' Java objects int ...
and
ADO.NET
ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components.
ADO.NET is a set of computer software components that programmers ...
.
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
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 gen ...
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 co ...
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
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
,
Rogue Wave A rogue wave is an abnormally large ocean wave.
Rogue wave may also refer to:
* Optical rogue waves, are rare pulses of light analogous to rogue or freak ocean waves.
* Rogue Wave Software, a software company
* Rogue Wave (band), an American in ...
,
Oracle
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
,
SAP
Sap is a fluid transported in the 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 s ...
,
Siebel,
Sybase
Sybase, Inc. was an enterprise software and services company. The company produced software relating to relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; SAP ceased using the Syba ...
,
Xcalia,
Software AG
Software GmbH, trading as Software AG, is a German multinational software corporation that develops enterprise software for business process management, integration, and big data analytics. Founded in 1969, the company is headquartered in Darmstad ...
within the
OASIS
In ecology, an oasis (; : oases ) is a fertile area of a desert or semi-desert environment[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
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
(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)