Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Service Data Objects

Contributors:  BEA Systems, IBM, Oracle, Primeton Technologies Ltd., Rogue Wave Software, SAP AG, Software AG, Sun Microsystems, Sybase, Xcalia, Zend Technologies

Summary:  In response to requests from customers and joint Independent Software Vendor (ISV) partners, BEA, IBM, Oracle, Primeton Technologies, Rogue Wave, SAP, Software AG, Sun, Sybase, Xcalia and Zend are collaborating on specifications for building systems that use a Service-Oriented Architecture (SOA), which aim to provide developers with simpler and more powerful ways of constructing applications based on SOA. These specifications are published under royalty-free terms.

Date:  01 Nov 2006 (Published 30 Nov 2005)
Level:  Advanced

Activity:  10521 views
Comments:  

In response to requests from customers and joint Independent Software Vendor (ISV) partners, BEA, IBM, Oracle, Primeton Technologies, Rogue Wave, SAP, Software AG, Sun, Sybase, Xcalia and Zend are collaborating on specifications for building systems that use a Service-Oriented Architecture (SOA), which aim to provide developers with simpler and more powerful ways of constructing applications based on SOA. These specifications are published under royalty-free terms. You can learn more about how these specifications work together.

Service Data Objects: Simplifying the programming model for data access

Service Data Objects (SDO) is designed to simplify and unify the way in which applications handle data. Using SDO, application programmers can uniformly access and manipulate data from heterogeneous data sources, including relational databases, XML data sources, Web services, and enterprise information systems. For more information about the goals and architecture of SDO, see the whitepaper "Next-Generation Data Programming: Service Data Objects."

SDO is based on the concept of disconnected data graphs. A data graph is a collection of tree-structured or graph-structured data objects. Under the disconnected data graphs architecture, a client retrieves a data graph from a data source, mutates the data graph, and can then apply the data graph changes back to the data source.

The task of connecting applications to data sources is performed by data mediator services. Client applications query a data mediator service and get a data graph in response. Client applications send an updated data graph to a data mediator service to have the updates applied to the original data source. This architecture allows applications to deal principally with data graphs and data objects.

SDO enables both a static (or strongly typed) programming model and a dynamic (or loosely typed) programming model. This enables a simple programming model without sacrificing the dynamic model needed by tools and frameworks.

SDO also provides a metadata API, which allows applications, tools, and frameworks to introspect the data model for a data graph. The SDO metadata API unifies data-source-specific metadata APIs to enable applications to handle data from heterogeneous data sources in a uniform way.

SDO is intended to be language-neutral and to be available in a range of programming languages.

In June 2005, an updated and extended version of the Java SDO Specification was made available -- Version 2.0. The Java SDO Specification is now complemented with the C++ SDO Specification. Both are published at the Version 2.01 level. This represents only minor editorial changes for the Java specification, but it is the first public version of the SDO specification.

Get the specification and related material

DescriptionDateAccess method
The SDO specifications are available on the Open SOA Collaboration website.November 2006HTML page
The specifications can be viewed and downloaded from the SDO Specifications page. (Previous versions of the specifications are also available from this page.)November 2006HTML page

Get the whitepaper

DescriptionDateAccess method
In addition to the specifications, read the whitepapers and presentations for additional information on the Service Data Objects specifications, which are also available on the Open SOA Collaboration Web site, in the SDO Resources page.November 2006HTML page

Feedback

If you would like to contribute technical comments on this specification, please do so through the Feedback page on the Open SOA Collaboration Web site.

Open source runtimes and tools

There is an open source project which provides Runtime implementations of Service Data Objects, which you can use to build applications and which has some basic tools which assist the use of SDOs. This project is called Tuscany, currently under incubation at Apache. See the Tuscany Web site at Apache.

There is also an Eclipse open source project which aims to provide tools to enable developers to build solutions using a service oriented architecture, which uses Service Component Architecture as its core model. This is the Eclipse SOA Tools Platform project, which you can find at the SOA Tools Platform (STP) Project Web site.

About the Open SOA Collaboration

The SCA and SDO specifications are currently being evolved by a collaboration of companies from across the industry, prior to eventual submission to a formal standards body. To learn more about the Open SOA Collaboration, please visit the home page of the OSOA Web site.

If you would like closer involvement with the evolution of the specifications, you can join the OSOA Supporters group. More information about the OSOA Supporters can be found at the OSOA Web site.


Resources

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services
ArticleID=153086
SummaryTitle=Service Data Objects
publish-date=11012006