サービス・データ・オブジェクトは、Service Component Architecture 補完します。 Service Component Architecture は、コンポーネントとしてのサービス、およびサービス間の接続を定義します。 サービス・データ・オブジェクト は、コンポーネント間を流れるデータを定義します。
それぞれのコンポーネントは、情報を入力および出力として受け渡します。 サービスが呼び出されると、 データ・オブジェクトが、文書リテラル・エンコードを使用した XML 文書として (WSDL ポート・タイプを使用している場合)、 または Java オブジェクトとして (Java インターフェースを使用している場合) 渡されます。 データ・オブジェクトは、Service Component Architecture のサービスにおけるデータおよびメタデータの優先書式です。 コンポーネントと同様に、サービス・データ・オブジェクトはデータ・オブジェクトをその実装から分離します。 例えば、コンポーネントは購入注文と相互作用し、 購入注文自体は JDBC、EJB などを使用してデータを更新することができます。 サービス・データ・オブジェクトにより、統合開発者はビジネス成果物の操作に集中することができます。実際には、 統合開発者がサービス・データ・オブジェクトを意識することはありません。 サービス・データ・オブジェクトは、service data objects Java Specification Request (JSR) によって定義されます。
次のダイアグラムでは、サービス・データ・オブジェクトが外部サービスからエクスポートに、 エクスポートからコンポーネントに、コンポーネントからコンポーネントに、 コンポーネントからインポートに、そしてインポートからサービスに渡されます。 インポートとエクスポートについては、後続の『インポートおよびエクスポート』セクションで説明します。