一种基于语义的自动化服务适配方法与流程

文档序号:21550383发布日期:2020-07-21 10:55阅读:191来源:国知局
一种基于语义的自动化服务适配方法与流程

本发明涉及一种基于语义的自动化服务适配方法,属于软件技术领域。



背景技术:

在传统的服务计算模式中,服务之间彼此孤立忽略了服务之间的协作关系,服务组合在低效被动中进行。因而,基于语义和服务关系的服务组合已成为快速高效自动化服务组合的前提,也是构建语义感知web服务的关键。但是,服务组合因如下制约因素仍受到挑战:

首先,服务组合可能受到服务之间语法不匹配的限制。为实现业务上的链接和协作,参与服务组合的web服务在语义上存在相关性,但也要满足语法规则的匹配。即组合中前一个服务的输出参数与后一个服务的输入参数在参数个数、类型、格式、顺序等相互吻合。然而,在服务组合过程中,往往由于这类参数语法的限制,导致了原本语义上存在相关性的服务却无法组合。例如,操作“ipquary”根据ip地址获取所对应的地理位置信息,输出包括所在地城市、所在地邮编及经纬度等等。操作“getweatherbyzipcode”提供根据邮编获取天气预报信息的服务,输入为地区邮编码。当需求为获取某ip地址所在地的天气预报时,由于参数个数不匹配导致服务组合失败。一种可能的解决方案是在两个服务间添加服务适配器,对不匹配的语法进行转化,可能的操作包括:添加默认参数值、参数类型转换、参数格式转换、参数位置调整、以及去掉不必要参数等等。

其次,服务间的组合除受上述语法限制外,还受到了功能欠缺的阻碍。往往存在属于同一或相似领域的两条组合链或者业务流程,由于某一部分功能的欠缺,导致两条业务流不能链接形成更大粒度的业务单元从而满足更加复杂的业务需求。若是能在两条相关的组合链之间添加一个适配服务,弥补两个业务链间在功能上的差异,将会实现更大粒度上的组合。例如,操作“getcitybyzip”提供获取邮编所对应城市的服务,输出为该城市的经纬度坐标,操作“getweatherbycity”提供查询城市天气的服务,输入为城市名称。由于缺少从经纬度获取对应城市的功能,两个服务之间的组合受限。若存在一个适配器,提供缺失的功能,就可以弥补两条业务流间的功能差异,实现业务流的链接。

在上述两种适配器的开发过程中,其主旨思想是应复用前一个服务的输出和后一个服务的输入作为适配器的输入和输出参数。若是能实现自动的复用web服务的输入输出构建适配器,将会极大的减少开发工作量,降低出错概率。最后,在服务构建时,若能以复用的方式进行开发,重用一些已有接口语义和语法信息,在服务组合过程中就能极大减少以上两种组合障碍。这是因为经复用构建的服务,在语法上保持了原有服务的语法规则,在语义上复用了原有服务中相关的语义信息以及与其他服务之间的关系。



技术实现要素:

本发明的目的:基于上述原因,本发明设计并实现本发明的目的:基于上述原因,本发明一种基于语义的自动化服务适配方法。在现有eclipse开发平台上集成语义web服务开发工具,该工具能够减少开发工作量,简化后续语义标注和关系挖掘过程。更可以依据该工具快速便捷地开发服务适配器,弥补服务之间的语法和功能差异,实现潜在的服务组合。

本发明的原理:本发明以服务网络基础,结合wsdl2code的服务开发方式(wsdl2code即先创建服务的wsdl文档,根据文档定义抽象出服务接口类,再进行业务逻辑的编码实现。wsdl即web服务描述语言),在现有集成开发平台eclipse上,以插件的形式,实现了基于复用思想的web服务开发工具。以“复制”的方式继承了已有的操作或操作参数的语法和语义信息,快速构建规范化的服务描述文档。

本发明技术解决方案:一种方法,其特点在于实现步骤如下:

