Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Section
borderfalse
Column
width12%15%
Available
Include Page
SDO
Java
-DAS menu
SDO-DAS menu

SDO C++
SDO PHP
Downloads
Column
width88%85%

What is Service Data Object?

SOA creates an environment where different types of data must work together. This makes application development complex. Service Data Object(SDO), provides a very simple programming model that addresses this issue. The key high level advantages of SDO are:

  • Uniform access to data from heterogeneous sources which could be XML, RDB, POJO, SOAP, etc.
  • SDO provides both a static (or strongly typed) programming model and a dynamic (or loosely typed) programming model. This provides a simple programming model without sacrificing the dynamic model needed by tools and frameworks.
  • Provides Meta-data for easy introspection of data types
  • Supports a disconnected model, whereby data can be retrieved from a data source via Data Access Service. The data can be modified by a client with change tracking, and applied back to the data source.
  • SDO programming model is language neutral

Tuscany implements SDO Service Data Objects simplify and unify Service Oriented Architecture data access and code in a heterogeneous environment. The SDO API concepts are programming language neutral. Specifications for Java and C++ SDO can be found at the Open Service Oriented Architecture website. Within Tuscany SDO is being implemented in Java and in C++. A PHP version of SDO is available for download from the PHP Extensions Community Library (PECL). Implementations for other languages have been mooted, e.g. Rubyalso available.

SDO specification can be used to represent data structures from the presentation layer all the way through to the persistence layer. It is a natural format for representing data on the wire in an SOA environment. Typically in SDO a Data Access Service (DAS) is used to access a data source and create a disconnected data graph of SDO data objects corresponding to the data found in the data source. When a graph is modified, concise information about those modifications is summarized in the graph structure along with the updated graph. This information can be useful for rolling back changes or for facilitating intelligent behaviour by a DAS when updating the original data source.

Articles

found at the Open Service Oriented Architecture website.

Learn more about SDO

  • Varous white
White What is SDO?,Java Developer Journal, article by Kelvin Goodson & Geoffrey Winn