多维度语义web服务开发方法

文档序号:6629481阅读:212来源:国知局
多维度语义web 服务开发方法
【专利摘要】本发明涉及web服务【技术领域】。为为方便开发者基于多维度语义模型开发满足多维度语义规范的语义web服务,简化开发者的开发流程,在现有开发平台eclipse上集成一种多维度语义开发工具,为达到上述目的,本发明采取的技术方案是,多维度语义web服务开发方法,包括如下步骤:1)搜索及结果浏览步骤,分为对服务搜索和本体搜索两部分;按照用户输入的搜索条件,分别对服务网络SN(Services Network)中的服务和本体进行搜索;2)基于服务网络创建多维度语义web服务模块,在用户本地运行环境中创建新的项目工程,根据用户的选择重用相应的操作或服务。本发明主要应用于机械量加工测量。
【专利说明】多维度语义web服务开发方法

【技术领域】
[0001 ] 本发明涉及web服务【技术领域】,具体来说,涉及满足多维度语义模型规范的web服务开发工具的设计与实现。

【背景技术】
[0002]web服务由于自描述、自包含以及松耦合等特性一直得到了人们的青睐。近年来,结合语义网等技术手段为web服务对添加语义信息使之成为计算机可理解实体,即语义web服务的研究愈发广泛。带有语义信息的web服务使得服务的自动发现、选择、组合和关系生成成为可能。
[0003]目前,对于语义web的研究,已经提出了多种语义web服务描述规范。开发满足规范定义的语义web服务,从服务开发阶段就为服务添加了语义信息。但目前互联网中已发布的 web 服务都是基于 web 服务描述语言(Web Services Descript1n Language, WSDL)规范描述的,而现有的已提出的语义web模型中大部分都抛弃了传统的WSDL架构。而少数基于WSDL扩充机制对web服务进行语义标注的模型又缺乏相应的语义web服务构建方法。
[0004]基于上述原因,提出了 Web服务的多维度语义模型,该模型旨在从实现方法方面能够兼容现有的WSDL基于语法的语言,并且能够提供一种构建方法或者映射机制实现Web服务的语义化,以此来提高语义Web服务描述模型的可用性。在描述能力方面,不仅关注Web服务的功能语义,而且还关注Web服务的时空和上下文、性能等语义信息。
[0005]为了使开发人员在服务开发阶段就直接构建满足多维度语义模型规范的语义web服务,并生成语义web服务的多维度语义描述语言(Multidimens1nal SemanticDescript1n Language, MSDL)文档,设计并实现多维度语义Web服务的开发方法很有必要。


【发明内容】

