利用SDO体系结构简化和统一数据.docx
《利用SDO体系结构简化和统一数据.docx》由会员分享,可在线阅读,更多相关《利用SDO体系结构简化和统一数据.docx(12页珍藏版)》请在三一办公上搜索。
1、利用SDO体系结构简化和统一数据简介:本文阐述了服务数据对象(SDO)体系结构的关键概念,以及它所提供的强大功能和灵活性。SDO体系结构在Java(TM) 2 Platform Enterprise Edition (J2EE)社区正获得越来越广泛的普及,它也用于构建面向服务的体系 结构(SOA)的环境。在IT解决方案日趋复杂和越来越多地采用分布式体系结 构的今天,它可以满足异构数据集成的需要。引言服务数据对象(SDO)通过 Java Specification Request (JSR) 235 得到了 Java社区的认可,它也是CommonJ的一部分,CommonJ是IBM和BEA共同 制
2、定的规范。如何访问不同数据源类型的数据在IT业界变得越来越重要,SDO 是一种应用程序编程接口(API),可以简化和统一对异构数据的访问。目前单一 数据类型的应用程序已经不再常见,信息通常都存储在不同类型的数据源中(比 如数据库、Web服务、轻量级目录访问协议(LDAP)、遗留应用程序等等)。这 种复杂性要求开发人员熟悉许多APK比如Java数据库连接(JDBC)、基于XML 的远程过程调用的JAVA API (JAX-RPC)、或者J2EE连接器体系结构(JCA)等 等)。SDO 简化和补充了 Java 2 Platform Enterprise Edition (J2EE)的开 发模式,提
3、供了一种独特的访问异构数据源的API,同时也可用于数据处理的其 他方面,本文将对此进行详细说明。SDO的目标SDO的目标有很多,从某种程度上讲SDO看起来好像是J2EE的一把多功能“瑞 士军刀”,因为它包含的特性可实现多种不同种类的功能,基本来讲,SDO及其 相关的技术设计有以下五大主要专题:简化数据访问:第一个目标是提供对多种企业信息系统(EIS)的统一的 数据访问,包括数据库、遗留应用程序(使用JCA)、XML或者是Web服 务数据源。通过使用SDO的一种独特而简单的模型,应用程序摆脱了使 用多种API和框架进行数据访问的复杂工作。数据提取:使用SDO后,数据的表示是独立于其数据源的,它采
4、用了一 种叫做Domain Store的J2EE模式,这种级别的数据提取有很多优点, 例如使数据操作变得更容易,实现了不同层之间的松耦合。数据操作:一旦检索到信息后,SDO会提供一种统一的编程语言进行数据 操作,简单的说,就是通过使用API及其接口,SDO客户机可以读取数 据和修改数据。SDO为此提供了连接和断开连接的两种模型,下文中将对 此做详尽的介绍。数据传输:SDO有一部分概念是关于传输对象(Transfer Object)和传 输对象组装程序(Transfer Object Assembler)模式的。数据封装到SDO 对象中后,它就可以在J2EE层间高效地传输。设计模式的采用:SDO
5、的一个关键目标是鼓励大家采用公用的J2EE模 式,这也是SDO体系结构以一些广为人知的模式为基础的原因,例如传 输对象(Transfer Object)、数据访问对象(Data Access Object)、传 输对象组装程序和Domain Store等。如果使用了 SDO,应用程序就可以 从这些经过了验证的设计策略中受益,从而可以推动分层技术和松耦合的 发展。图1显示了 SDO在一个J2EE分层体系结构中所处的位置:图1. J2EE分层体系结构中的SDOSDO体系结构:概览SDO体系结构提供了一组核心组件,这些组件可以由支持SDO的实现和框架进 行扩充。SDO规范定义了数据持有者(数据对象(
6、Data Object)和数据图(DataGraph),还引用了一种叫做数据中介服务(Data Mediator Service,DMS)的 组件。DMS负责访问数据源和处理数据图,如图2所示:图2. DMS的角色DataSaerce图3显示了 SDO体系结构和它的关键组件,如下所示:图3. SDO体系结构。DMSG DataGraph4- daraobjeczOut of 500specification数据对象数据对象是保存数据的组件,简单地说,它是由属性的键/值对组成的,每个值 都可以是原始的数据类型,或者是另一个数据对象。数据对象是可序列化的。设想一下您需要显示餐馆甜点的有关信息,其对
7、应的数据对象实例可以包含下列值:清单1.数据对象值示例 Description, Chocolate Cake对于熟悉JDBC概念和java.sql.ResultSet接口的读者来说,SDO的动态API 模式是很容易理解的。就像JDBC 一样,您可以通过名称或索引来访问它的属性 值。如果在程序运行之前,还无法获知准确的数据结构的话,使用动态API是特别 适合的。SDO API提供一些简单易用的方法来获取数据对象中的值:清单2.获取数据对象中的值/ returns the first element of the graphDataObject dessert = (DataObject) gr
8、aph.get(0);/ get the dessert name and its priceString dessertName = dessert.getString(Description);int dessertPrice = dessert.getInt(Price);如果在开发阶段数据结构就可以确定的话,SDO体系结构还提供了静态API功 能。例如,如果数据源是一个带有明确定义模式(xsd文件)的XML文件的话, 则SDO将支持Java代码生成和Java绑定。虽然这已经超出了 SDO规范的范 围,但是绑定技术可能会集成一些对SDO的支持,例如XML数据绑定的Java 体系结构(JA
9、XB)。数据对象图数据对象图是一个描述数据的分层结构,它包括一个数据对象树和另一个称作更 改摘要(Change Summary)的结构(请参阅图4)。更改摘要记录了数据图中所 有数据对象的历史更改信息。此外,由于数据图是由数据对象组成的,因此它是 可序列化的。图4.数据对象图Dale grapT兀数据 元数据是一个描述对象内容的元模型,它可以让数据图实例完成自省 (introspection)。如图5所示,每个对象都与一些基本的元数据信息相关联,对象以一个类型加 一个已排序的属性列表的形式表示。图5.对象元数据hG DataObgectQ Sequence+ dataobjer:0 Prope
10、rtyG Type+ property+ typeSDO体系结构还包括了一些规范中没有定义的附加组件。物理元数据前面一段描述了信息的逻辑元数据(例如当信息加载到SDO对象后的元数据), 而物理元数据(例如原始数据源格式的元数据)不在SDO规范讨论的范围内。 典型情况下,物理元数据并不会影响SDO客户机,但是它会影响到DMS,DMS是 负责访问数据源的组件。DMSDMS是一种组件,它负责提供某些方法来组装数据图,也负责将数据更改保存回 数据源。典型情况下,将会有多种不同的DMS类型,每种类型对应着一种特定 的数据源和技术(XML、JMS、JCA、JDBC等等)。DMS总是以同一种格式(数据 图)
11、返回信息,它隐藏了实际的数据存储信息,在SDO应用程序和EIS之间提 供了一层数据提取的功能。DMS不在SDO规范的范围内,但是它在实现中可能需要将多个数据源和数据类 型的数据集成在一起,这样,唯一的SDO数据图就会包含了异构数据源的信息。 请参见图6:图 6. DMS断开连接的数据体系结构SDO模型有一个有趣的特性,就是它允许使用断开连接的编程模型,事实上当 SDO客户机提出数据图请求并收到此数据图后,它就断开了和DMS的连接,这 样避免了 DMS对数据源的持续加锁,客户机就可以不受时间限制地处理数据对 象,对数据源的更改保存以一种乐观的并行方式进行。这种断开连接的模型特别 适合n层的以We
12、b为基础的体系结构,因为它考虑到了分层技术,同时也易于 使用,而且还可以进行高级并行访问。SDO的工作过程请求SDO图图7是一个简单请求的序列关系图。基本上,当一个SDO客户机需要检索数据 时,它使用DMS来请求数据图,DMS负责管理对数据源的访问,并根据接收到 的信息来创建一个图,通常这个图是一个分层的树结构,其中包含了几个数据对 象。此客户机使用断开连接的编程模型来处理数据图。如果数据被修改,而且客 户机希望能保存这些更改,它会将更改后的数据图发送给DMS,然后由DMS去 修改数据源。5D0 CfientSDO Client图7. SDO图dM5;DM5datsSourcetDataSou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 SDO 体系结构 简化 统一 数据

链接地址:https://www.31ppt.com/p-5044249.html