Web+Services技术在异构系统集成中的应用研究.pdf
《Web+Services技术在异构系统集成中的应用研究.pdf》由会员分享,可在线阅读,更多相关《Web+Services技术在异构系统集成中的应用研究.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、文章编号:!#$%!(&)!#$(#)*+,*-./0*1 技术在异构系统集成中的应用研究任2 捷,吴明晖,应2 晶(浙江大学 计算机科学与技术学院,浙江 杭州 3!&4)(5/06-78!93:0;?;),A;BC中图分类号:D?3!:(&2 2 文献标识码:!#$%&()*+,-./-&0&1)2!)34-.)5 6).(0&,&7%-0()8)3&7)0)!%5)9:0)73/-&0EFG H/*I)B J/KLMNO/I PCGQ H/KL!#$%&%#()*+%,-./%0.%1 23%4/50&60/7%,8/+91:50&;3#*23%4/50&3!&41 3/05*253
2、/.;DN/1 RSR*-SKSTUV*1 WN*0NSTT*KL*;X WN*W-S5/W/;KST/55T*YS-*/K WN*Z*W*-;L*K*;O1,U1W*CKW*L-SW/;K Z,CX/*T5I SK5/KW-;5O0*1 WN*YN;T*)*+,*-./0*1 S-0N/W*0WO-*SK5/W1 S5.SKWSL*1:CW 5/10O11*1 WN*X*S1/+/T/WU;X SRRTU/KL)*+,*-./0*1 W*0NK;T;LU/K WN*Z*W*-;L*K*;O1,U1W*CKW*L-SW/;K X/*T5+U O1/KL S 1R*0/X/0 SRRT/0SW/
3、;K 0S1*SK5 L/.*1 SK*SRT*1;TOW/;K:)%=&3$5;N*W*-;L*K*;O1 1U1W*?),A BC!2 引言基于)*+的 _&_ 电子商务正在世界范围内蓬勃发展,不断增长的客户和商业伙伴对实时信息的期望持续增加,为了满足这种期望的需要,企业被迫连接他们的那些异构的系统来增加产出、提高效率以及最终使顾客满意。为使一个组织内部 CD 系统互相通信,导致了企业应用集成(FC)的发展。中间件技术主要是为了解决应用系统集成的问题,特别是FC。当前一些主要的 FC 解决方案包括=Ja=E_aHS.S EJCa FH_ 等。传统的中间件技术如=E_,FH_ 等在技术上已经
4、非常成熟,在一些领域内,如金融系统、电信系统等取得了广泛的应用,也取得了突出的成绩,但也存在着以下几方面的问题:(!)对系统同构性的要求=J 技术的部署主要依赖于微软平台,而=E_ 技术虽然由对象管理组织(=JQ)提出用于解决异构系统的集成问题,但是客观的说,不同的系统也是要求部署同一=E_厂商的=E_(对象请求代理)产品。(&)防火墙的问题现在的应用系统出于安全性考虑,都在系统外面部署了防火墙,一般只开放%端口,允许 ZDD?包通过,传统的组件模型虽然采用种种技术解决防火墙问题,但是都显得过于复杂。(3)不同的组件模型之间的互操作问题每一个组件模型都希望全世界都使用这种组件模型,并不注重和其
5、它组件模型之间的沟通和集成的因素。但这在CKW*-K*Wa CKW-SK*W 时代中是不切实际的,因为企业无法控制其它系统使用什么组件模型。更何况即使是采用相同的组件模型,也会因为由不同的软件厂商实现而无法沟通,或是因为使用的组件模型的版本不同而导致沟通困难。这就是所谓的互操作问题。)*+,*-./0*1(又称为)*+服务)的提出解决了传统中间件技术的上述问题,它使得原先处于不同平台,使用不同对象技术的=E_、=J、FH_ 构架都能够去除平台和实现的差异,统一在一个技术层面之上,这个技术层面就是)*+服务技术层。应用)*+服务技术,使得计算机系统之间能够真正摒除平台差异和实现差异,依靠预先达成
6、一致的)*+服务规2 2 收稿日期:&3#4#!2 2 作者简介:任捷(!$4$#),男,浙江杭州人,硕士研究生,主要研究方向:软件体系结构、)*+,*-./0*1、H&FF 技术;2 吴明晖(!$49#),男,江西南昌人,讲师,硕士研究生,主要研究方向:软件工程;2 应晶(!$4!#),男,浙江龙游人,教授、博士生导师,主要研究方向:软件工程方法、软件体系结构、软件过程管理:bc 2?S-6 H,I N*K JI PO?,:K*XX*0W/.*NS1N+S1*5 STL;-/WN X;-c:?-;0*5/KL1;X WN*J,CQJ=;KX*-M*K0*;K JSKSL*I=K*XX/0/*
7、KW STL;-/WN X;-c:?-;0*5/KL1;X WN*&!1WdA_;KX*-*K0*b c:!$(:b9c 2,S-SYSL/,I DN;L-SYST E:CKW*L-SW/KL/K/KL Y/WN-*TSW/;KST5SWS+S1*1U1W*1e STW*-KSW/.*1 SK5/c:?-;0*5/KL1;XWN*J,CQJ=;KX*-*K0*;K JSKSL*I!$%:第&卷第!期&年!月2计算机应用;RRT/0SW/;K12d;T:&I G;:!HSK:I&范,完成无缝的系统对话。随着!#服务技术的广泛应用,各个技术提供商将得以专注于自身技术的发展,而将原先花费相当大精力的
8、与其它技术供应商的互操作技术全盘转移给!#服务技术,这将为各个技术提供商节省相当大的研发成本,同时这也意味着计算机软件厂商的部门机构的重新调整。$%!#&()*+技术的体系结构$,-%!#&()*+互操作协议栈!#&()*+是一个全新的技术架构,在这个技术架构中,为了支持技术架构的各种特性,各种技术规范被不断地开发出 来。整 个!#&()*+的 技 术 系 列 被 称 为 是!#&()*+./*0,就像一个堆栈那样,按照图-的方式共存协作。图-%!#&()*+互操作协议栈图 1%数字化校园系统体系结构图%图-给出了!#&()*+./*0 的图示。其中,底部的是先前已经定义好的并且广泛使用的传输
9、层和网络层的标准:23、4553、&653 等。而中间部分是目前开发的!#服务的相关标准协议,包括服务调用协议&783、服务 描 述 协 议!&9:和 服 务 发 现 协 议;992、!&*.)?=,以及服务工作流描述语言!&:、!#服务的安全协议以及路由协议等,最上端的一些协议刚刚开发出来,还有待完善。右边部分是各个协议层的公用机制,这些机制一般由外部的正交机制来完成。图-中的协议栈显得异常复杂,实际上,图中带下划线的字体才是处于基础核心地位的技术规范。简单对象访问协议(&)AB 7#C*.8*+3?.?*?B,&783)为在一个松散的、分布的环境中使用 D6:对等地交换结构化的和类型化的信
10、息提供了一个简单且轻量级的机制。它实际上规范了!#服务的调用机制。!#服务描述语言(!#&()*+9+*).)?=:/=EF/E,!&9:)是一种基于 29:技术的服务描述语言。!&9:定义了一套基于 D6:的 语法,将!#服务描述为能够进行消息交换的服务访问点的集合。!&9:服务定义为分布式系统提供了可机器识别的&9G 文档,并且可用于描述自动执行应用程序通信中所涉及的细节。统一描述、发现和集成(;=)(+/B 9+*).)?=,9)+*?(H/=I 2=.E/.)?=,;992)规范则是定义了!#服务的发布与发现的方法。这些规范的技术细节不是本文的讨论重点,详细内容请见参考文献-JK。$,
11、$%!#&()*+体系结构图图$%!#&()*+体系结构图!#服务体系结构基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互。交互涉及发布、查找和绑定操作。在典型情况下,服务提供者托管可通过网络访问的软件模块(!#服务的一个实现)。服务提供者定义!#服务的服务描述并把它发布到服务请求者或服务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用!#服务实现或同它交互。图$表示了这些操作、提供这些操作的组件及它们之间的交互。1%应用实例1,-%数字化校园建设的需求数字化校园是运用计算机、网络、通信等先进的信息化手段和工具,将学校
12、的教学、科研、管理和服务等有关信息资源进行全面的数字化整合。现阶段校园网应用最大的问题是以应用为中心,完成特定功能的子系统都是封闭的,扩展性和交互性比较差。各个系统相互独立,形成了一个个的信息孤岛。图 1 显示了浙江林学院数字化校园集成系统的体系结构框图,从图中可以看到,最上层是校园网中现存的各个子系统,它们完全可能部署于不同的平台之上,利用了不同的数据库系统进行数据存储,采用不同的开发技术进行系统的开发,这些异构性造成了各个系统之间的通信和数据交换、共享困难,数据冗余度大,并且登录各个子系统都需要独立的帐号管理模块,同一用户在不同的系统中可能有不同的帐号,造成管理上的混乱。数字化校园网络系统
13、改造的总体要求包括以下几方面的内容:LM%计算机应用$NNK 年(!)统一的数据平台,解决各个子系统中数据的异构问题,实现子系统之间的数据共享。()具有统一的认证系统,所有的用户登录与检测身份工作在一个子系统模块中完成。(#)保持数据的一致性与完整性,当某个子系统的用户信息更改或删除时,在用到相同数据的其它子系统也要进行相关的更新。#$%数字化校园改造的技术方案#$!%传统技术的运用对于后两点要求,只要采用传统的技术就能够满足要求。具体地说:为实现统一认证功能,只要建立一个中央认证系统,维护一个在校园网中通用的统一客户信息数据库,采用&(三层结构的方式实现所有校网用户一次登录就可以访问所有校网
14、子系统的要求。为保持数据的一致性和完整性,应考虑利用消息订阅)发布模型,某个子系统中的数据发生了改变(修改或删除),它即以消息的形式将这种改变发布到中介系统(消息交换中心),而所有可能用到相同数据的其它子系统,只要事先订阅了响应要求,消息交换中心就会通知它们进行相应的数据更新工作。*+平台下的*,-,消息传递服务(*.()机制很好的实现了消息的订阅)发布模型,而/&.的.0(12314 系列产品是市场占有率最大的消息中间件产品,采用这些技术实现的消息交换中心很好的满足了数据一致性和完整性的要求。#$%516(12-3714 技术的运用对于上面提到的第一点要求,就有必要采用 516(12-371
15、4技术了。正如前文所介绍的那样,516(12-3714 的提出就是为了解决异构系统的集成问题,所有上面所提到的一些异构性可以通过 516(12-371 技术进行整合,对服务进行定义,从而隐藏旧应用接口的一些复杂性,异构系统之间的交互(如数据交换、数据挖掘等)难题可以得到很好的解决。一旦对旧应用做了技术上的改造,业务流程的自动化程度就可能变得更高,也更少需要人工干预。首先,校园网中现存的各个子系统应该被看作 516 服务体系结构中的服务提供者的角色,但是由于异构性的存在,所以需要由一层中间件将原有系统的功能接口转化为统一的服务接口,这个工作实际可以看作是对旧系统接口的改造和更高层次抽象,5(89
16、 技术在这里得到了很好的应用,所有的接口信息都以 5(89 文档的统一形式展现给下层的系统模块。对于最终的用户来说,需求是多样化的,很多情况下,需要结合多个子系统中的数据做一些数据分析或数据挖掘的工作。例如,但校方发现学生的成绩下降时,希望了解学生成绩下降是否跟学生在:;8 系统花费了过多的时间有关;能否建立一个受国家资助大学生的消费模型以调整助学策略;可否通过学生的阅读记录和成绩分析图书馆对学生学业的帮助程度。这些高级的需求是不能由一个简单的独立系统得出结论的,需要利用多个系统的数据进行数据挖掘。中间服务层实际上就是这样的一个个分析系统,对于用户来说,它们相当于更高抽象层次的服务,可以进行可
17、视化的操作;而在整个系统结构中,它们应该被看作是 516 服务体系结构中的服务请求者的角色,正是它们对于上层子系统提供的服务发出了调用请求。由于上层子系统各自的功能服务已经由 5(89 进行了统一的抽象描述,以统一的接口形式暴露给下层,所以对于中间服务层模块来说,只要把对各个子系统的服务调用请求按照(;88/技术。上层的服务提供者通过 88/的服务发布 88/数据模型的形式储存起来;下层的服务请求者则通过 88/的查询=/对服务注册中心的信息进行检索,找到需要的内容,获得服务的5(89 描述信息,形成服务调用。#$#%516 服务开发过程示例以一个简单实例,描述上面提到的 516 服务的实现过
18、程。在校园网的旧系统中,学籍系统提供查询学生个人信息的 功 能 接 口 方 法,方 法 名 为 0?12(A?B1CA,该 方 法 在(A?B1CA/CDE.,C,F12 类中实现。(A?B1CA/CDE.,C,F12 类管理学生注册信息,实现增加,删除,修改,查询等方法,下面的代码片断显示了其纲要结构:G?6H37 IH,44(A?B1CA/CDE.,C,F12JG?6H37(A?B1CA/CDE 0?12(A?B1CAK 3CA 3BL JMNMMN其中,(A?B1CA/CDE 为一个维护待查询学生信息的类:G?6H37 7H,44(A?B1CA/CDE 3OGH1O1CA4 P,-,$3
19、E$(123,H3Q,6H1JG23-,A1(A23CF(A?B1CA/B R SST)学生学号G23-,A1(A23CF(A?B1CAU,O1 R SST)学生姓名G23-,A1(A23CF(A?B1CA81G,2AO1CA R SST)学生所在系MN这里选择/&.的 516(GV121(A?B3E GGH37,A3EC 81-1HEG12(5(8)W$X 作为开发 516 服务的工具。5(8 是一个面向*+应用程序开发人员的集成开发环境。它为建立完整的516 应用程序所涉及的所有元素提供了创建、测试和管理所需的全部工具。可以利用 5(8 的智能向导来帮助生成 516 服务。按图形 界 面
20、提 示 操 作,选 择 将(A?B1CA/CDE.,C,F12 类 中 的0?12(A?B1CA 方法发布为 516 服务,限于篇幅,具体过程图示从略。最 终 产 生 的 5(89 文 件 包 括:5(89 服 务 文 档(A?B1CA/CDE.,C,F12(12-371$Y4BH;5(89绑 定 文 档(A?B1CA/CDE.,C,F12&3CB3CF$Y4BH;5(89*,-,绑 定 文 档(A?B1CA/CDE.,C,F12*,-,$Y4BH;和5(89接 口 文 档(A?B1CA/CDE.,C,F12$Y4BH。(A?B1CA/CDE.,C,F12(12-371$Y4BH 包含服务接口
21、,其它则包含服务实现。服务接口描述抽象类型接口及其协议绑定,而服务实现描述服务访问(位置)信息。服务接口定义(A?B1CA/CDE.,C,F12(12-371$Y4BH 文件包括了一些定义 516 服务的信息,比如说 516 服务的名字,516Z第!期任捷等:516(12-3714 技术在异构系统集成中的应用研究%服务的端口绑定等。最重要的元素是!#$:#%&!元素,它定义了用来进行()服务调用的*+,。*+,是一个!&-./,名为+01&2/&,是()服务运行时的一部分,也就是说将通过 3450&$6&2/&这个!&-./来访问()服务。而$&/)78%789 则描述了在哪可以找到如何访问服
22、务的详细信息。()服务的服务实现定义了用于()服务的请求和响应的数据结构、作为()接口提供的方法以及 3450 属性(如 编 码 样 式)。在 此 例 中,接 口 的 名 字 为3/2%8/:8;#8#9&,它 有 一 个 名 为 3/2%8/:8;$,这个端口关联了一个名为?2&3/2%8/的操作。3/2%8/:8;A!%文件中包含了在()服务中从 B#-#到 C,的映射信息,在例子中,名为 3/2%8/:8;的 B#-#类将被映射为一个完整的 C,文档,C,中的每一个元素都对应于类中一个简单的 B#-#类型。这些信息将在 0&%26/:8;#8#9&D!%.文件中定义消息类型和格式时被用到
23、。这里只列出3/2%8/:8;#8#9&D!%.的重要内容:E%;787/78!8#F G H3/2%8/:8;3/2%8/+L2!/H JE$#&/8#F G H7%H/$G HA!%M 78/HK JE K F!#9 JE F!#9 8#F G H?2&3/2%8/+!$8!H JE$#&/8#F G H&!2./H/$G HA!%NM 3/2%8/:8;HK JE K F!#9 JE$&/=$8#F G H3/2%8/:8;3/2%8/H$#F/&4&%&G H7%H JE 78$2/F!#9 G H/8!M?2&3/2%8/+L2!/H 8#F G H?2&3/2%8/+L2!/H
24、K JE 2/$2/F!#9 G H/8!M?2&3/2%8/+!$8!H 8#FG H?2&3/2%8/+!$8!HK JE K$/78 JE K$&/=$JE K%;787/78!J学生信息管理这个()服务生成后,需要将它发布到注册中心,这里选择发布到私有的注册中心,主要原因在于,校园网内部系统是有限的,公共中心覆盖整个互联网范围的服务注册信息对于校园网应用而言,不仅没有必要,而且会带来查询时的速度降低;更重要的是信任问题,私有中心允许我们创建自己学校内部的服务注册中心,作为存储所有被认可的()服务的地方,这样不希望被外界查询和访问的()服务就得到了有效的保护。现在已经有很多的私有中心
25、产品可供下载使用,比如私有的:O 4)S6/)。通过使用(35P 中的()服务客户端向导,可以为学生信息管理这个()服务生成一个 B#-#代理,它使我们可以通过简单的 B#-#调用来访问()服务。如果需要根据(3P,文档动态生成相关的服务调用则可以考虑使用其它一些提供编程 50:的工具软件,如:O 的()3&-76=.T7/中的 D!%.US#-#等。至此已完成整个()服务的开发周期。首先作为实现者,以()服务的形式公布了一个业务功能,包括开发、打包、部署、在*PP:注册中心上发布等。然后作为()服务的消费者,在*PP:注册中心中找到服务,生成基于(3P,文件的代理,运行使用这个()服务的简单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web Services 技术 系统集成 中的 应用 研究
限制150内