一种基于语义的可复用软件服务管理系统及其实现方法

文档序号:6516762阅读:208来源:国知局
一种基于语义的可复用软件服务管理系统及其实现方法
【专利摘要】本发明公开一种基于语义的可复用软件服务管理系统及其实现方法,包括基于多类型软件服务管理模型的服务管理模块,对三种不同粒度的软件服务管理对象建模;基于可视化向导操作的服务存储和服务发现模块,依据服务描述信息存储功能语义信息,依据服务间关系存储服务语义关系信息,并提供快速准确的服务查找结果;以及BPEL开发平台协作接口,用来支持将服务资产库的软件服务加载入开发平台,通过可视化拖拽拼接服务来构建业务流程。利用本发明,能够满足多用户共享资源,在已有服务的基础上快速构建新的服务,提高服务的复用性,充分发挥开放服务的功能,减少开发消耗,提高服务开发效率。
【专利说明】—种基于语义的可复用软件服务管理系统及其实现方法
【技术领域】
[0001]本发明涉及软件开发领域的面向服务架构(SOA, Service-orientedarchitecture)技木,尤其涉及一种基于语义的可复用软件服务管理系统及其实现方法,用于实现对业务流程执行语言(BPEL)开发平台中生成的各种服务和BPEL业务流程的管理。
【背景技术】
[0002]随着面向服务架构(SOA, Service-oriented architecture)的推广,作为其实现核心的Web服务就愈来愈流行,更多的被用来管理接口和资源。Web服务是ー种可互操作的、独立的、模块化的、位置明确的、松散耦合的软体元件,它透过Web通讯协定及资料格式的开放式标准(如HTTP、XML及SOAP等)来为其他应用程序提供服务。SOA和Web服务为企业IT体系架构带来了极大的互操作性、灵活性和复用性。
[0003]可以通过组合已有的Web服务,将小粒度、单一功能的服务组合成更大粒度的、更为复杂的新的服务,以节约用户的开发时间,提高服务的复用价值。在定义完毕实现特定功能的Web服务之后,依照实际的业务逻辑确定服务的执行顺序,同时描述服务之间交互的过程,完成Web服务的组合。服务组合创建了新的增值服务,加快了系统的开发速度,节省开发费用。
[0004]WS-BPEL规范是业界流行的服务组合规范,其定义了服务组合相关的各种元素,流程开发人员可以依据规范编写BPEL代码来组合服务,但是前提是用户能够熟练掌握BPEL语言。因此出现了众多可视化的BPEL开发平台,如,Active BPEL>BPEL Designer Project等。这些平台允许业务开发人员通过拖拽可视化的图形组件来构造业务应用的逻辑结构,平台自动生成相应的可执行的BPEL代码,从而提高了业务流程的开发效率,降低了开发周期。但是,这种简单的将BPEL语言的各种元素与可视化组件对应起来的做法,并没有彻底地对开发人员屏蔽BPEL语言的语法细节,因此限制了开发效率的进ー步提高。
[0005]在开源软件BPEL Designer Project的基础上,基于Web服务建模的BPEL开发平台提供了不同粒度的服务拖拽操作,能够直接拖拽Web服务构建业务流程,自动生成相应的BPEL元素并填充相关属性值,屏蔽了 BPEL语言的语法细节,避免了开发人员的额外操作。同时提供了粗粒度的组合服务,方便开发人员快速开发。但是,伴随着服务的不断开发积累,服务的管理成为了ー个巨大的挑战。日益增长的服务(包括组合服务)如何去有效组织管理,为开发人员提供良好的开发环境,能够在开发过程中快速且准确的查找到满足需求的服务,并且将创建的服务添加进已有的服务库中,同时提供精确的服务推荐功能,提高开发人员的开发效率,缩短开发周期,基于上述原因,一个高效的服务管理系统是必需的。

【发明内容】

