Service Data Objects

Service Data Objects（サービスデータオブジェクト、SDO）とは、様々なデータを統一的にアクセスできるようにする技術である。2004年、BEAシステムズとIBMが共同で開発し、Java Community Process が承認した。2005年11月、Service Component Architectureの一部としてバージョン2.0が登場した。

 他の技術との関連 
当初 Web Data Objects（ウェブデータオブジェクト、WDO）と呼ばれ、IBM WebSphere Application Server 5.1 と IBM WebSphere Studio Application Server 5.1.2 の一部としてリリースされたIntroduction to Service Data Objects。他の類似の技術としては、JDO, EMF, JAXB, ADO.NET がある。

 設計 
Service Data Objects は言語に依存しないデータ構造を利用し、各種サービス提供実体間の通信を可能にする。木構造とその上での走査（幅優先/深さ優先）方法を提供し、クライアントプログラムが要素を操作できるようにする。オブジェクトは静的（フィールド数固定）でも、無制限のフィールドを持てる動的な構造でもよい。仕様では、全フィールドにメタデータが定義され、オブジェクトのグラフについて変更サマリーを提供することで、プログラムがデータをより効率的に扱えるようにする。

 開発元 
2007年4月以降、仕様はOASISの Open CSAOASIS Open CSAが策定しており、BEAシステムズ・IBM・Rouge Wave・オラクル・SAP・Siebel・Sybase・Xcalia・Software AGとサン・マイクロシステムズが参加している。それ以前からある非公式な協業組織 Open SOAOpen SOA もこれに協力している。

 実装 
 Rogue Wave Software (HydraSDO)
 CodeFutures Software (FireStorm/SDO)
 Xcalia （Java および .Net）
 BEA (AquaLogic Data Services Platform)
 IBM (Virtual XML Garden)
 IBM (WebSphere Process Server)

オープンソース実装としては、以下のものがある。
 Apache Tuscany（Java および C++）
 SOA PHP

 出典 

 外部リンク 
 OASIS Open CSA SDOの公式サイト
 Service Data Objects
 SDO Specifications at OpenSOA
 Introduction to Service Data Objects
 Introducing Service Data Objects for PHP
 Service Data Objects Tutorial

Category:コンピュータネットワーク
Category:プログラミングパラダイム
Category:情報技術
Category:オブジェクト指向