Service Data Objects is a technology that allows
heterogeneous
Homogeneity and heterogeneity are concepts often used in the sciences and statistics relating to the uniformity of a substance or organism. A material or image that is homogeneous is uniform in composition or character (i.e. color, shape, siz ...
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 agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The word '' ...
(
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 Java EE developers to map Java classes to XML representations. JAXB provides two main features: the ability to ''marshal'' Java objects in ...
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 gener ...
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
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
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
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The word '' ...
,
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 separa ...
,
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
Sybase, Inc. was an enterprise software and services company. The company produced software to manage and analyze information in relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; ...
,
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
In ecology, an oasis (; ) is a fertile area of a desert or semi-desert environment'ksar''with its surrounding feeding source, the palm grove, within a relational and circulatory nomadic system.”
The location of oases has been of critical imp ...
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
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The word '' ...
(Data Service Integrator)
, Oracle Data Service Integrator
/ref>
* IBM (Virtual XML Garden)
* IBM (WebSphere Process Server
IBM WebSphere refers to a brand of proprietary computer software products in the genre of enterprise software known as "application and integration middleware". These software products are used by end-users to create and integrate applications wi ...
)
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
Apache Tuscany was an open-source software project for developing and running software applications using a service-oriented architecture (SOA).
Description
This lightweight runtime is designed to be embedded in, or provisioned to, a number of di ...
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)