SOA的数据整合如何实现
2008-10-16 15:06
447 查看
利用SOA进行整合最先要做的工作,就是利用SSO或者单点登陆来实现统一登陆。
比特网(ChinaByte )01月07日专栏 (邹震)做为面向服务的架构,SOA最大的价值就在于整合多个系统,而整合的本质就在于对系统所涉及的数据进行整合。这必然要涉及到对数据库的整合,如果数据库之间得不到整合,后果是不堪想象的。
举例来说,如果一名新人要加入某一企业工作,这名新人在入职的过程中会涉及OA、人力资源系统、财务系统等信息管理系统。如果这些系统经过了SOA的整合以后,这名新人只需获得系统自动生成的一个ID号,其入职过程就可以在这些系统内自动完成。
而在当前企业实际应用的系统中,每套系统可能都采用了自己的组织架构和权限控制。在这个过程中,利用SOA进行整合最先要做的工作,就是利用SSO或者单点登陆来实现统一登陆。否则,因为权限问题,各系统之间的的数据不能交换,互通互联的实现无异于痴人说梦。
然而,在利用SOA进行整合时,却又可能遇到新的问题,这就是当一个系统进行SOA整合之后,利用员工ID号虽能在这一系统内实现所有功能,但却可能给别的系统带来各种各样的麻烦。在其它系统所采用的数据库中,采用SQL语言查询,拿员工ID号做为唯一的关键词,就可以查询出与员工ID号相关的信息。但当采用SOA对其它系统进行整合以后,其它系统所采用的关键词可能并不是员工ID号,这样每一行数据都需要访问流程管理程序,对应员工ID号重新查询出系统所需的关键词,再利用新关键词工作。这样,如果企业的各个系统之间的数据库是处于相对独立状态的,SOA以互通互联为目的的整合,其实施效果就要大打折扣了。
正是因为这个原因,传统数据库成了SOA实施的一大障碍。在这种情交下,新出现的XML型数据库,却可能解决这个问题,帮助实现SOA数据整合。
XML的全称是Extensible Markup Language,翻译过来的意思就是可扩展置标语言。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据占用的空间要多不少,但XML极其简单易于掌握和使用。
与Access、Oracle和SQL Server等数据库不同,XML数据库提供了更强有力的数据存储和分析能力。这源于XML语言的简单,XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。虽然不同的应用软件也支持其它的数据交换格式,但不久之后它们都将支持XML,这就意味着程序可以更容易地与Windows、Mac OS、 Linux以及其他平台所产生的信息结合,然后可以很容易地将XML数据加载到程序中并分析它们,并以XML格式输出结果。
好在XML型数据库已变得非常普遍,微软、IBM、Oracle这数据库三巨头的最新产品都已开始支持XML。IBM公司公司在它的DB2 9版本中,直接把对XML的支持作为其新产品的最大卖点,号称是业内第一个同时支持关系型数据和XML数据的混合数据库。利用DB2 9,用户无需重新定义XML数据的格式,或将其置于数据库大型对象的前提下,就可以无缝管理普通关系数据和纯XML数据。除了IBM,Oracle和微软也同时宣传了它们的产品也可以实现高性能XML存储与查询,使现有应用更好地与XML共存。
值得一提的是,在SOA领域处于强势地位的BEA公司也看到了这一点。为了弥补传统数据库对SOA的束服,BEA公司收购了元数据库市场的领导厂商Flashline公司。BEA宣称Flashline的元数据库将成为BEA AquaLogic产品线的重要组成部分,使其能够利用通用元数据库来跟踪、支配和管理流动资产,从而能够在多个项目中共享这些资产,并评估所获得的商业价值。由此可见,Flashline的元数据库已成为BEA提供更加统一的SOA环境这一战略愿景的重要组成部分。
对于传统关系型数据与层次型数据的混合应用已经成为了新一代数据库产品所不可或缺的特点,这已使得支持XML成为数据库的一大发展趋势。从另一个角度看,SOA也已不是做为一项独立的技术而存在。由于SOA整合的需求,未来数据库产品的发展方向会发生根本性的改变。由此我们不难想见,SOA真正改变的,将不仅是企业信息系统的应用现状,整个IT业界的面貌将会随之发生改变。
(作者系比特网特约专栏作家,本文谢绝转载。本文仅代表作者个人观点,不代表比特网观点)
比特网(ChinaByte )01月07日专栏 (邹震)做为面向服务的架构,SOA最大的价值就在于整合多个系统,而整合的本质就在于对系统所涉及的数据进行整合。这必然要涉及到对数据库的整合,如果数据库之间得不到整合,后果是不堪想象的。
举例来说,如果一名新人要加入某一企业工作,这名新人在入职的过程中会涉及OA、人力资源系统、财务系统等信息管理系统。如果这些系统经过了SOA的整合以后,这名新人只需获得系统自动生成的一个ID号,其入职过程就可以在这些系统内自动完成。
而在当前企业实际应用的系统中,每套系统可能都采用了自己的组织架构和权限控制。在这个过程中,利用SOA进行整合最先要做的工作,就是利用SSO或者单点登陆来实现统一登陆。否则,因为权限问题,各系统之间的的数据不能交换,互通互联的实现无异于痴人说梦。
然而,在利用SOA进行整合时,却又可能遇到新的问题,这就是当一个系统进行SOA整合之后,利用员工ID号虽能在这一系统内实现所有功能,但却可能给别的系统带来各种各样的麻烦。在其它系统所采用的数据库中,采用SQL语言查询,拿员工ID号做为唯一的关键词,就可以查询出与员工ID号相关的信息。但当采用SOA对其它系统进行整合以后,其它系统所采用的关键词可能并不是员工ID号,这样每一行数据都需要访问流程管理程序,对应员工ID号重新查询出系统所需的关键词,再利用新关键词工作。这样,如果企业的各个系统之间的数据库是处于相对独立状态的,SOA以互通互联为目的的整合,其实施效果就要大打折扣了。
正是因为这个原因,传统数据库成了SOA实施的一大障碍。在这种情交下,新出现的XML型数据库,却可能解决这个问题,帮助实现SOA数据整合。
XML的全称是Extensible Markup Language,翻译过来的意思就是可扩展置标语言。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据占用的空间要多不少,但XML极其简单易于掌握和使用。
与Access、Oracle和SQL Server等数据库不同,XML数据库提供了更强有力的数据存储和分析能力。这源于XML语言的简单,XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。虽然不同的应用软件也支持其它的数据交换格式,但不久之后它们都将支持XML,这就意味着程序可以更容易地与Windows、Mac OS、 Linux以及其他平台所产生的信息结合,然后可以很容易地将XML数据加载到程序中并分析它们,并以XML格式输出结果。
好在XML型数据库已变得非常普遍,微软、IBM、Oracle这数据库三巨头的最新产品都已开始支持XML。IBM公司公司在它的DB2 9版本中,直接把对XML的支持作为其新产品的最大卖点,号称是业内第一个同时支持关系型数据和XML数据的混合数据库。利用DB2 9,用户无需重新定义XML数据的格式,或将其置于数据库大型对象的前提下,就可以无缝管理普通关系数据和纯XML数据。除了IBM,Oracle和微软也同时宣传了它们的产品也可以实现高性能XML存储与查询,使现有应用更好地与XML共存。
值得一提的是,在SOA领域处于强势地位的BEA公司也看到了这一点。为了弥补传统数据库对SOA的束服,BEA公司收购了元数据库市场的领导厂商Flashline公司。BEA宣称Flashline的元数据库将成为BEA AquaLogic产品线的重要组成部分,使其能够利用通用元数据库来跟踪、支配和管理流动资产,从而能够在多个项目中共享这些资产,并评估所获得的商业价值。由此可见,Flashline的元数据库已成为BEA提供更加统一的SOA环境这一战略愿景的重要组成部分。
对于传统关系型数据与层次型数据的混合应用已经成为了新一代数据库产品所不可或缺的特点,这已使得支持XML成为数据库的一大发展趋势。从另一个角度看,SOA也已不是做为一项独立的技术而存在。由于SOA整合的需求,未来数据库产品的发展方向会发生根本性的改变。由此我们不难想见,SOA真正改变的,将不仅是企业信息系统的应用现状,整个IT业界的面貌将会随之发生改变。
(作者系比特网特约专栏作家,本文谢绝转载。本文仅代表作者个人观点,不代表比特网观点)
相关文章推荐
- 关于如何实现在整合struts2和hibernate4框架下对many-to-one级联数据的存储
- 关于如何实现在整合struts2和hibernate4框架下实现many-to-one级联数据表在JSP页面中的输出
- SOA 探索之 :数据服务层如何加速 SOA 实现
- pl/sql中如何实现对数据的快速增删改
- 利用Python如何实现数据驱动的接口自动化测试
- Android中如何使用HttpURLConnection实现GET POST JSON数据与下载图片
- 金蝶EAS BOS如何实现特殊数据授权
- 利用Spinner实现数据列表的整合,并且在单击数据组时实现监听
- NUI的DataGrid中想进行列的数据统计该如何实现?
- java编程如何实现多条2017-01-16 22:28:11.0这样的时间数据,转换成Date类型Mon Jan 16 22:28:11 CST 2017这样的时间数据
- 如何实现大文件数据上传
- scanf,fgets,gets的用法及注意事项!如何才能实现带空格的输入数据
- 使用bmob后端云中listview如何实现数据显示在第一个item
- 如何使用VBA实现将多个Excel文件中的数据复制到某个Excel文件中
- 经验分享 | 数据不是天注定!如何给数据改命实现全局顺滑优化?
- 企业如何实现对大数据的处理与分析?
- 【SqlServer】如何实现用一个表中的数据修改另一个表中的数据?
- C# winform datagridview中如何实现鼠标右键点击一行数据出现一个带有删除的菜单,并能执行删除操作?
- 多个session共享数据如何实现 - PHP进阶
- [转]如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据