如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
(一)SDO概述Sdo是用统一的标准和规范访问异构数据源,目的在于简化访问不同数据源的复杂性,使程序员能够更加专注于业务逻辑,而不是底层的技术。SDO可以访问的数据源不仅仅是数据库,还包括JDO,XML文件,EJBEntities等。(二)SDO与其他技术的比较在SDO之外已经有很多成熟的技术实现数据访问,但是他们都是有针对性地,或者针对特定类型的数据源,或者针对特定的平台。SDO则不同,它提供了对不同类型数据的统一访问。(三)SDO组件数据对象(DataObject)、数据图(DataGraph)、DMS(Data中介服务)。1、数据对象就是结构化了的数据,举例来说:<company:companyname="ACME"employeeOfTheMonth="E0002"><departmentsname="AdvancedTechnologies"location="NY"number="123"><employeesname="JohnJones"SN="E0001"/><employeesname="MarySmith"SN="E0002"manager="true"/><employeesname="JaneDoe"SN="E0003"/></departments></company:company>看上面一段文档,company可以看作一个对象,department可以看作一个对象,employeess也可以看作一个对象。department作为了company的一个属性,同时department又有自己的属性:employees。2、数据图提供了数据对象树的容器。就是一组数据对象的集合,不过这些数据对象是被序列化后的,有一定的顺序和联系。同时数据图还维护了一个叫做更改摘要的东西,这正是SDO优点的一个体现。更改摘要记录了所有本数据图中对象的更改记录,这样,当保存数据时只需要将有更改的部分保存即可,大大提高了程序执行的效率。3、DMS(DataMediertorService)数据中介服务严格来讲DMS不属于SDO的组件,不过SDO在访问数据源的时候需要用到它。DMS直接与数据源打交道,读取数据源,并把读取来得数据生成数据图;也负责把数据图保存回数据源。作用类似于JDBC,但是决不仅仅是JDBC那么简单,它包括跟各种数据源打交道的组件,可以处理各种数据源,包括关系数据库、实体EJB组件、XML页面、Web服务、JavaConnectorArchitecture、JavaServerPages页面等。这是SDO较其他技术的又一个优势,可以把不同的数据源数据用统一的形式表示出来,对它们可以用统一的方法进行操作,而不必分别掌握各种数据源的操作方法,大大简化了程序员的工作。(四)SDO工作机制当在应用程序组件(比如服务调用期间的Web服务请求者和提供者)之间进行传输、组件到DMS的传输(或者保存到磁盘)的时候,数据图被序列化为XML。所以我们还以访问xml文档为例。接下来就把下面的XML文档当作我们的数据源,对它进行操作。<PO:purchaseOrderxmlns:PO="http://www.example.com/PO"orderDate="1999-10-20"><shipTocountry="US"><name>RobbieMinshall</name><street>123MapleStreet</street><city>MillValley</city><state>CA</state><zip>90952</zip></shipTo><billTocountry="US"><name>RobertSmith</name><street>8OakAvenue</street><city>MillValley</city><state>PA</state><zip>95819</zip></billTo&g