服务数据对象补充了服务组件体系结构。服务组件体系结构将服务定义为组件并定义组件之间的连接。服务数据对象定义组件之间的数据流。
每个组件都以输入或输出的形式传递信息。当调用一个服务时,如果使用的是 WSDL 端口类型,则会将数据对象作为带有文档文字编码的 XML 文档来传递;如果使用的是 Java 接口,则作为 Java 对象来传递。在“服务组件体系结构”服务中,数据对象是用于数据和元数据的首选形式。与组件类似,服务数据对象将数据对象与其实现分隔开来。例如,一个组件与采购订单进行交互,而采购订单本身可能会使用 JDBC 和 EJB 等来对数据执行更新。服务数据对象让集成开发者侧重于处理业务工件。 事实上,服务数据对象对于集成开发者来说是透明的。它们由服务数据对象 Java 规范请求(JSR)定义。
在下图中,服务数据对象进行了下列传递:从外部服务传递到导出,从导出传递到组件,从组件传递到组件,从组件传递到导入,并从导入传递到服务。导入和导出在后面的导入和导出一节中进行了讨论。