[0006]有鉴于此,本发明的主要目的在于提供一种基于语义的可复用软件服务管理系统及其实现方法,通过采用分层软件体系架构,基于关系数据库和RDF描述框架实现服务信息的存储,基于Spring框架管理核心业务逻辑,基于Eclipse插件开发技术实现平台视图的展示,提供高效的服务管理方式,以实现管理多类型软件服务,提供精确的服务查询,并提闻服务开发效率。
[0007]为达到上述目的,本发明的技术方案是这样实现的:
一种基于语义的可复用软件服务管理系统,主要包括服务管理模块,服务存储和服务发现模块以及BPEL开发平台协作接ロ ;其中,
服务管理模块,为服务存储和服务发现模块提供基础,用于实现基于语义标注和本体分类的服务管理模型,管理三种不同粒度的服务管理対象,并根据模型中对于对象的定义,定义不同的服务对象本体和功能本体,记录各自不同的功能信息以及服务之间的关系语义信息,并进行归类管理;
服务存储和服务发现模块,与所述服务管理模块相联,为用户提供直接交互的可视化视图,引导其存储服务以及发现服务;以Eclipse插件的形式集成于BPEL开发平台上,对不同的服务对象提供不同的存储向导,提供服务发现和结果查看的视图;以及,
BPEL开发平台协作接ロ,被服务存储和服务发现模块调用,用干与BPEL开发平台进行通信,将查找的服务的相关信息传递给BPEL开发平台进行服务的加载,最終可以在开发平台上通过可视化拖拽组合服务生成BPEL流程;从BPEL开发平台上获取用户选择的可复用的服务详细信息,传递给服务存储模块,实现对服务功能信息和语义关联信息的自动化存储,实现服务库的积累。
[0008]其中,所述服务存储和服务发现模块,还用于通过服务存储时用户提供的信息管理服务,为用户提供良好的服务发现功能,利用服务的语义信息提高查询结果的准确率。
[0009]所述服务管理模型实现对不同服务对象的管理及一个辅助管理对象,所述服务管理对象为原子服务、协作服务和应用框架;所述辅助管理对象为功能活动;其中,
原子服务,为服务提供者提供的各种类型的Web服务,为基于SOAP实现,或是REST风格;所述原子服务能够独立完成某些指定功能的操作,是服务组合中的基本元素;
协作服务位于原子服务的基础之上,通过描述服务之间的顺序关系和交互关系,为用户提供新的增值服务,是用BPEL语言描述的组合服务流程;为ー种更大粒度的服务,通过使用原子服务去完成更为复杂的功能;所述协作服务与原子服务存在着包含与被包含的语义关系;
应用框架为业务流程的抽象描述,是某ー应用领域的通用流程框架,是领域专家从众多流程开发过程中抽取出来的可复用部分,采用BPEL语言描述;应用框架为最大粒度的服务抽象,本身并不能够作为服务去实际执行,但是其流程框架却是能够在服务组合时利用的,它是由众多的功能活动组成的,因此应用框架与功能活动存在着包含与被包含的语义关联;以及,
功能活动,位于应用框架与原子服务和协作服务之间的中间层,它并不是实际需要的管理对象,是为了辅助管理上述三种服务而建立的;功能活动为某种功能实现的服务的抽象,ー种功能活动代表了完成某种功能的服务的集合,其中的服务可以是原子服务,也可以是协作服务,它是三种服务关联的核心,与每种服务对象都有着特定的关系,它与原子服务和协作服务有着包含与被包含的关系,还与应用框架有着被包含与包含的关系。
[0010]一种基于语义的可复用软件服务管理系统的实现方法,包括:
A、利用基于多类型软件服务管理模型的服务管理模块,对三种不同粒度的软件服务管理对象建摸,根据服务的领域、粒度和种类进行本体划分,管理服务的功能信息和服务之间的语义关系,服务描述信息和真实服务均存储于服务库中;
B、通过基于可视化向导操作的服务存储和服务发现模块,依据服务描述信息存储功能语义信息,依据服务间关系存储服务语义关系信息,并提供快速准确的服务查找结果;
C、采用与BPEL开发平台协作接ロ,支持将服务资产库的软件服务加载入开发平台,通过可视化拖拽拼接服务来构建业务流程。
[0011]其中,利用所述服务管理模型定义三种不同层次的本体,包括:
服务本体实现对服务管理对象进行建模,依据三种类型服务管理对象的定义,三种不同的服务本体被建立,分别对应于原子服务、协作服务以及应用框架,涵盖了描述服务的基本信息以及语义信息,这些信息的定义都精确的反映了服务之间的关系,同时各种基本概念的定义是服务管理模型中最基本的保障;
领域本体定义了不同的应用领域,是各个服务应用场景的归属领域;在领域本体层,不同领域的定义都是由领域专家以客观世界的认知为基础来进行的,领域本体是可以根据平台的管理策略由特定的管理人员来进行动态调整的;
功能本体继承自领域本体,是对领域本体的进ー步细化,它依据功能的不同定义了某一领域中的各个功能实体,每ー个功能本体代表了ー组相似功能的服务的集合;功能本体的定义是由领域专家根据客观认知来划分的,功能本体的划分需要支持动态的变化以适应服务管理的需要。
[0012]利用所述服务存储模块进行如下操作:
用户在BPEL开发平台中选择需要存储的Web服务或者BPEL流程片段,选择服务存储功能,触发存储操作;
解析选择的Web服务的描述文档或者BPEL流程片段,对于包含多个服务的描述文档进行拆分,将解析获取的信息展示给用户;
用户添加详细的服务描述信息,选择服务归属的领域以及功能活动,完成描述之后提交存储请求;
将服务的基本信息存入传统关系数据库中,利用RDF资源描述框架记录服务与其他服务之间的语义关联,完成服务信息的存储;如果存储失败则返回相应的错误信息,并提醒用户。
[0013]所述服务发现模块还包括基本的模糊捜索和高级的精确搜索,具体完成如下步骤:
用户在BPEL开发平台上打开服务查找视图或者服务高级捜索对话框,根据需求输入相关的查找关键字,或者提供特定服务属性上的详细信息,缩小查找范围,提交服务搜索请求;
利用关系数据库的查找功能进行初歩筛选,再利用SPARQL捜索推理,获取最后推荐的服务,将查找的结果显示给用户。
[0014]利用所述BPEL开发平台协作接ロ,完成如下步骤:
用户在查找结果的服务列表中,选择开发需要的服务,右键选择加载或者点击加载按钮,触发加载服务操作;调用BPEL开发平台协作接ロ,将选择的服务相关信息传递给BPEL开发平台;BPEL开发平台将传输的服务信息封装成对应的服务对象,然后展示在BPEL开发平台的可视化组件上,允许用户通过拖拽的方式使用服务;
用户在BPEL开发平台上选择存储的服务或BPEL流程片段,完成对于服务或BPEL流程片片段的解析,然后通过调用BPEL开发平台协作接ロ,将服务的详细信息传递给服务存储模块,封装成对应的服务对象完成服务存储。
[0015]本发明所提供的基于语义的可复用软件服务管理系统及其实现方法,具有以下优点:
基于语义的可复用软件服务管理系统及其实现方法,利用语义标注和本体分类来管理三种不同类型的服务对象及其之间的语义关系,为用户提供ー个便捷高效的服务存储、查询、分类和调用的公共服务管理中心。利用本发明,能够满足多用户共享资源,在已有服务的基础上快速构建新的服务,提高服务的复用性,充分发挥开放服务的功能,減少开发消耗,提闻服务开发效率。
【专利附图】