第一步,以复用的方式开发服务描述文档,通过复用服务网络中已有web服务的描述及其本体概念,生成规格化的服务描述文档;

第二步,由文档生成java语言代码桩;

第三步,开发者进行具体代码实现;

第四步,发布服务并注册到服务网络。

本发明与现有技术相比具有如下优点:该方法既可以用于适配器服务的创建,又充分利用服务网络中已有的语义标注和关系挖掘的结果,丰富服务网络中的节点,对消除服务网络中服务语义冲突和歧义有积极意义。

附图说明

图1为系统结构图。

具体实施方式

以下结合具体实施例和附图对本发明进行详细说明,如图1所示,本发明实施例方法流程:

本发明所述开发工具包括三大部分,如图1所示分别为搜索模块、服务创建模块以及发布注册模块。搜索模块包括服务发现和本体结构展示,通过联合多条件的搜索模式,服务网络中的服务的多个语义维度进行搜索,返回服务的基本信息和5个维度的语义文档,并以可视化的方式展示服务网络中本体结构;服务开发模块,是本工具的核心部分,提供一套完整的服务开发流程,包括工程创建、操作或参数复用、文档和代码生成等;发布注册模块,完成服务发布,并将新服务注册到服务网络中,最后利用服务网络中已有服务的关系,建立新发布的服务与已有服务之间的语义关系。

通过与服务网络的交互,开发者可以锁定需要复用的接口信息。在复用过程中还涉及自动化项目创建、文档生成与同步、桩代码生成及注册发布等。描述如下:

1.在开发者所选位置新建java项目工程,命名为开发者输入的服务名称;

2.在项目目录下生成新服务的web服务描述语言(wsdl)文档和多维度语义描述语言(msdl)文档;

3.根据用户重用或取消重用操作,动态更新服务的web服务描述语言(wsdl)和多维度语义描述语言(msdl)文档;

4.用户对web服务描述语言(wsdl)和多维度语义描述语言(msdl)文档进行编辑;

5.重复执行3、4步直至用户选择生成java代码选项;

6.自动同步web服务描述语言(wsdl)文档和多维度语义描述语言(msdl)文档以弥补用户疏漏而造成的文档不一致;

7.由描述文档在工程源文件目录下逆向生成java语言代码;

8.待开发者实现具体业务逻辑编码实现后,进行服务部署;

9.解析web服务描述语言(wsdl)文档和多维度语义描述语言(msdl)文档,将新服务的语法信息及语义信息记录在服务网络中,完成新服务在服务网络中的注册;

10.利用服务网络中已有的服务关系,建立新发布的服务与已有服务之间的语义关系;

11.结束。

用户利用所述工具进行服务开发的过程中只需进行必要的选择和完成业务逻辑的编码实现即可,其余全部由工具自动完成。



技术特征:

1.一种基于语义的自动化服务适配方法,方法特征在于实现步骤如下:

第一步,生成服务描述文档:使用联合多条件搜索,从服务网络中搜索多维度语义信息,形成语义本体结构,生成规格化的服务描述文档;

第二步,实现服务适配:根据服务描述文档,创建适配器开发工程,通过代码插桩适配服务,复用服务的操作和接口以生成服务代码和文档;

第三步,发布服务:将新服务注册到服务网络中,利用已有服务关系,建立新发布服务与已有服务之间的语义关系。


技术总结
发明涉及一种基于语义的自动化服务适配方法。本发明通过复用服务网络中已有服务的描述及其本体信息,生成规格化的服务描述文档,基于描述文档,通过代码插桩的方式,生成客户端和服务器端服务适配组件,以自动化实现服务适配并消除语义冲突。

技术研发人员:李扬;陈杉杉;张鼎;王晨程;秦和珂
受保护的技术使用者:神州数码信息系统有限公司
技术研发日:2019.01.14
技术公布日:2020.07.21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1