Service Data Object(SDO)是Service Oriented Architecture(SOA)体系中的基本技术之一。近来,BEA,IBM,ORACLE,SAP,IONA,SIEBEL和Sybase都发布了他们支持SOA使能规范的框架,就是常说的Service Component Architecture(SCA)。SDO在这些框架中提供了最基本的数据表示功能。
目前,大多电信,企业应用都采用了关系数据库作为数据存储介质。在传统的开发过程中,开发者通常要了解一些关系数据库的基本知识,比如SQL语法,存储过程等。SDO的出现,极大的改善了这一状况。精通数据库的项目成员可以专注于数据库部分,业务开发者可以专注于开发业务逻辑,他们只用了解SDO的一些接口即可,他们不用关心后端的存储源到底是什么。
SDO给我们带来了以下的好处:
1. 它以无连接的方式表示数据库的一个view,这样可以降低应用对数据库的访问频率,降低server负载。
2. 它能够自动跟踪所有对数据图的更改。
3. 相对关系数据库的数据存储模型,SDO的树状数据模型更符合客观世界,降低了数据冗余。
4. SDO能够很容易的序列化为XML格式数据。
5. SDO能够屏蔽后端的数据源,业务开发者不用关注后端数据源具体是什么。(有可能但不限于是XML,DB,其它组件,EJB等)
其中上面的第4个特性为我们带来了巨大的好处,这使SDO能够成为各个组件之间的通信桥梁,从而使SDO成为SOA体系中不可或缺的一部分。
不过当前的SDO(2.0)规范只定义了数据模型层,对DAS层没有规范出来,SDO3.0规范会加入对DAS的定义。期待ing。