`

Tuscany SDO 简介

    博客分类:
  • SOA
阅读更多

 

Tuscany SDO 简介

作者:ling091 时间:2008-12-17

SDO(Service Data Object) 服务数据对象是一个数据编程架构和一组API,它的目的是简化数据编程,使开发者能够致力于业务逻辑的处理。

SDO是通过以下途径来简化数据编程的:

统一各种数据源的数据编程,即它提供对各种异构数据源的统一调用方式

对通用编程模式提供支持

使应用、工具和架构能够更容易的查询、查看、绑定、更新数据等。

说得更简单一些,SDO可以看做是一个全新的数据结构(类),各种数据源的数据的数据可以映射为该结构的数据对象,然后通过该结构提供的统一接口来操作数据。

SDO的标准是由IBMBEA公司共同制定的,Apache Tuscany开源组织则实现了该标准定义的SDOTuscany提供了SDOJavaC++PHP版本。TuscanySDO主要完成了以下功能:

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.pdfhttp://tuscany.apache.org

[2] 梁爱虎.SOA 思想、技术与系统集成应用详解.电子工业出版社 200712月.

 

  • 大小: 17.2 KB
2
1
分享到:
评论

相关推荐

    Tuscany的开源项目Tuscany_sdo(C++版)

    Tuscany Service Data Objects (SDO) 是该项目的一个重要组成部分,它是一个标准的数据抽象层,为各种不同类型的数据提供了统一的访问和操作接口。SDO的设计理念是提供一种与语言无关、平台无关的方式来处理数据,...

    tuscany-das&sdo&distribution-all.zip

    标题中的“tuscany-das&sdo&distribution-all.zip”提到了三个关键概念:Tuscany Data Access Service (Tuscany DAS),Service Data Objects (SDO) 和 Distribution。这表明该压缩包可能包含了与这些技术相关的软件...

    tuscany-sdo-1.1.1-javadoc.chm

    自制CHM版的API文档,带索引。 注:如果各位下载后打开或无法显示页面,请在CHM文件右键—属性—解除锁定即可。

    tuscany发布webservice实例

    1. **Tuscany简介** Tuscany的设计目标是支持多种服务交互协议和服务模型,如SOAP、REST、JMS等,并且兼容各种服务描述语言(WSDL、XSD)。它还支持服务数据对象(SDO)和企业服务总线(ESB)功能,使开发者能够...

    SDO环境的配置,安装详解

    SDO是Apache Tuscany项目的一部分,它是一种用于数据访问、操作和存储的技术,提供了一种统一的数据处理方式,能够跨多种数据源工作,包括XML、数据库、对象模型等。SDO的目标是简化数据的访问和处理,使得开发者...

    tuscany1.6.2

    2. **服务数据对象(SDO)**:Tuscany也实现了服务数据对象,这是一种数据抽象层,允许应用程序以统一的方式处理各种类型的数据源,增强了数据的灵活性和互操作性。 3. **模块和组件**:在Tuscany中,应用程序被...

    sdo规范及其应用介绍

    实现SDO需要在项目中引入相应的库,如Apache Tuscany,它是开源实现SDO的一个重要框架。配置完成后,可以通过创建数据图和数据对象来开始数据访问操作。 1. **Apache Tuscany的Java SDO** - **将XML转换为Data ...

    是tuscany与spring,axis整合所有的jar包,已解决冲突问题。

    ### Tuscany简介 Tuscany项目是Apache软件基金会的一个顶级项目,专注于提供一个开放的服务组合架构(SCA)和服务数据对象(SDO)的实现。SCA允许开发者以一种松耦合的方式创建服务,并且可以使用不同的编程模型和...

    SCA与SDO的开源与商业产品浅析.doc

    1. **Apache Tuscany**:作为OSOA的成员,Apache Tuscany是最具代表性的SCA和SDO开源实现之一。该项目由IBM和BEA的主要贡献者开发。Tuscany提供了一个SOA基础设施,包括SCA运行时环境、SDO实现以及数据访问服务(DAS...

    What is SDO

    #### 一、SDO简介 SDO(Service Data Objects),即服务数据对象,是一种旨在简化和服务导向架构(SOA)中的数据访问与编码的技术。通过统一处理不同来源的数据格式,SDO使得开发者能够更高效地管理和操作数据。 #...

    Tuscany-SOAWorld

    同时,Tuscany的SDO层处理数据对象的映射和转换,进一步降低了集成的复杂性。 通过一个具体的场景走读,我们可以看到如何使用Tuscany SCA来构建和部署一个SOA应用。例如,可以使用Tuscany的Java语言支持,结合...

    How does ServiceMix compare to Tuscany or SCA

    SCA还与Service Data Objects (SDO)一起使用,SDO提供了一种统一的数据访问方法,可以处理多种数据源和格式。 Tuscany是SCA规范的一种实现,它目前在Apache孵化器中进行开发。Tuscany提供了两个主要的实现版本:一...

    SOA 下的基于Axis2和Tuscany的web service

    Tuscany实现了服务数据对象(SDO,Service Data Objects)和企业服务总线(ESB,Enterprise Service Bus)等SOA关键组件。SDO是一种统一的数据访问API,允许应用程序以统一的方式处理不同类型的数据源,而ESB则是SOA...

    SOA2007_en_Mike%20edwards_SCA_SDO_Implementations_May_2007.pdf

    Apache Tuscany 是一个致力于提供基于SCA和SDO的SOA运行时的开源项目。它当时处于Apache孵化器阶段,提供了Java和C++的实现。Java实现与Apache Tomcat和Axis一起运行,目标是未来能够支持更强大的运行时环境,如...

    Eclipse STP开发环境配置及实例

    它提供了强大的工具集,支持服务组件架构(SCA)和服务数据对象(SDO),使得开发、部署和管理SOA解决方案变得更加简单。Apache Tuscany是Apache软件基金会的一个项目,其目标是实现OSOA SCA规范,为Java开发者提供...

    SOA实施案例(pdf)

    - Apache Tuscany是一个正在孵化中的开源项目,专注于提供一个基于SCA和SDO的SOA运行时环境。 - 目前已有的实现包括Java和C++版本,其中Java版本可以通过Apache Tomcat + Axis进行部署,而C++版本则可以与Apache ...

    SCA 学习-装配规范

    数据格式的转换则通过Tuscany内部的消息转换器完成,如将SDO转换为其他格式,这背后的转换路径采用Dijkstra最短路径算法确定。 #### 异步事件处理与业务支持 SCA还支持同步和异步事件处理,其中异步进一步分为...

Global site tag (gtag.js) - Google Analytics