[0006]本发明旨在解决克服现有技术的不足,为方便开发者基于多维度语义模型开发满足多维度语义规范的语义web服务,简化开发者的开发流程,在现有开发平台eclipse上集成一种多维度语义开发工具,为达到上述目的,本发明采取的技术方案是,多维度语义web服务开发方法,包括如下步骤:
[0007]I)搜索及结果浏览步骤,分为对服务搜索和本体搜索两部分;按照用户输入的搜索条件,分别对服务网络SN(Services Network)中的服务和本体进行搜索,对搜素到的服务或本体进一步浏览其信息;
[0008]2)基于服务网络创建多维度语义web服务模块,在用户本地运行环境中创建新的项目工程,根据用户的选择重用相应的操作或服务,自动生成新服务的WSDL和MSDL文档,为用户提供图形化的文档编辑器进行WSDL和MSDL文档编辑,自动同步WSDL文档和MSDL文档以弥补用户疏漏而造成的文档不一致,由描述文档在新建工程源文件目录下逆向生成Java代码等功能;在用户完成接口的代码实现后,运行本发明自动生成的服务端代码将新服务进行发布;解析WSDL文档和MSDL文档将新服务的语法信息及语义信息记录在服务网络中完成新服务在服务网络中的注册。
[0009]搜索及结果浏览步骤具体流程如下:在服务网络中进行搜索,查找有无符合要求的服务或本体,搜索功能具体包括:在搜索界面选择进行服务搜索或本体搜索:
[0010]A.服务搜索是对服务网络中现有的服务进行搜索,在服务搜索中可以根据服务的关键字,领域范围,所在国家以及提供者等可选条件进行联合搜索;当用户确定搜索后,判断四个搜索条件是否为空,若为空则忽略该搜索条件,默认条件下几个搜索条件均为空;若用户没有填写任何搜索条件,默认搜索SN中的所有服务;搜索完成后,用户可以对搜索结果进行更进一步的浏览和查看,包括某个服务的基本信息、所包含的操作的信息、服务质量以及运行信息;
[0011]B.本体搜索是对服务网络中现有的本体概念进行搜索,在本体搜索中以树状展示服务网络中的本体结构;选择相应的本体概念查看其对象属性和数据属性。
[0012]基于服务网络创建多维度语义web服务模块,即创建满足多维度语义规范的语义web服务,具体包括:
[0013]A.用户输入服务名称及该新建的项目在本机的保存地址;
[0014]B.根据A中的输入结果,新建项目工程,并导入到eclipse的工作空间下,同时刷新eclipse当前工作空间,在左侧导航栏中显示该工程;
[0015]C.在项目目录下生成服务的WSDL文档和MSDL文档;
[0016]D.对搜索过程中希望重用的操作或服务进行复用,相应更新服务的WSDL文档和MSDL文档;
[0017]E.对WSDL文档和MSDL文档进行修改、添加等编辑工作;
[0018]F.同步服务的WSDL文档和MSDL文档,避免二者不一致;
[0019]G.根据服务描述文档逆向生成java文件存放在新建项目的“src”源文件目录下,生成的文件包括数据类型定义、服务端代码、客户端调用代码、接口定义及实现类;
[0020]H.用户实现对相应接口进行实现;
[0021]1.运行服务端代码进行服务发布;
[0022]J.解析WSDL文档和MSDL文档将服务的语法信息和语义信息记录到服务网络中,完成服务注册。
[0023]本发明的技术特点及效果:
[0024]本发明为开发者基于多维度语义模型开发语义web服务提供了便捷的开发工具,使得开发流程更加清晰;利用本发明开发web服务的的过程所采用的方式是先定义服务描述后进行接口实现,这种方式使得文档的编辑更加规范化,通过代码自动生成也减少了开发人员在服务端和调用端的代码量;使用本发明是基于服务网络的,利用本发明开发出的语义web服务在一定程度上减少了服务标注和关系挖掘的工作量,并且使服务网络的规模得以壮大。

【专利附图】

【附图说明】
[0025]图1为本发明所述插件的功能概述图。
[0026]图2为本发明所述插件的搜索模块流程图。
[0027]图3为本发明所述插件的创建多维度语义web服务的模块流程图。
[0028]图4为本发明所述插件的重用算法流程图。
[0029]图5为本发明所述插件重用算法工程实现过程示意图。

