`
luoxuanufo
  • 浏览: 21912 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SDO for Java规范(一)——架构

阅读更多

(最近一直在接触SDO,转载一些文章,共同学习)

数据对象是SDO框架的核心。数据对象是一个业务对象的一般表达,并且没有和特殊的持久化存储机制绑定。

数据图是一个相关数据对象的集合。在SDO1.0里,一个数据图总是被一个DataGraph信封对象所包装,而在SDO2.0里,数据对象图可以存在于DataGraph之外。(数据图)Data graph作为两个单词分开使用时,指任何一个数据对象集合;(数据图)DataGraph作为一个单一单词使用时,特指一个DataGraph信封对象。

所有数据图都有一个单一的根数据对象,它直接或间接的包含图里的所有其它数据对象。当的数据图里的所有数据对象仅仅引用自身的数据对象时,我们称该数据图是封闭的。封闭是一个数据图的标准状态。

一个数据图由以下组成:

  • 一个单一的根数据对象。
  • 通过对根数据对象属性的递归检索到的所有可达的数据对象。

一个封闭的数据图形成了一个数据对象的树形结构。数据图能够记录跟踪描述数据对象的模式。数据图同样也可以维护一个更改概要(ChangeSummary),ChangeSummary表达了施加于该图数据对象之上的更改。

 

对于终端用户而言,访问数据图的标准方式是通过数据访问服务(DAS)。DAS提供了从库中加载数据图和将数据图保存回库中的方法。例如,一个XML文件DAS将加载和保存一个数据图为XML文件,一个JDBC DAS将使用一个关系数据库加载和保存一个数据图。针对其它特殊的DAS的规范超出了本规范的范围。

经典的DAS使用了一个非连接的数据架构,客户端除了在读写数据图时,均和DAS保持一个非连接的状态。因而,一个使用数据图的典型场景涉及以下步骤:

  • 终端用户发送一个加载数据图的请求给DAS
  • DAS启动一个持久库上的事务去接收数据,创建一个表达该数据的数据图,并且结束这个事务。
  • DAS返回一个数据图给一个终端用户应用。
  • 终端用户应用处理数据图。
  • 终端用户应用使用修改后的数据图调用DAS
  • DAS基于终端用户对数据的修改,启动一个新的事务更新持久库中的数据。

 

注意有两个特别的角色能够能够用来区分数据对象用户:客户和DAS writer

客户需要能够纵览整个数据图去访问每一个数据对象并且能够获取和设置每一个数据对象域的能力。客户也需要序列化和反序列化一个数据图。如使用XML DAS时,数据图能够被序列化一个XML

DAS writer必须能够为数据图定义一个模型,创建一个新的数据图,产生更改历史信息,并且能够访问更改历史信息。

一个数据图包含一个(更改概要)ChangeSummary,通过ChangeSummary,能够访问数据图中任何一个数据对象的更改历史。当DAS返回一个数据图时,ChangeSummary应该是空的。如果DAS的客户修改了数据对象的状态,例如创建或者删除,这些更改的概要将被记录在ChangeSummary中。

如果一个客户端将一个修改后的数据图发送给DASDAS将会进行数据图的错误性检查,这些错误主要包括数据图是否缺少封闭,属性值是否越界,由树形子图生成的属性或数据对象的选择,不同的约束或者任何针对DAS的特殊限制(如XML模式的特殊校验)。这里,封闭(Closure)指任何一个该数据图的数据对象的引用均指向自身内部的一个对象。通常,DAS使用异常报告更新的问题。

一个数据图可能没有封闭,此时,终端用户可以临时通过数据对象接口修改该数据图所包含的数据对象。然而在所有的用户操作完成后,数据图将重建一个封闭。DAS只能操作带有封闭的数据图。

分享到:
评论

相关推荐

    SDO的JAVA实现规范

    **SDO(Service Data Object)**是Oracle公司提出的一种数据访问接口标准,它为服务导向架构(SOA)提供了一种统一的数据管理模型。SDO的主要目标是简化数据的访问和处理,使得在不同系统之间交换数据变得更加方便。...

    sdo的java实现规范

    《SDO的Java实现规范》是一本关于Service Data Objects (SDO) 技术在Java环境下的详细指南。本书由来自BEA Systems、IBM、Oracle、SAP等知名公司的多位专家共同编写,旨在为开发者提供一个统一的数据操作模型,以...

    全部的SCA&SDO中文规范

    "SDO_SDO的JAVA实现规范"详细介绍了如何在Java环境中使用SDO,包括其API、数据模型和数据变化跟踪机制。SDO的主要目标是简化数据处理并增强数据服务的互操作性。 3. **其他标签**:"SOA"代表面向服务的架构,这是一...

    SDO 规范标准说明书

    5. **跨语言兼容性**:尽管最初的规范是针对Java环境设计的,但SDO的理念和架构也适用于其他编程语言。 三、SDO规范的组成部分 SDO规范由多个部分组成,涵盖了数据模型定义、数据访问API、数据持久化策略等方面。...

    Java架构设计.pdf

    - EJB(Enterprise JavaBeans)是Java EE(Java Platform, Enterprise Edition)规范的一部分,用于构建分布式、事务型、可扩展的企业级应用。 3. 服务架构与分布式计算 - SDO(Service Data Objects)是一种数据...

    SOA SDO数据服务规范

    《SOA SDO数据服务规范》(Service Data Objects for Java Specification Version 2.01, November 2005)是由IBM、BEA Systems Inc.、SAP AG、Oracle Corporation、Siebel Systems Inc.、Xcalia和Sybase Inc.等业界...

    sdo规范及其应用介绍

    Service Data Object(SDO)是一种数据访问标准,由OASIS(Organization for the Advancement of Structured Information Standards)制定,旨在提供统一的数据访问框架,简化多源数据的处理。在分布式系统中,尤其...

    xtreme for java连接oracle spatial 空间数据库.doc

    xtreme for Java是一款Java开发工具,它提供了对各种数据库系统的访问接口,包括Oracle Spatial。它的主要优点在于简化了Java应用程序与数据库之间的交互,提供了高效的连接管理、事务处理和SQL执行能力。 要连接到...

    arcgis9.2在vista下的安装与arcgis engine sdk for java在eclipse 下的导入

    ### ArcGIS 9.2 在 Vista 操作系统下的安装及 ArcGIS Engine SDK for Java 在 Eclipse IDE 中的导入 #### ArcGIS 9.2 在 Vista 下的安装步骤与注意事项 ArcGIS 9.2 是一款广泛使用的地理信息系统软件,但在 Vista ...

    Service Data Objects (SDO) Programmer Guide

    - **SDO 1.0 规范**:详细介绍了 SDO 的规范标准,包括核心概念、数据模型、API 设计等内容。 - **发布说明**:记录了各个版本的重要更新,帮助开发者了解新特性及兼容性问题。 #### 四、参考文档 - **API 参考**...

    What is SDO

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

    SDO概述

    **SDO概述** SDO(Service Data Object)是Oracle公司推出的一种数据访问接口标准,全称为Service Data ...对于希望深入理解SDO的读者,可以参考提供的链接或阅读SDO规范文档(如`SDO规范.doc`)以获取更多信息。

    tuscany-das&sdo&distribution-all.zip

    SDO,Service Data Objects,是一个由Oracle发起并被Java Community Process采纳的JSR(Java Specification Request)311。它定义了一种灵活的数据模型,以及用于在应用程序和数据源之间交换数据的一系列API。SDO...

    CANopen的SDO介绍

    SDO是一种基于客户端/服务器架构的机制,允许设备之间进行数据交换。SDO客户端可以是任何设备,而SDO服务器则是具有数据交换功能的设备。SDO客户端可以向SDO服务器请求读取或写入数据,SDO服务器则根据请求执行相应...

    EMF-SDO-XSD-SDK-2.1.0(FOR ECLIPSE 3.1).ZIP

    2. **SDO(Service Data Objects)**:SDO是Java平台上的一个API,它定义了一套标准的数据访问接口和模型,使得应用程序可以独立于具体的数据源访问数据。SDO支持动态和静态两种模式,动态模式下,数据对象可以任意...

    SCA和SDO标准(PDF文档)

    **服务组件架构(Service Component Architecture,SCA)** 和 **服务数据对象(Service Data Object,SDO)** 是由OpenCSA组织发起的一组规范,旨在简化和服务化面向服务架构(SOA)的开发过程。这些规范通过定义...

    Java高手真经.pdf

    书中探讨了SOA的关键技术和协议,如SOAP、WSDL、UDDI,以及相关的开发技术,如JAX-WS、Axis,还有SOA架构技术如JBI、SCA/SDO、OSGi等。 #### 面向资源架构ROA——REST的实践 ROA(Resource-Oriented Architecture...

Global site tag (gtag.js) - Google Analytics