【附图说明】
[0016]图1A、图1B为本发明实现可复用软件服务管理平台的总体结构示意图;
图2为本发明管理的服务对象之间的关系图;
图3为本发明采用的服务管理模型的本体结构图;
图4为本发明平台实现的数据层结构图;
图5为本发明中原子服务存储的序列图;
图6为本发明中应用框架存储的序列图;
图7为本发明中服务查询的流程图。
【具体实施方式】
[0017]下面结合附图及本发明的实施例对本发明的方法作进ー步详细的说明。
[0018]本发明的基本思想是:利用BPEL开发平台协作接ロ获取BPEL开发平台上的服务或者BPEL流程片段的信息,再通过服务存储视图引导用户添加服务的详细描述信息,之后存入共享的服务库中,采用基于语义标注和本体分类的服务管理模型来管理服务,以此为基础向用户提供高效的服务发现功能,查找到符合开发需要的服务,再通过BPEL开发平台协作接ロ将选择的服务加载至BPEL开发平台中,最后实现服务的使用。
[0019]在ー个开放协作的网络中,不同的服务提供者能够共享他们的资源,并且在已有服务的基础上快速构建新的服务。这种协作网络中的多用户共享需要ー个良好的服务管理平台去高效的管理日益增长的服务,为服务开发人员提供ー个服务共享和服务发现的平台,允许服务开发人员迅速准确的查找到满足需求的服务。通过服务管理系统,用户可以获得如下好处:服务重用,充分发挥开放服务的功能,減少开发消耗,提高开发速度;服务评价,根据一定的策略衡量服务,为服务选择提供标准;服务分析,在已收集的信息基础上分析相关问题,包括用户偏好,服务使用频率等,有助于指定服务策略。
[0020]本发明提供的基于语义的可复用软件服务管理系统及其实现方法,用于面向服务业务开发中快速搭建企业服务流程,所述可复用软件服务管理系统为企业服务流程的生成提供多层次多粒度的软件服务功能模块,通过服务模块的发现和推荐辅助服务流程快速生成,并对其进行有效管理。该系统主要包括:基于多类型软件服务管理模型的服务管理模块,对SOA业务流程开发中所需的三种不同粒度的服务功能模块管理对象建模,根据服务模块的领域、粒度和种类进行本体划分,管理服务的功能信息和服务之间的语义关系,服务描述信息和服务模块代码均存储于服务库中;基于可视化向导操作的服务存储模块和服务发现模块,依据服务描述信息存储功能语义信息,依据服务间关系存储服务语义关系信息,并提供快速准确的服务查找结果;与BPEL开发平台协作使用的接ロ,支持将软件服务库的服务加载入开发平台,通过可视化拖拽拼接服务来构建业务流程。
[0021]本发明采用分层软件体系架构,基于关系数据库和RDF描述框架实现服务信息的存储,基于Spring框架管理核心业务逻辑,基于Eclipse插件开发技术实现平台视图的展示,提供ー种高效的软件服务管理方式,从而实现管理多种类型软件服务,提供精确的服务查询,提高软件服务开发效率。
[0022]图1A、图1B为本发明实现可复用软件服务管理平台的总体结构示意图。属于ー种与BPEL开发平台协作使用的可复用软件服务管理平台。如图1A、图1B所示,该平台采用分层体系架构实现,具体如下:
数据层为平台的基础,用来实现作为平台核心的数据管理模型,储存相关的服务信息,并将这些信息有效的管理起来,业务层通过调用统ー的数据访问控制接ロ来完成对数据层的访问操作。
[0023]业务层,用来实现可复用软件服务管理平台的核心逻辑,包括服务存储以及服务发现,向上为视图层的展示提供必要的信息并响应用户的视图操作,向下从数据层获取操作所需的数据并将新的数据存储起来。
[0024]视图层,用来向用户展示信息并进行必要的人工交互,引导用户进行相关操作,为用户提供良好的用户体验。
[0025]上述管理平台中,进ー步的,数据层实现的服务管理模型具体包括:
建模三种服务管理对象和一个辅助管理对象,分别是原子服务、协作服务、应用框架以及功能活动。进ー步的,其分别定义为:
原子服务(AS,Atom Service)是服务提供者提供的各种类型的Web服务,可以是基于SOAP实现的,也可以是REST风格的。原子服务能够独立完成某些指定功能的操作,是服务组合中的基本元素。每ー个原子服务都由一个元组定义:
AS =〈SC,SA, SR〉
其中,SC是原子服务的基本信息集合,所有类型的服务都必须提供这些基本信息,包括服务的名称,描述信息,应用领域,服务提供者,提交时间,服务位置等。SA是用户对不同服务类型自己定义的额外服务信息集合,可以为空,需要由用户来定义服务描述的元数据。例如,RESTful Web服务的请求方式等。SR是原子服务与其他管理对象之间的关系集合,主要是与协作服务以及功能活动之间的关系。
[0026]协作服务(CS,Collaboration Service)是在原子服务的基础之上,通过描述服务之间的顺序关系和交互关系,为用户提供新的增值服务,是用BPEL语言描述的组合服务流程。它是ー种更大粒度的服务,使用原子服务去完成更为复杂的功能,也就是说协作服务是由原子服务组成的,因此,协作服务与原子服务存在着包含与被包含的语义关系。每ー个协作服务都由ー个元组定义:
CS =〈CC,CR〉 其中,CC是协作服务的基本信息集合,与原子服务的SC类似,包括了服务的名称,描述信息,应用领域,服务提供者,提交时间,流程地址等信息。CR是协作服务与其他管理对象之间的关系集合,主要描述了与原子服务以及功能活动之间的关系。
[0027]应用框架(Application Framework,AF)是业务流程的抽象描述,是某一应用领域的通用流程框架,是开发人员从众多流程开发过程中抽取出来的可复用部分,采用BPEL语言描述。应用框架是最大粒度的服务抽象,本身并不能够作为服务去实际执行,但是其流程框架却是能够在服务组合时利用的,它是由众多的功能活动组成的,因此应用框架与功能活动存在着包含与被包含的语义关联。每ー个应用框架都是由ー个元组定义的:
AF =〈AC,AR〉
其中,AC是应用框架的基本信息集合,因为与协作服务相同都是BPEL流程片段,故基本信息与协作服务的CC相同,包括了服务的名称,描述信息,应用领域,服务提供者,提交时间,流程地址等。AR是应用框架与其他管理对象之间关系集合,主要是与功能活动之间的语义关系。
[0028]功能活动(AT, Activity)是位于应用框架与原子服务和协作服务之间的中间层,它并不是实际需要的管理对象,是为了辅助管理上述三种服务而建立的。功能活动是某种功能实现的服务的抽象,ー种功能活动代表了完成某种功能的服务的集合,其中的服务可以是原子服务,也可以是协作服务,它是三种服务关联的核心,与每种服务对象都有着特定的关系,它与原子服务和协作服务有着包含与被包含的关系,还与应用框架有着被包含与包含的关系。每ー个功能活动都是由ー个元组定义的:
AT =〈TC,TR>
其中,TC是功能活动的基本信息集合,包括了功能活动的名称,描述信息,应用领域等信息。TR是功能活动与其他管理对象之间的关系集合,由于功能活动的中枢位置,其关系包括了与原子服务、协作服务以及应用框架之间的语义关联。
[0029]图2为本发明管理的服务对象之间的关系图。如图2所示,显示了各服务对象之间的关系。
[0030]根据服务管理对象的定义,建立三种不同层次的本体,分别为服务本体,领域本体以及功能本体。进ー步的,其定义分别为:
所述服务本体实现对服务管理对象进行建模,依据对于三种类型服务管理对象元组的定义,三种不同的服务本体被建立,分别对应于原子服务、协作服务以及应用框架,涵盖了描述服务的基本信息以及语义信息,其中三种服务本体之间的语义关联对应于上节所定义的各种关系,这些信息的定义都精确的反映了服务之间的关系,同时各种基本概念的定义是服务管理模型中最基本的保障。
[0031]所述领域本体这层中,不同的应用领域被定义,而这些领域的定义都是由领域专家以客观世界的认知为基础来进行的。因此为了避免领域划分的不一致性,领域本体是由专业的平台管理人员来定义并且负责后续管理操作的。领域的划分应当简单并且覆盖面广,简单要求分类尽量的清晰明了,覆盖面广意味着存储的服务都能够归属至某一领域之下。领域本体是对所有服务管理对象的一次划分,将所有的服务分而治之,能够更为精确的定位服务。由于领域本体的人工參与较多,因此其定义并不可能保持不变,随着服务的增多以及技术的不断发展,旧有的领域的划分可能满足不了新的需求,所以领域本体是可以根据平台的管理策略由特定的管理人员来进行动态调整的。
[0032]所述功能本体继承自领域本体,依据于服务的功能属性对各领域中的服务的进一步细化,每ー个功能本体代表了ー组相似功能的服务的集合。通过基于功能的聚合,服务管理变得更加的高效简単。每ー个服务都归属于某个领域下的具体功能上,相应的,通过该领域和功能便可以轻松的发现和推荐相似的服务。功能本体的定义同样是由领域专家根据客观认知来划分的,但是不同于领域本体,功能本体的需求变化更加頻繁,因此对于功能本体的划分需要更加的灵活,能够支持动态的变化以适应服务管理的需要。
[0033]图3为本发明采用的服务管理模型的本体结构图。如图3所示,显示了服务管理模型的本体结构。
[0034]上述管理平台中,进ー步的,数据层实现采用传统关系数据库和RDF双存储结构,具体包括:
可复用软件服务管理平台在存储服务时,将服务的所有信息存入传统的关系数据库中,借由数据库来实现数据的高效管理,降低了平台的复杂度,之后根据数据库中的相关数据来及时更新RDF语义文档中的服务的关系语义信息。当平台的业务层读取数据时,数据访问控制会根据业务的需要来区别对待,对于不需要进行语义推理的数据获取,数据访问控制会直接从数据库中查找需要的数据,而对于需要进行语义挖掘的数据读取,其则会从RDF文档中读取信息并进行相应的语义推理,为业务提供更为丰富的服务描述信息。通过此种分类可以提高平台的数据读取效率,因为对RDF文档的读取速度要远低于数据库的存储,所以平台尽可能的減少了对于RDF文档的操作,来提高平台的处理速度。如图4所示,显示了平台数据层结构。
[0035]上述管理平台中,进ー步的,业务层包括:
服务存储模块,允许用户将新开发的服务存入平台中,以备后续的复用,该服务可以是原子服务,协作服务或者应用框架,通过服务提供者之间的服务共享,使得用户能够基于已有服务快速开发新的流程。
[0036]服务发现模块,根据用户的输入信息从已有的服务库中查找出可能符合用户需求的所有服务,是可复用软件服务管理平台提供的主要功能之一,其要求查询结果达到一定的准确率以及查全率。
[0037]上述管理平台中,进ー步的,服务存储模块具体包括:
原子服务存储,首先需要用户通过界面首先输入简单的描述信息,例如应用领域等,然后添加相应的描述文档,由于在同一个文档中可能存在多个原子服务,因此需要对该文档进行解析,将其分拆为多个原子服务,并将解析后的每ー个原子服务重新展示给用户,由用户对其分别进行详细的描述,例如功能描述等,由此才能对每个原子服务进行精确定位。之后通过Web接ロ调用,将最后分拆的多个原子服务传递给服务器端的业务逻辑处理,将相关的描述信息封装成原子服务对象,最后由数据访问控制对象来实现数据库和RDF文档中数据的持久化,完成服务存储功能。如图5所示,为原子服务存储的序列图。
[0038]应用框架和协作服务的存储基本相同,以存储应用框架为例,用户需要在服务生成平台中右键需要存储的sequence,相应的会弹出存储对话框,对话框中会显示sequence的相关信息,包括列举出包含的activity等,用户输入完信息之后提交,经过调用Web接ロ将服务的信息传递给业务逻辑,其会将服务的所有信息整理封装成对应的应用框架对象,并将其交由数据访问控制对象存入数据库和RDF文档中,同时还会将应用框架中包含的activity的信息进行更新,保持了两者的语义关系,最后返回結果。如图6所示,为从Eclipse插件视图中存储应用框架的序列图。
[0039]上述管理平台中,进ー步的,服务发现模块具体流程为:
用户在基本查找视图或者高级搜索对话框中输入相应的查找信息,提交查询请求;
客户端将所有查找信息通过Web服务接ロ传递给服务器,由其进行服务查询;
封装相应查询条件,通过数据访问控制对象实现对数据库的查询,得到查询結果;
通过数据访问控制对象,利用Jena框架中的SPARQL对服务的语义信息进行推理,获取相应的查找结果;
最后合并结果返回给用户,展示在服务列表视图中,完成服务查找过程。
[0040]图7为本发明中服务查询的流程图。如图7所示,显示了服务查询的过程。
[0041]上述管理平台中,视图层采用Eclipse平台插件开发技术实现,利用SWT提供的图形用户界面(⑶I,Graphical User Interface)控件实现前台的普通展示,对于更加复杂的图形界面,则利用JFace封装好的Tree.Table等构件,简化了视图的实现。通过BPEL开发平台协作接ロ同BPEL开发平台进行通信,实现服务的加载等功能。进ー步的,视图层包括:
对话框,包括服务存储对话框和配置对话框。服务存储对话框根据服务对象的不同分为三种,分别对应于原子服务、协作服务和应用框架的存储,将用户选择的服务作为该对象存入平台中,并且在对话框中要求用户填入相应的必要信息,例如应用领域,名称,注释等。配置对话框则是Eclipse插件客户端与平台服务器端连接的配置中心,用户可以在对话框上配置服务器端的连接地址,包括端ロ信息,以便插件客户端能够寻找到Web服务。
[0042]视图,包括服务查询视图和服务列表视图。服务查询视图包括了支持简单关键字的模糊捜索的基本查询视图和支持精确查找的高级搜索视图,其中基本查询视图只提供一个文本框来供用户输入关键字,而高级搜索视图中则提供了精确的分类,包括类型,领域,描述,所有者等详细信息。服务列表视图向用户列表展示服务的基本信息,服务查询的结果即会显示在此视图中,显示的服务信息有名称,描述,提供者,类型等,同时视图支持用户将选择的服务加载入服务生成平台中,供在开发中使用。
[0043]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【权利要求】
1.一种基于语义的可复用软件服务管理系统,其特征在于,主要包括服务管理模块,月艮务存储和服务发现模块以及BPEL开发平台协作接ロ ;其中, 服务管理模块,为服务存储和服务发现模块提供基础,用于实现基于语义标注和本体分类的服务管理模型,管理三种不同粒度的服务管理对象,并根据模型中对于对象的定义,定义不同的服务对象本体和功能本体,记录各自不同的功能信息以及服务之间的关系语义信息,并进行归类管理; 服务存储和服务发现模块,与所述服务管理模块相联,为用户提供直接交互的可视化视图,引导其存储服务以及发现服务;以Eclipse插件的形式集成于BPEL开发平台上,对不同的服务对象提供不同的存储向导,提供服务发现和结果查看的视图;以及, BPEL开发平台协作接ロ,被服务存储和服务发现模块调用,用干与BPEL开发平台进行通信,将查找的服务的相关信息传递给BPEL开发平台进行服务的加载,最終可以在开发平台上通过可视化拖拽组合服务生成BPEL流程;从BPEL开发平台上获取用户选择的可复用的服务详细信息,传递给服务存储模块,实现对服务功能信息和语义关联信息的自动化存储,实现服务库的积累。
2.根据权利要求1所述基于语义的可复用软件服务管理系统,其特征在于,所述服务存储和服务发现模块,还用于通过服务存储时用户提供的信息管理服务,为用户提供良好的服务发现功能,利用服务的语义信息提高查询结果的准确率。
3.根据权利要求1所述基于语义的可复用软件服务管理系统,其特征在于,所述服务管理模型实现对不同服务对象的管理及一个辅助管理对象,所述服务管理对象为原子服务、协作服务和应用框架;所述辅助管理对象为功能活动;其中, 原子服务,为服务提供者提供的各种类型的Web服务,为基于SOAP实现,或是REST风格;所述原子服务能够独立完成某些指定功能的操作,是服务组合中的基本元素; 协作服务位于原子服务的·基础之上,通过描述服务之间的顺序关系和交互关系,为用户提供新的增值服务,是用BPEL语言描述的组合服务流程;为ー种更大粒度的服务,通过使用原子服务去完成更为复杂的功能;所述协作服务与原子服务存在着包含与被包含的语义关系; 应用框架为业务流程的抽象描述,是某ー应用领域的通用流程框架,是领域专家从众多流程开发过程中抽取出来的可复用部分,采用BPEL语言描述;应用框架为最大粒度的服务抽象,本身并不能够作为服务去实际执行,但是其流程框架却是能够在服务组合时利用的,它是由众多的功能活动组成的,因此应用框架与功能活动存在着包含与被包含的语义关联;以及, 功能活动,位于应用框架与原子服务和协作服务之间的中间层,它并不是实际需要的管理对象,是为了辅助管理上述三种服务而建立的;功能活动为某种功能实现的服务的抽象,ー种功能活动代表了完成某种功能的服务的集合,其中的服务可以是原子服务,也可以是协作服务,它是三种服务关联的核心,与每种服务对象都有着特定的关系,它与原子服务和协作服务有着包含与被包含的关系,还与应用框架有着被包含与包含的关系。
4.一种基于语义的可复用软件服务管理系统的实现方法,其特征在于,包括: A、利用基于多类型软件服务管理模型的服务管理模块,对三种不同粒度的软件服务管理对象建摸,根据服务的领域、粒度和种类进行本体划分,管理服务的功能信息和服务之间的语义关系,服务描述信息和真实服务均存储于服务库中; B、通过基于可视化向导操作的服务存储和服务发现模块,依据服务描述信息存储功能语义信息,依据服务间关系存储服务语义关系信息,并提供快速准确的服务查找结果; C、采用与BPEL开发平台协作接ロ,支持将服务资产库的软件服务加载入开发平台,通过可视化拖拽拼接服务来构建业务流程。
5.根据权利要求4所述基于语义的可复用软件服务管理系统的实现方法,其特征在于,利用所述服务管理模型定义三种不同层次的本体,包括: 服务本体实现对服务管理对象进行建模,依据三种类型服务管理对象的定义,三种不同的服务本体被建立,分别对应于原子服务、协作服务以及应用框架,涵盖了描述服务的基本信息以及语义信息,这些信息的定义都精确的反映了服务之间的关系,同时各种基本概念的定义是服务管理模型中最基本的保障; 领域本体定义了不同的应用领域,是各个服务应用场景的归属领域;在领域本体层,不同领域的定义都是由领域专家以客观世界的认知为基础来进行的,领域本体是可以根据平台的管理策略由特定的管理人员来进行动态调整的; 功能本体继承自领域本体,是对领域本体的进ー步细化,它依据功能的不同定义了某一领域中的各个功能实体,每ー个功能本体代表了ー组相似功能的服务的集合;功能本体的定义是由领域专家根据客观认知来划分的,功能本体的划分需要支持动态的变化以适应服务管理的需要。
6.根据权利要求5所述基于语义的可复用软件服务管理系统的实现方法,其特征在于,利用所述服务存储模块进行如下操作: 用户在BPEL开发平台中选择需要存储的Web服务或者BPEL流程片段,选择服务存储功能,触发存储操作; 解析选择的Web服务的描述文档或者BPEL流程片段,对于包含多个服务的描述文档进行拆分,将解析获取的信息展示给用户; 用户添加详细的服务描述信息,选择服务归属的领域以及功能活动,完成描述之后提交存储请求; 将服务的基本信息存入传统关系数据库中,利用RDF资源描述框架记录服务与其他服务之间的语义关联,完成服务信息的存储;如果存储失败则返回相应的错误信息,并提醒用户。
7.根据权利要求5所述基于语义的可复用软件服务管理系统的实现方法,其特征在于,所述服务发现模块还包括基本的模糊捜索和高级的精确搜索,具体完成如下步骤: 用户在BPEL开发平台上打开服务查找视图或者服务高级捜索对话框,根据需求输入相关的查找关键字,或者提供特定服务属性上的详细信息,缩小查找范围,提交服务搜索请求; 利用关系数据库的查找功能进行初步筛选,再利用SPARQL捜索推理,获取最后推荐的服务,将查找的结果显示给用户。
8.根据权利要求4所述基于语义的可复用软件服务管理系统的实现方法,其特征在于,利用所述BPEL开发平台协作接ロ,完成如下步骤: 用户在查找结果的服务列表中,选择开发需要的服务,右键选择加载或者点击加载按钮,触发加载服务操作;调用BPEL开发平台协作接ロ,将选择的服务相关信息传递给BPEL开发平台;BPEL开发平台将传输的服务信息封装成对应的服务对象,然后展示在BPEL开发平台的可视化组件上,允许用户通过拖拽的方式使用服务; 用户在BPEL开发平台上选择存储的服务或BPEL流程片段,完成对于服务或BPEL流程片片段的解析,然后通过调用BPEL开发平台协作接ロ,将服务的详细信息传递给服务存储模块,封装成对应的服 务对象完成服务存储。
【文档编号】G06Q10/06GK103577931SQ201310515219
【公开日】2014年2月12日 申请日期:2013年10月28日 优先权日:2013年10月28日
【发明者】吴步丹, 程渤, 章洋, 方立立, 陈俊亮 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1