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 it 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.
Data Access Services (DAS) access data sources and produce data graphs. Modifications made to graphs by the application are summarized in the graph structure, and the DAS can use this change summary to update the original data source.