为了响应客户和独立软件供应商(Independent Software Vendor,ISV)合作伙伴的请求,IBM、BEA、Oracle、SAP、Siebel、Sybase 和 Xcalia 正在合作制定用于构建面向服务的体系结构(Service-Oriented Architecture,SOA)系统的规范,旨在为开发人员提供构造基于 SOA 的应用程序的更简单更强大方法。这些规范是遵照免版税条款发布的。您可以了解有关这些规范如何一起工作的更多信息。
服务数据对象(Service Data Objects,SDO)设计用于简化和统一应用程序处理数据的方式。通过使用 SDO,应用程序编程人员可以采用统一的方式访问和操作来自异类数据源的数据,包括关系数据库、XML 数据源、Web 服务以及企业信息系统。有关 SDO 的目标和体系结构的更多信息,请参阅白皮书“Next-Generation Data Programming:Service Data Objects”。
SDO 基于断开连接的数据图 的概念。数据图是树形结构或图形结构的数据对象的集合。在断开连接的数据图形体系结构下,客户机将从数据源检索数据图,对数据图进行变异操作,然后将数据图更改应用回数据源。
数据源连接应用程序的任务是由数据中介服务 完成的。客户机应用程序将查询数据中介服务,并从响应中得到数据图。客户机应用程序随后将更新后的数据图发送给数据中介服务,以将更新应用到原始数据源。此体系结构允许应用程序主要处理数据图和数据对象。
SDO 同时支持静态(或强类型)编程模型和动态(或松散类型)编程模型。这就提供了一个简单的编程模型,而不会牺牲各种工具和框架所需的动态模型。
SDO 还提供了一个元数据 API,允许应用程序、工具和框架对数据图形的数据模型进行自检。SDO 元数据 API 对数据源特定的元数据 API 进行了统一,允许应用程序以统一的方式处理来自异类数据源的数据。
SDO 与语言无关,可在一系列编程语言中使用。
2005 年 6 月发布了 Java SDO Specification 的更新扩展版本——Version 2.0。Java SDO Specification 现在可与 C++ SDO Specification 进行互补。二者均已发布了 Version 2.01。这表示仅对 Java 规范进行了很小的编辑性更改,但这是 SDO 规范的第一个公开版本。
| 说明 | 日期 | 访问方法 |
|---|---|---|
| Service Data Objects for Java 2.01 规范 (PDF) | 2005 年 11 月 | HTTP 下载 |
| Service Data Objects for C++ 2.01 规范 (PDF) | 2005 年 11 月 | HTTP 下载 |
| SDO 2.0 Javadoc 文件 (ZIP) | 2005 年 11 月 | HTTP 下载 |
| SDO 2.0 Java 接口源文件 (ZIP) | 2005 年 11 月 | HTTP 下载 |
| SDO 2.01 C++ 接口源文件 (ZIP) | 2005 年 11 月 | HTTP 下载 |
| 说明 | 日期 | 访问方法 |
|---|---|---|
| Next-Generation Data Programming: Service Data Objects(白皮书,PDF) | 2005 年 11 月 | HTTP 下载 |
如果您要提交有关此规范的技术建议,请通过我们的反馈页面提交。
注意:此规范是在免版税基础上提供的(详见规范的版权说明);因此,IBM 不要求使用实现许可证。不过,如果您愿意,可以申请许可证。
还可以单击以下链接来查看此规范以前的版本:
有一个开放源代码项目提供服务数据对象的运行时实现,可用于构建应用程序;其中包含了一些用于帮助使用 SDO 的基本工具。此项目称为 Tuscany,目前在 Apache 正处于孵化期。
请访问 Apache 的 Tuscany 网站。
另外还有一个相关的 Eclipse 开放源代码项目,该项目的目标是提供相关工具来支持开放人员使用面向服务的体系结构进行解决方案构建,而面向服务的体系结构则使用服务组件体系结构作为其核心模型。此项目就是 Eclipse SOA Tools Platform 项目,可以从以下位置获得:
请访问 SOA Tools Platform (STP) 项目网站。
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文 。
- 请访问 Eclipse.org 的 reference implementation for SDO。
- 请参阅 Service Component Architecture 规范。
- 请参阅 PECL 网站上的 PHP implementation of SDO。
- 访问 SOA and Web services 专区,获得相关主题的数百文章、教程和交互式工具。
-
标准发展路线——了解标准和规范对于 SOA 和 Web 服务开发工作的影响和重要性。
-
Architecture: Build for the future——访问 developerWorks 的体系结构专区,以获取提高您的体系结构方面的技能的各种资源。