基于WEB服务的异构数据库集成中间件

豆豆网   技术应用频道   2007年06月26日  【字号: 收藏本文

内容摘要:WEB服务(WEB SERVICE)是由W3C(WORLD WIDE WEB CONSORTIUM)组织发起和定义的,目前比较流行的定义为:WEB服务是一个可以用URI来标志的软件系统,它采用XML格式的信息来定义和描述对外的公共接口和绑定。WEB服务可被其它软件系统发现,并通过使用基于XML的消息借助IntelNet协议,依照WEB服务中定义描述的方式实现交互。

  1> 独立查询分裂:以所需连接中间件为单位,将查询分解为一组子查询,每一组子查询都对应一个单独的数据源。

  2> 依照相关性进行多库查询分裂:两个中间件数据需要进行匹配的查询首先分解为对其中单一中间件的独立子查询,取出该独立子查询的结果数据生成匹配另一个中间件数据的子查询,从而实现两个中间件所连接数据需要匹配的查询操作。

  分解实例:

  DEFINE[server1.db1.table1=a][server2.db2.table2=b][server3.db3.table3=c]
  SELECT[a.*][b.*]
  FROM[a][b]
  WHERE[a.begintime>'2004-9-8'][a.id>c.id][a.id=b.id]ADDITION[a.di=DISTINCT]

  依据分解原则分解过程如下:

  1>分解出独立子查询,并记为新的查询单元变量

  DEFINE[SELECT[a.*]FROM[a]WHERE[a.begintime>'2004-9-8']
  ADDITION[a.di=DISTINCT]=d]

  2>在独立子查询的基础上进行多库查询分裂,每次查询记为新的查询单元变量

  DEFINE[SELECT[d.*]FROM[d]WHERE[d.id>c.id]=e]
  DEFINE[SELECT[e.*][b.*]FROM[e][b]WHERE[e.id=b.id]=f]

  查询结束,f记录查询结果。

  3.2应用描述

  国内各航空公司都研发自身的航空信息系统,利用基于WEB服务的异构数据库集成中间件综合各大航空公司的数据信息为用户提供查询服务。描述如下:

  1>首航,东航,南航,川航分别安装集成中间件,进行本地配置,分别连接到自身的航空信息数据库,同时配置和其它集成中间件的连接,从而构成一个航空信息共享网络。

  2>客户透过其中任意一个中间件提供的WEB服务接口,提交查询,查询经过分解,路由到网络上的其它中间件,执行,最终返回结果给客户端。

  查询实例:用户查询2004-9-7从四川和海南发往北京的航班,且到达时间从四川出发的航班比从海南出发的航班早

  约定用户提交的查询如下:

  Define[server1.db1.info=a][server2.db2.infomation=b]
  Select[a.*][b.*]from[a][b]
  Where[a.destination=北京]And[a.begintime=2004-9-7]
  And[b.destination=北京]And[b.begintime=2004-9-7]
  And[a.endtime

  说明:server1.db1.info=a 川航中间件所连接的数据

  server2.db2.infomation=b南航中间件所连接的数据

  该查询被分解为

  1>Define[Selecta.*from[server1.db1.info=a]
  Where[a.destination=北京]And[a.begintime=2004-9-7]
  =c]

  2>Define[Selectb.*from[server2.db2.info=b]
  Where[b.destination=北京]And[b.begintime=2004-9-7]
  =d]

  3> 取1中的数据和2中的数据进行匹配子查询

  Select[c.*][d.*]from[c][d]where[c.endtime

  由中间件构成了数据共享网络具有极高的灵活性,其它航空公司只需安装集成中间件,配置和共享网络的连接就可以很方便的扩充数据共享网络。

  4 结束语

  数据的集成对于实现EAI,进行企业内部整合具有极其重要的意义,本文提出了一种基于WEB服务的异构数据库集成中间件解决方案。该中间件解决方案具有一定的可行性,和实用性,能够胜任异构数据库的集成工作。

责编:豆豆技术应用

正在加载评论...