sdo初探.doc_第1页
sdo初探.doc_第2页
sdo初探.doc_第3页
sdo初探.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(一) 概述Sdo是用统一的标准和规范访问异构数据源,目的在于简化访问不同数据源的复杂性,使程序员能够更加专注于业务逻辑,而不是底层的技术。可以访问的数据源不仅仅是数据库,还包括,文件,EJB Entities等。(二) 与其他技术的比较在之外已经有很多成熟的技术实现数据访问,但是他们都是有针对性地,或者针对特定类型的数据源,或者针对特定的平台。则不同,它 提供了对不同类型数据的统一访问。(三) 组件数据对象(Data Object)、数据图(Data Graph)、DMS(Data中介服务)。1、数据对象就是结构化了的数据,举例来说: 看上面一段文档,company可以看作一个对象,department可以看作一个对象,employeess也可以看作一个对象。department作为了company的一个属性,同时department又有自己的属性:employees。2、数据图提供了数据对象树的容器。就是一组数据对象的集合,不过这些数据对象是被序列化后的, 有一定的顺序和联系。同时数据图还维护了一个叫做更改摘要的东西,这正是SDO优点的一个体现。更改摘要记录了所有本数据图中对象的更改记录,这样,当保存数据时只需要将有更改的部分保存即可,大大提高了程序执行的效率。3、 DMS(Data Mediertor Service)数据中介服务严格来讲DMS不属于SDO的组件,不过SDO在访问数据源的时候需要用到它。直接与数据源打交道,读取数据源,并把读取来得数据生成数据图;也负责把数据图保存回数据源。作用类似于,但是决不仅仅是那么简单,它包括跟各种数据源打交道的组件,可以处理各种数据源,包括关系数据库、实体 EJB 组件、XML 页面、Web 服务、Java Connector Architecture、JavaServer Pages 页面等。这是较其他技术的又一个优势,可以把不同的数据源数据用统一的形式表示出来,对它们可以用统一的方法进行操作,而不必分别掌握各种数据源的操作方法,大大简化了程序员的工作。(四) 工作机制当在应用程序组件(比如服务调用期间的 Web 服务请求者和提供者)之间进行传输、组件到 DMS 的传输(或者保存到磁盘)的时候,数据图被序列化为 XML。所以我们还以访问xml文档为例。接下来就把下面的文档当作我们的数据源,对它进行操作。 Robbie Minshall 123 Maple Street Mill Valley CA 90952 Robert Smith 8 Oak Avenue Mill Valley PA 95819 Hurry, my lawn is going wild! Lawnmower 148.95 1 Confirm this is electric Baby Monitor 39.98 1 1999-05-21 GrassSeed 50 100 For Shade 当客户有数据请求的时候,DMS就会调用它内部适当的组件去访问此xml文档,生成一个数据图如下:之后就可以对这个数据图进行操作了。同时操作过程中所作的更改会相应保存到ChangeSummary,当然也可以选择把ChangeSummary关闭,就只对数据对象进行操作,而不对其更改进行记录。DataObject po = XMLHelper.INSTANCE.load(ClassLoader.getSystemResourceAsStream(SdoSampleConstants.COMPANY_DATAOBJECT_XML在SdoSampleconstants里面定义全局变量,COMPANY_DATAOBJECT_XML就是其中定义的一个变量,代表了一个文件名).getRootObject(); /创建此图的根对象,也就是purchaseOrder对象。SDO的API提供了其他方法访问数据源,可以通过文件名,文件路径等。根据数据源创建数据对象后就可以对数据对象进行更改了。如果该对象的某个属性是另外一种类型的数据对象,也可以用上述类似的办法再创建对应的数据对象。List shipToList=po.getList(“shipTo”); /通过根对象获得它的某一个属性对象列表(这里我们是通过属性名“shipTo”来得到的)也就是说我们得到根对象之后,就相当于得到了一个指向这棵树的指针,进而访问根对象的属性,如果根对象的属性仍然是其它类型的对象,我们就可以通过上述办法得到属性对象的列表,依次类推

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论