【具体实施方式】
[0030]该工具包括两大模块:、搜索及结果浏览模块和基于服务网络创建多维度语义web服务模块,其中:
[0031]I)搜索及结果浏览模块,分为对服务搜索和本体搜索两部分。按照用户输入的搜索条件,分别对服务网络中的服务和本体进行搜索。对搜素到的服务或本体可以进一步浏览其信息。
[0032]2)基于服务网络创建多维度语义web服务模块,在用户本地运行环境中创建新的项目工程,根据用户的选择重用相应的操作或服务,自动生成新服务的WSDL和MSDL文档,为用户提供图形化的文档编辑器进行WSDL和MSDL文档编辑,自动同步WSDL文档和MSDL文档以弥补用户疏漏而造成的文档不一致,由描述文档在新建工程源文件目录下逆向生成Java代码等功能;在用户完成接口的代码实现后,运行本发明自动生成的服务端代码将新服务进行发布;解析WSDL文档和MSDL文档将新服务的语法信息及语义信息记录在服务网络中完成新服务在服务网络中的注册。
[0033]使用所述工具构建基于服务网络的多维度语义web服务,构建流程如下:
[0034]步骤一、在服务网络中进行搜索,查找有无符合要求的服务或本体,搜索功能具体包括:
[0035]在搜索界面选择进行服务搜索或本体搜索。
[0036]A.服务搜索是对服务网络中现有的服务进行搜索。在服务搜索中可以根据服务的关键字,领域范围,所在国家以及提供者等可选条件进行联合搜索;当用户确定搜索后,判断四个搜索条件是否为空,若为空则忽略该搜索条件,默认条件下几个搜索条件均为空;若用户没有填写任何搜索条件,默认搜索SN中的所有服务;搜索完成后,用户可以对搜索结果进行更进一步的浏览和查看,包括服务的基本信息、所包含的操作的信息、服务质量以及运行信息。
[0037]B.本体搜索是对服务网络中现有的本体概念进行搜索。在本体搜索中以树状展示服务网络中的本体结构;选择相应的本体概念查看其对象属性和数据属性。
[0038]步骤二、新建多维度语义web服务,在步骤一的结果的基础上,创建满足多维度语义规范的语义web服务,具体包括:
[0039]A.用户输入服务名称及该新建的项目在本机的保存地址
[0040]B.根据A中的输入结果,新建项目工程,并导入到eclipse的工作空间下,同时刷新eclipse当前工作空间,在左侧导航栏中显示该工程。
[0041 ] C.在项目目录下生成服务的WSDL文档和MSDL文档
[0042]D.对搜索过程中希望重用的操作或服务进行复用,相应更新服务的WSDL文档和MSDL文档
[0043]E.对WSDL文档和MSDL文档进行修改、添加等编辑工作
[0044]F.同步服务的WSDL文档和MSDL文档,避免二者不一致
[0045]G.根据服务描述文档逆向生成java文件存放在新建项目的源文件目录下,生成的文件包括数据类型定义、服务端代码、客户端调用代码、接口定义及实现类等。
[0046]H.用户实现对相应接口进行实现。
[0047]1.运行服务端代码进行服务发布
[0048]J.解析WSDL文档和MSDL文档将服务的语法信息和语义信息记录到服务网络中,完成服务注册。
[0049]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0050]本发明的功能概述图如图1所示
[0051]如图1所示,本发明主要分为两个模块,分别是搜素及结果浏览模块和构建多维度语义web服务模块。下面分别对各模块的主要功能做简单介绍。
[0052]一.搜索及结果浏览模块
[0053]该模块的主要功能是提供给用户对服务网络中的服务和本体进行搜索。涉及的操作分别为:
[0054]I)创建搜索编辑器
[0055]2)多条件联合搜索的服务搜索功能
[0056]3)本体结构展示
[0057]该对服务网络中的服务进行搜索主要有两个目的:1.用户可以查看相关的服务的描述文档,从直接在此多维度语义Web服务描述的基础上进行修改;2.用户可以重用SN中相关的服务,查看该服务的输入和输出,从而更好地定义开发自己的服务,使得新开发的服务能够与已有服务较好组合。
[0058]搜索结果浏览功能显示服务搜索功能返回的服务结果。用户选择一个服务,可以点击查看详情,查看服务的多维度语义信息以及服务的描述文档。
[0059]基于多维度语义模型的Web服务离不开本体的语义支持,因此,在具体编码之前,服务开发者可以搜索SN的本体,根据自己的需求选择需要的本体,用户可以浏览SN中已有本体的具体信息,从而确定是否选择该本体。
[0060]二.构建多维度语义web服务模块
[0061]该模块的主要功能是帮助用户简单便捷地创建一个多维度语义web服务。所包括的功能为:在用户决定新建服务时会自动在其指定位置新建项目工程,并导入到eclipse的当前工作空间下,刷新eclipse的当前工作区使用户在左侧项目列表处即可看到新建项目;在项目目录下生成两个文档,分别为该新建服务的WSDL文档和MSDL文档;重用用户所选择的操作/服务,并相应地更新服务的WSDL文档和MSDL文档;为用户提供WSDL和MSDL的编辑页面,用户可以手动修改编辑文档内容。在每次执行重用算法后,刷新文档编辑器内的内容;同步WSDL和MSDL,为避免由于用户手动操作而使得服务的WSDL文档和MSDL文档不一致;根据服务描述文档,在项目的源文件目录下,逆向生成java文件,生成的java文件包括使用到的数据结构定义、接口的定义及实现类、服务的服务端代码以及客户端调用代码;服务发布与注册。在用户实现接口后,运行服务端代码将服务进行发布。解析WSDL文档和MSDL文档,将其中的语法信息以及语义信息记录到服务网络中,完成服务注册。
[0062]所涉及的操作为:
[0063]I)插件中创建新的项目工程
[0064]2)重用服务网络中的服务或服务的操作,并更新WSDL和MSDL文档
[0065]3)同步 WSDL 和 MSDL 文档
[0066]4)由服务描述文档生成java文件
[0067]5)服务的发布与注册
[0068]该模块为开发者开发一个满足多维度语义模型规范的web服务提供帮助以及清晰的开发流程。
[0069]如图2所示,搜索模块流程具体包括以下步骤:
[0070]步骤201、选择此次搜索是进行服务搜索或本体搜索。选择服务搜索进入步骤202,选择本体搜索进入步骤207。
[0071]步骤202、选择服务搜索的搜索条件;
[0072]步骤203、点击确定进行服务搜索;
[0073]步骤204、判断四个搜索条件选项是否为空。四个搜索条件分别为提供者,所在国,标签及领域,四个条件均可以缺省。默认情况下四个搜索条件均为空将搜索服务网络中的搜索服务;
[0074]步骤205、显示搜索结果。
[0075]步骤206、结果浏览。对于搜索到的服务可以进一步查看其详细信息。扩展editor扩展点实现服务详细信息编辑器界面。包括该服务的基本信息、操作及参数信息、质量信息和运行信息。
[0076]步骤207、进行本体搜索,展示服务网络中的本体结构。
[0077]步骤208和步骤209、对于用户选中的本体概念,显示其对象属性和数据属性。
[0078]如图3所示,创建多维度语义web服务的流程包括:
[0079]步骤301、用户输入服务名称和工程保存位置;
[0080]步骤302、根据上一步骤中用户输入,在其当前工作空间中新建项目。
[0081]步骤303、获取默认JRE系统库添加到上一步新建项目之中,并在项目中创建“bin”文件夹以及“src”文件夹,其中将bin文件夹设置为输出路径,“src”为源代码文件夹,随后生成的java文件就存在于“src”目录下。
[0082]步骤304、在该工程目录下生成WSDL和MSDL文件。
[0083]步骤305、根据搜索结果进行操作/服务重用。
[0084]步骤306、用户对WSDL或MSDL文档进行编辑。
[0085]步骤307、同步WSDL和MSDL文档。由于WSDL文档与MSDL文档分别从语法和语义的角度对服务进行描述,但二者均基于同一个服务抽象模型。插件对两个文档均提供了用户可编辑的功能。为避免使用者在编辑中的疏忽导致文档内容不一致,本插件实现了一个简单的文档同步功能。即以服务抽象模型为依据审核MSDL文档是否缺失相应功能语义。
[0086]步骤308、由描述文档逆向生成java代码。根据服务描述文档逆向生成Java代码于新建项目工程的源文件目录下,使得用户能够实现代码完成服务操作功能。
[0087]步骤309、运行自动生成的服务端java文件进行服务发布;在用户完成服务操作接口的具体实现后,可以通过运行服务端文件进行服务的发布。经发布的服务就可被客户端调用执行。
[0088]步骤310、新服务在服务网络中注册。在服务注册过程中通过对WSDL文档进行解析,抽象出多维度语义web服务模型。
[0089]提取服务抽象模型中的信息,将其作为一条新纪录插入到服务网络数据库中,SP完成新服务在服务网络中的注册。此外,对于开发者重用的服务网络中的操作,在服务网路中维持其与其他操作关系。
[0090]如图4所示,为本发明重用算法流程图,改流程具体包括如下步骤:
[0091]步骤401、用户选定重用某个操作/服务;
[0092]步骤402、判断所选节点是服务的操作还是服务本身,若为服务本身执行步骤403,若为操作执行步骤404.
[0093]步骤403、404中判断所选服务或操作在新建语义web服务中是否已经存在,即该服务/操作节点是否已经被重用
[0094]步骤405、406中执行重用所选择的操作/服务
[0095]步骤407、更新新建语义web服务的WSDL文档和MSDL文档,添加步骤405或步骤406中重用的操作/服务的语法信息和语义信息。
[0096]如图5所示,为本发明描述文档重用的工程实现过程图。接下来详细介绍算法的每部分的实现:
[0097]1.根据所选择的操作的操作名称、访问协议以及方式确定所要重用的操作。在原服务的描述文档中找到该操作的〈wsdl: operat1n〉部分。在新建服务的〈wsdl:portType>节点下新建〈wsdl:operat1n〉节点并复制所有的属性及相应的属性值。
[0098]2.添加该操作的输入输出参数定义。根据〈wsdl:1nput〉以及〈wsdl: output〉的“message”属性,在源文档中选取〈wsdl:message>中“name”属性的属性值与之相符的“message”部分添加到新文档中。
[0099]3.添加参数的数据结构。根据参数定义中的“element”属性的属性值,在〈wsdl:types〉节点下添加所用到的类型定义。其中,采用递归方式对所有使用到的类型为complexType类型的数据结构,在新文档中添加相应的数据结构定义。
[0100]4.添加操作的传输协议和风格。在相应的<wsdl:binding>节点下添加复制源文档中的相关信息。
[0101]对MSDL文档的复用主要是对功能语进行义进行复用。算法如下:
[0102]1.根据所选择的操作的操作名称、访问协议以及方式确定所要重用的操作。在新建服务的MSDL文档的功能语义定义中(<funct1nality:Funct1nality>)添加该操作信肩、O
[0103]2.在原服务的MSDL文档中复制与该操作相关的部分到新建服务的MSDL文档中。其中包括操作的目标、输入、输出、限制条件和访问协议。
[0104]3.分别复制上述几个资源(目标、输入、输出、限制条件和访问协议)在MSDL文档中的所有属性及对应的属性值。
【权利要求】
1.一种多维度语义web服务开发方法,其特征是,包括如下步骤: .1)搜索及结果浏览步骤,分为对服务搜索和本体搜索两部分;按照用户输入的搜索条件,分别对服务网络SN (Services Network)中的服务和本体进行搜索,对搜素到的服务或本体进一步浏览其信息; .2)基于服务网络创建多维度语义web服务模块,在用户本地运行环境中创建新的项目工程,根据用户的选择重用相应的操作或服务,自动生成新服务的WSDL和MSDL文档,为用户提供图形化的文档编辑器进行WSDL和MSDL文档编辑,自动同步WSDL文档和MSDL文档以弥补用户疏漏而造成的文档不一致,由描述文档在新建工程源文件目录下逆向生成Java代码等功能;在用户完成接口的代码实现后,运行本发明自动生成的服务端代码将新服务进行发布;解析WSDL文档和MSDL文档将新服务的语法信息及语义信息记录在服务网络中完成新服务在服务网络中的注册。
2.如权利要求1所述的多维度语义web服务开发方法,其特征是,搜索及结果浏览步骤具体流程如下:在服务网络中进行搜索,查找有无符合要求的服务或本体,搜索功能具体包括:在搜索界面选择进行服务搜索或本体搜索: A.服务搜索是对服务网络中现有的服务进行搜索,在服务搜索中可以根据服务的关键字,领域范围,所在国家以及提供者等可选条件进行联合搜索;当用户确定搜索后,判断四个搜索条件是否为空,若为空则忽略该搜索条件,默认条件下几个搜索条件均为空;若用户没有填写任何搜索条件,默认搜索SN中的所有服务;搜索完成后,用户可以对搜索结果进行更进一步的浏览和查看,包括某个服务的基本信息、所包含的操作的信息、服务质量以及运行信息; B.本体搜索是对服务网络中现有的本体概念进行搜索,在本体搜索中以树状展示服务网络中的本体结构;选择相应的本体概念查看其对象属性和数据属性。
3.如权利要求1所述的多维度语义web服务开发方法,其特征是,基于服务网络创建多维度语义web服务模块,即创建满足多维度语义规范的语义web服务,具体包括: A.用户输入服务名称及该新建的项目在本机的保存地址; B.根据A中的输入结果,新建项目工程,并导入到eclipse的工作空间下,同时刷新eclipse当前工作空间,在左侧导航栏中显示该工程; C.在项目目录下生成服务的WSDL文档和MSDL文档; D.对搜索过程中希望重用的操作或服务进行复用,相应更新服务的WSDL文档和MSDL文档; E.对WSDL文档和MSDL文档进行修改、添加等编辑工作; F.同步服务的WSDL文档和MSDL文档,避免二者不一致; G.根据服务描述文档逆向生成java文件存放在新建项目的“src”源文件目录下,生成的文件包括数据类型定义、服务端代码、客户端调用代码、接口定义及实现类; H.用户实现对相应接口进行实现; i.运行服务端代码进行服务发布; J.解析WSDL文档和MSDL文档将服务的语法信息和语义信息记录到服务网络中,完成服务注册。
【文档编号】G06F9/44GK104239068SQ201410524370
【公开日】2014年12月24日 申请日期:2014年9月30日 优先权日:2014年9月30日
【发明者】冯志勇, 林美辰, 陈世展, 张祯 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1