Tuscany SDO 简介
作者:ling091 时间:2008-12-17
SDO(Service Data Object) 服务数据对象是一个数据编程架构和一组API,它的目的是简化数据编程,使开发者能够致力于业务逻辑的处理。
SDO是通过以下途径来简化数据编程的:
统一各种数据源的数据编程,即它提供对各种异构数据源的统一调用方式
对通用编程模式提供支持
使应用、工具和架构能够更容易的查询、查看、绑定、更新数据等。
说得更简单一些,SDO可以看做是一个全新的数据结构(类),各种数据源的数据的数据可以映射为该结构的数据对象,然后通过该结构提供的统一接口来操作数据。
SDO的标准是由IBM和BEA公司共同制定的,Apache 的Tuscany开源组织则实现了该标准定义的SDO。Tuscany提供了SDO的Java、C++、PHP版本。Tuscany的SDO主要完成了以下功能:
l 提供对异构系统的数据源的统一调用方式
l 支持静态数据模型和动态编程模型。在不牺牲动态编程模型的前提下时间了一种简单的编程模型。
l 提供Meta-data的简便方法实现内省数据类型
l 支持连接断开下数据操作,客户端可以在链接断开的情况下对数据进行修改,并保存完成的修改记录,从而可以利用修改记录完成对数据源的更新。
SDO的核心概念是DataObject,它是数据对象的一个通用表示,与数据存储机制无关。
DataGraph是用来表示相关的DataObject的数据图,它有一个root DataObject,图中的其他所有对象都与这个根对象直接或间接相连。
DAS(Data Access Service)用于从一个数据存储器中加载一个DataGraph或将一个DataGraph保存到一个数据存储器中。如一个XML File DAS的功能是从XML文件加载一个DataGraph或将其保存到XML文件中,一个JDBC DAS则是从关系数据库中加载或保存DataGraph。
DAS一般使用非连接模式,客户端保持与数据源断开连接的状态,除非是从数据源读取DataGrapah或将DataGraph写回到数据源中。使用DAS的典型步骤如下:
1. 用户向DAS发送一个加载DataGraph的请求
2. 该DAS启动一个事务,向数据源获取数据创建DataGraph,然后结束事务。
3. DAS向用户返回一个DataGraph并结束用户请求
4. 应用程序对调用DataGraph的操作对DataGraph进行处理,如修改。
5. DAS启动事务根据对DataGraph所做的修改将数据写回到数据源中,并结束事务。
附件是SDO断开连接时的架构:
参考:
[1] CPP-SDO-Spec-v2.1.0-FINAL.pdf.http://tuscany.apache.org.
[2] 梁爱虎.SOA 思想、技术与系统集成应用详解.电子工业出版社 2007年12月.
- 大小: 17.2 KB
分享到:
相关推荐
Tuscany Service Data Objects (SDO) 是该项目的一个重要组成部分,它是一个标准的数据抽象层,为各种不同类型的数据提供了统一的访问和操作接口。SDO的设计理念是提供一种与语言无关、平台无关的方式来处理数据,...
标题中的“tuscany-das&sdo&distribution-all.zip”提到了三个关键概念:Tuscany Data Access Service (Tuscany DAS),Service Data Objects (SDO) 和 Distribution。这表明该压缩包可能包含了与这些技术相关的软件...
自制CHM版的API文档,带索引。 注:如果各位下载后打开或无法显示页面,请在CHM文件右键—属性—解除锁定即可。
1. **Tuscany简介** Tuscany的设计目标是支持多种服务交互协议和服务模型,如SOAP、REST、JMS等,并且兼容各种服务描述语言(WSDL、XSD)。它还支持服务数据对象(SDO)和企业服务总线(ESB)功能,使开发者能够...
SDO是Apache Tuscany项目的一部分,它是一种用于数据访问、操作和存储的技术,提供了一种统一的数据处理方式,能够跨多种数据源工作,包括XML、数据库、对象模型等。SDO的目标是简化数据的访问和处理,使得开发者...
2. **服务数据对象(SDO)**:Tuscany也实现了服务数据对象,这是一种数据抽象层,允许应用程序以统一的方式处理各种类型的数据源,增强了数据的灵活性和互操作性。 3. **模块和组件**:在Tuscany中,应用程序被...
实现SDO需要在项目中引入相应的库,如Apache Tuscany,它是开源实现SDO的一个重要框架。配置完成后,可以通过创建数据图和数据对象来开始数据访问操作。 1. **Apache Tuscany的Java SDO** - **将XML转换为Data ...
### Tuscany简介 Tuscany项目是Apache软件基金会的一个顶级项目,专注于提供一个开放的服务组合架构(SCA)和服务数据对象(SDO)的实现。SCA允许开发者以一种松耦合的方式创建服务,并且可以使用不同的编程模型和...
1. **Apache Tuscany**:作为OSOA的成员,Apache Tuscany是最具代表性的SCA和SDO开源实现之一。该项目由IBM和BEA的主要贡献者开发。Tuscany提供了一个SOA基础设施,包括SCA运行时环境、SDO实现以及数据访问服务(DAS...
#### 一、SDO简介 SDO(Service Data Objects),即服务数据对象,是一种旨在简化和服务导向架构(SOA)中的数据访问与编码的技术。通过统一处理不同来源的数据格式,SDO使得开发者能够更高效地管理和操作数据。 #...
同时,Tuscany的SDO层处理数据对象的映射和转换,进一步降低了集成的复杂性。 通过一个具体的场景走读,我们可以看到如何使用Tuscany SCA来构建和部署一个SOA应用。例如,可以使用Tuscany的Java语言支持,结合...
SCA还与Service Data Objects (SDO)一起使用,SDO提供了一种统一的数据访问方法,可以处理多种数据源和格式。 Tuscany是SCA规范的一种实现,它目前在Apache孵化器中进行开发。Tuscany提供了两个主要的实现版本:一...
Tuscany实现了服务数据对象(SDO,Service Data Objects)和企业服务总线(ESB,Enterprise Service Bus)等SOA关键组件。SDO是一种统一的数据访问API,允许应用程序以统一的方式处理不同类型的数据源,而ESB则是SOA...
Apache Tuscany 是一个致力于提供基于SCA和SDO的SOA运行时的开源项目。它当时处于Apache孵化器阶段,提供了Java和C++的实现。Java实现与Apache Tomcat和Axis一起运行,目标是未来能够支持更强大的运行时环境,如...
它提供了强大的工具集,支持服务组件架构(SCA)和服务数据对象(SDO),使得开发、部署和管理SOA解决方案变得更加简单。Apache Tuscany是Apache软件基金会的一个项目,其目标是实现OSOA SCA规范,为Java开发者提供...
* Databinding扩展:提供了数据绑定的方式,包括XML、SDO、Json等格式。 * Interface扩展:提供了SCA服务和引用的接口暴露方式,包括Java、WSDL等类型。 本文档提供了SCA学习笔记,涵盖了SCA的概念、实现和应用,并...
- Apache Tuscany是一个正在孵化中的开源项目,专注于提供一个基于SCA和SDO的SOA运行时环境。 - 目前已有的实现包括Java和C++版本,其中Java版本可以通过Apache Tomcat + Axis进行部署,而C++版本则可以与Apache ...
数据格式的转换则通过Tuscany内部的消息转换器完成,如将SDO转换为其他格式,这背后的转换路径采用Dijkstra最短路径算法确定。 #### 异步事件处理与业务支持 SCA还支持同步和异步事件处理,其中异步进一步分为...