Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
borderfalse
Column
width15%
Include Page
TUSCANY: Menus
TUSCANY: Menus
Column
width85%

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. Ruby.

SDO 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.

Resources

also available.

SDO specification can be found at the Open Service Oriented Architecture website.

Resources

  • Varous white papers and presentations about SDO can be found on www.osoa.org SDO resoruces page.What is SDO?,Java Developer Journal, article by Kelvin Goodson & Geoffrey Winn