摘 要:随着企业规模的扩大和计算机技术的不断更新,如何有效地协调企业中基于不同系统平台、不同技术平台的系统工作是企业急需解决的问题。在阐述了传统系统集成局限性的基础上,分析了基于语义的web服务体系架构,构建了基于语义web服务的系统集成模型,简要地说明了语义匹配的原理。
关键词:web服务;系统集成;语义匹配
1 基于语义的web服务体系框架
1.1 传统soa的局限性
面向服务的体系架构(soa,service oriented architecture)包括服务提供者、服务请求者、服务注册中心三种角色和服务发布、服务发现和服务绑定三种操作以及wsdl、uddi、soap三个标准。
soa中uddi的服务发现机制存在着很大的缺陷:wsdl服务描述语言注重描述服务的技术和语法,不能存储web语义级别的信息,只能进行关键字匹配;服务提供者对其提供服务的描述和服务请求者对其需要服务的描述会因为两者对同一种服务的认识不同而出现语义异构,不利于实现服务匹配的高效率;关键字匹配常常会检索出很多不相关的web服务,降低了查准率,并且由于其不能支持语义约束的模糊匹配,遗漏了很多与检索内容相关的服务,降低了查全率。
1.2 基于语义的web服务体系框架
为了解决传统soa中存在的问题,引入owl-s对web服务进行语义描述。在传统soa基础上增加了语义匹配层,实现web服务的动态组合,即服务的自动发现和匹配,服务的自动调用和服务的自动组装。WwW.lw881.com基于语义web服务的soa,如图1所示。
语义匹配层的主要模块:
(1)交互模块。负责接收服务提供者提供的服务和服务请求者的请求服务,并将服务提借者提供的服务提交给owl-s/uddi转换模块,将服务请求者的请求服务提交给owl-s匹配模块。
(2)owl-s/uddi转换模块。负责将服务提供者提供的用owl-s描述的规范profile文件转换成uddi格式文件,由uddi发布此服务,并将此服务的主要参数信息提交给owl-s匹配模块。
(3)owl-s匹配模块。负责将已发布的服务信息存储到相应的web服务本体库里,利用匹配引擎与服务请求匹配,通过本体推理机制选择最优服务。
2 基于语义web服务的系统集成
2.1 传统系统集成的局限性
系统集成的主要目的是信息互通,其架构应具有高度的灵活性和拓展性,并提供较完善的兼容方案,使异构软硬件能协同工作。传统的系统集成技术难以达到以上要求,主要存在几个问题:
(1)缺乏统一的接口标准。缺乏统一的接口标准意味着要实现基于不同平台、不同语言的系统互操作将变得很复杂。虽然很多系统集成技术采用创建适配器的方法来解决互操作的问题,但是适配器的结构也没有统一的标准,导致系统的集成产生极大的冗余。并且还要对已有系统的程序代码进行修改,以包括新进的接口。
(2)集成机制没有实现松散耦合。系统集成的紧耦合机制,必须以相同的底层架构为前提,进而限制了系统的互操作功能,也使不同系统平台的集成雪上加霜。同时,底层架构的绑定导致系统间的信息通信有着严格的限定。
(3)信息传输不够迅捷。企业无法通过传统的集成系统及时收集到其它企业的变动情况。新企业的进入和旧企业的退出、功能更新等相关信息都无法通过集成系统实现信息的共享,严重影响系统集成的质量。
2.2 基于语义web服务的系统集成模型
基于语义web服务的系统集成模型如图2所示。其设计思想是以语义匹配和服务注册中心为中心,任何企业系统都可以集成到系统中来。通过对不同企业系统的web服务封装,使得每个系统都可以访问集成系统中的其他系统和被其他系统访问。每个企业系统在基于语义web服务的系统集成中既充当服务提供者的角色,又充当服务请求者的角色。通过internet将所有的服务汇聚在一起,利用语义匹配代替传统的关键字匹配,并把匹配结果提交到服务注册中心。实现信息服务的描述、注册和动态发现,以及服务的访问,为信息系统的集成和互操作提供技术支撑。
2.2.1 系统工作流程
假设企业c的某项功能对企业a有用,因为系统平台的原因,企业a无法通过传统的系统集成调用该功能,并且使用传统的soa关键字匹配方法无法找到该功能,则可通过此模型实现对企业c的调用,工作流程如下:
(1)使用wsdl对企业c的服务进行描述,形成wsdl文件。通过internet传送到语义匹配层。
(2)语义匹配层使用wsdl2owl工具将wsdl文件转换成owl-s profile文件,并将此文件提交给owl-s/uddi转换模块,由owl-s/uddi转换模块将其映射成uddi文档,在uddi上进行服务发布。同时生成企业c服务文件的相关信息,如服务id等。owl-s匹配模块把这些信息存储到web服务本体库中。
(3)使用wsdl对企业a的服务请求进行描述,形成wsdl文件。通过internet传送到语义匹配层。
(4)语义匹配层使用wsdl2owl工具将wsdl文件转换成owl-s profile文件。owl-s匹配模块提取profile文件里的主要信息,包括服务的类别、服务的文本描述、输入参数和输出参数等等。将这些服务请求信息与web服务本体库里的服务信息进行语义匹配,得到最优服务,即企业c提供的服务。
(5)最后,uddi将企业c提供服务的 wsdl 文挡传送给请求者。服务请求者根据 wsdl文档中对web服务的功能和调用接口的描述,发送 soap请求,绑定所需的 web服务。
2.2.2 语义匹配原理
语义服务匹配是语义匹配层中最核心的功能。语义匹配模块主要采取分层匹配策略。匹配过程主要包括两个阶段[3]:第一个阶段主要是对服务类别的匹配。通过owl-s profile中的service category属性判断服务所属类别,缩小匹配范围。确定服务类别后,进入匹配的第二阶段。第二个阶段主要是对服务功能的匹配。主要是对上一级匹配结果中服务描述的input、output进行语义匹配。并把服务请求者要求的匹配度作为阀值,返回与匹配内容相等和相近的匹配结果集。
3 结语
在经济全球化发展的今天,与其他企业建立高效的集成系统已经成为企业提高市场竞争力、降低成本的、及时获取信息的有效手段。针对传统的系统集成无法有效地协调企业内部、企业之间新旧系统工作这一现状,本文提出了基于语义web服务的信息系统集成模型,该模型利用基于语义web服务的soa,对企业间的系统实现高度信息共享,有效地解决了以上问题,最大限度地提高信息服务质量。
参考文献
[1]付燕宁,金英,刘磊,郑晓娟. 基于语义的web服务体系结构[j].计算机技术与发展,2008,18,(3).[2]熊安萍,王化晶,瞿中.基于面向服务体系结构的遗留系统集成方法研究[j].计算机科学,2008,35,(4).
[3]华进,钱雪忠.基于语义的web服务发现模型研究[j].计算机工程与设计,2008,29,(9).