Service Data Objects
Encyclopedia
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
BEA Systems
BEA Systems, Inc. specialized in enterprise infrastructure software products known as "middleware", which connect software applications to databases and was acquired by Oracle Corporation on April 29, 2008.- History :...

 and IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 and approved by the Java Community Process
Java Community Process
The Java Community Process or JCP, established in 1998, is a formalized process that allows interested parties to get involved in the definition of future versions and features of the Java platform....

. Version 2.0 of the specification was introduced in November 2005 as key part of the Service Component Architecture
Service Component Architecture
Service Component Architecture is a software technology created by major software vendors including IBM and Oracle. SCA provides a model for composing applications that follow Service-Oriented Architecture principles...

.

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 and IBM WebSphere Studio Application Developer 5.1.2. Other similar technologies are JDO
Java Data Objects
Java Data Objects is a specification of Java object persistence. One of its features is a transparency of the persistent services to the domain model. JDO persistent objects are ordinary Java programming language classes ; there's no requirement for them to implement certain interfaces or extend...

, EMF
Eclipse Modeling Framework
Eclipse Modeling Framework is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model...

, JAXB and ADO.NET
ADO.NET
ADO.NET is a set of computer software components that programmers can use to access data and data services. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems,...

.

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
Tree structure
A tree structure 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, even though the chart is generally upside down compared to an actual tree, with the "root" at the top and the...

 with a root 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 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
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

, Rogue Wave
Rogue Wave (company)
Rogue Wave Software is one of the largest providers of cross-platform software development tools and embedded components for the next generation of HPC applications....

, Oracle
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

, SAP
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...

, Siebel
Siebel
Siebel, originally Flugzeugbau Halle, was a German aircraft manufacturer founded in 1937 in Halle an der Saale. It was revived as Siebelwerke in 1948. In 1952, it merged with ATG to form Siebelwerke-ATG Gmbh...

, Sybase
Sybase
Sybase, an SAP company, is an enterprise software and services company offering software to manage, analyze, and mobilize information, using relational databases, analytics and data warehousing solutions and mobile applications development platforms....

, Xcalia, Software AG
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, the fourth in Europe and among the top 25 globally...

 within the OASIS
Oasis
In geography, an oasis or cienega is an isolated area of vegetation in a desert, typically surrounding a spring or similar water source...

 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 (HydraSDO)
  • CodeFutures Software
    CodeFutures Software
    CodeFutures Corporation develops and markets application development tools for enterprise Java developers. The company's first product, FireStorm/DAO, generates the Java code for accessing relational databases. The FireStorm products work by reverse engineering a relational database schema or...

     (FireStorm/SDO)
  • Xcalia (for Java and .Net)
  • BEA (AquaLogic
    AquaLogic
    In computing, AquaLogic comprised a software suite developed by BEA Systems for managing service-oriented architecture . Following the acquisition of BEA by Oracle Corporation in April 2008, most of the software have been renamed and the term AquaLogic is not used in any new Oracle product. New...

     Data Services Platform) - Now Oracle
    Oracle Corporation
    Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

     Data Service Integrator
  • IBM (Virtual XML Garden)
  • IBM (WebSphere Process Server
    WebSphere Process Server
    WebSphere Process Server is the runtime engine for artifacts produced in a business-driven development process. Technically, WebSphere Process Server is mounted on top of WebSphere Application Server and extends the WebSphere Enterprise Service Bus...

    )


There are open source implementations of SDO from:
  • The Eclipse Persistence Services Project (EclipseLink
    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, Object XML mapping , and Enterprise Information Systems...

    )
  • The Apache Tuscany
    Apache Tuscany
    Apache Tuscany provides a Service-oriented architecture infrastructure for easily developing and running applications using a service-oriented approach. This lightweight runtime is designed to be embedded in, or provisioned to, a number of different host environments...

     project for Java and C++
  • The SCA and SDO for PHP project

External links

Specification versions and history can be found on
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK