SOA之SDO

以前参加过一次技术活动,听讲演者提到过SDO的概念,当时感觉很神秘,后来找个相关的资料,还是一知半解。今年有一个项目需要用的普元的EOS6的平台进行开发。看其官方介绍,普元EOS6.0 平台号称是基于SOA的的实现,不免又提起了对SDO的兴趣,特地又找了下SDO的官方文章仔细看了下,当然对于程序员来说,最好的方式还是研究其代码了。找到sdo-api-v2.1.0的包,仔细查看下其中的几个对象,当然最主要的还是DataObject接口了。以下是其官方描述:

A data object is a representation of some structured data. It is the fundamental component in the SDO (Service Data Objects) package. Data objects support reflection, path-based accesss, convenience creation and deletion methods, and the ability to be part of a data graph.

 

Each data object holds its data as a series of Properties. Properties can be accessed by name, property index, or using the property meta object itself. A data object can also contain references to other data objects, through reference-type Properties.

 

A data object has a series of convenience accessors for its Properties. These methods either use a path (String), a property index, or the property's meta object itself, to identify the property.

 

其实具体看来也没有什么很复杂的东西,就是几个基本的javabean接口,定义了许多数据存储的方式。但是有一点同普通我们自己写的java类不一样,就是DataObject 可以透明的同xml直接进行转换,通过给定xml路径可以转换成对应的java对象,同时实现了DataObject接口的对象也可方便生成xml文件进行数据传输,还可方便的通过xpath的方式非常方便进行java对象的访问和调用。这一点还是很吸引人,对于不同系统之间传递数据非常方便,同时也有利于编程实现。通过SDO对象在系统的各个层面如:表示层、业务逻辑层和此类层之间的通信可以降低各层之间的耦合性及提升各层的开放性。

另外通过Property的方式SDO对象的内部各种属性,确实对于我们编程有很大的便利性,可以不知道SDO对象的内部细节,比如属性名、类型等信息,即可方便进行SDO对象的调用。

SDO标准紧密结合的则是DAS (Data Access Service),DAS实际上是操作SDO对象的一组操作标准, SDO 数据访问服务非常适合作为 SOA 服务公开。他们提供了一个标准,用于构建可以在 SOA 服务间共享的后端服务。

使用DAS的好处是可以对异构系统屏蔽自身的底层持久化细节,大家通过统一的标准存储SDO信息,实际上后台可以采用JDBC 访问的关系数据库、使用视图 Bean 访问的 LDAP 服务器或是具有 DAS 实现的其他后端系统。DAS 不仅使应用程序无需依赖于数据库或操作系统,而且还使应用程序独立于整个持久化技术。通过使用多个数据访问服务,应用程序可以支持这些中介的基础持久化机制,而不用更改业务逻辑或呈现逻辑。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值