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 の一部としてリリースされた。他の類似の技術としては、JDO, EMF, JAXB, ADO.NET がある。
設計.
Service Data Objects は言語に依存しないデータ構造を利用し、各種サービス提供実体間の通信を可能にする。木構造とその上での走査（幅優先/深さ優先）方法を提供し、クライアントプログラムが要素を操作できるようにする。オブジェクトは静的（フィールド数固定）でも、無制限のフィールドを持てる動的な構造でもよい。仕様では、全フィールドにメタデータが定義され、オブジェクトのグラフについて変更サマリーを提供することで、プログラムがデータをより効率的に扱えるようにする。
開発元.
2007年4月以降、仕様はOASISの Open CSAが策定しており、BEAシステムズ・IBM・Rouge Wave・オラクル・SAP・Siebel・Sybase・Xcalia・Software AGとサン・マイクロシステムズが参加している。それ以前からある非公式な協業組織 Open SOA もこれに協力している。
実装.
オープンソース実装としては、以下のものがある。