首页> 中国专利> 一种基于面向服务的架构的服务发布方法及装置

一种基于面向服务的架构的服务发布方法及装置

摘要

本发明公开了一种基于面向服务的架构的服务发布方法,所述方法包括:确定文档规范,并根据所述文档规范编写文档;确定所编写的文档不符合所述文档规范时,查找出不符合所述文档规范的部分,并根据所述文档规范重新编写不符合所述文档规范的部分,直至所述文档符合所述文档规范;根据所述文档规范与Webservice服务描述语言WSDL文件规范的对应关系,将所述文档转换为WSDL文件;利用开源工具将所述WSDL文件发布为Webservice服务。本发明还公开了一种基于面向服务的架构的服务发布装置。采用本发明,能够避免在编译过程中出现的错漏的情况,从而缩短开发周期。

著录项

  • 公开/公告号CN104298490A

    专利类型发明专利

  • 公开/公告日2015-01-21

    原文格式PDF

  • 申请/专利权人 深圳中兴网信科技有限公司;

    申请/专利号CN201310296146.0

  • 发明设计人 李盼;

    申请日2013-07-15

  • 分类号G06F9/44;G06F17/30;

  • 代理机构北京派特恩知识产权代理有限公司;

  • 代理人张振伟

  • 地址 518000 广东省深圳市南山区高新区南区科技南路中兴通讯一期A座

  • 入库时间 2023-12-17 04:06:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-30

    授权

    授权

  • 2015-02-18

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20130715

    实质审查的生效

  • 2015-01-21

    公开

    公开

说明书

技术领域

本发明涉及基于面向服务的架构(Service Oriented Architecture,SOA)的 服务发布技术,尤其涉及一种基于面向服务的架构的服务发布方法及装置。

背景技术

面向服务的架构,是一种新的构造分布式应用程序的方法,它将企业应用 中分散的功能组织成可以共享的基于标准的服务,这些服务能够迅速地被组合 和重用,从而达到了快速响应业务需求的目的。由于Webservice特有的与平台 无关、与编程语言无关等特性,成为系统集成中使用非常广泛的技术,并且 Webservice作为一项工业标准,已经得到越来越多厂商的支持;因此,在业内 实现SOA服务大多是以Webservice服务的方式发布。

在开发基于SOA应用的系统中,如何方便、快速地将现有业务功能发布成 Webservice供外部系统调用,在系统的集成阶段变得日益重要。现有技术中, SOA服务的发布过程如下:文档——WSDL文件——Webservice服务。在上述 SOA服务的发布过程中,服务的定义和服务的描述通常需要编写文档,详细介 绍服务的输出输入、每个字段的含义等信息。通常SOA服务人员根据此文档, 开发SOA服务,SOA服务调用人员又需要根据此文档调用服务。其中, Webservice服务描述语言(Web Services Description Language,WSDL)作为 Webservice交流的中介,是一门基于XML的语言,描述了Webservice的服务 定义以及服务的通信,是跨平台的。而上述将文档转换成WSDL文件的过程一 般是由手工编写完成的,由于WSDL文件晦涩难懂不便于阅读,因此容易出现 错漏的情况,从而导致开发周期长。

发明内容

有鉴于此,本发明的主要目的在于提供一种基于面向服务的架构的服务发 布方法及装置,能够避免在编译过程中出现的错漏的情况,从而缩短开发周期。

为达到上述目的,本发明的技术方案是这样实现的:

本发明提供了一种基于面向服务的架构的服务发布方法,所述方法包括: 确定文档规范,并根据所述文档规范编写文档;确定所编写的文档不符合所述 文档规范时,查找出不符合所述文档规范的部分,并根据所述文档规范重新编 写不符合所述文档规范的部分,直至所述文档符合所述文档规范;根据所述文 档规范与Webservice服务描述语言WSDL文件规范的对应关系,将所述文档转 换为WSDL文件;利用开源工具将所述WSDL文件发布为Webservice服务。

上述方案中,所述文档规范至少包括有服务信息表格,所述服务信息表格 至少包括服务标识信息和服务类型信息。

上述方案中,所述文档包括有输入和输出,所述文档规范包括:所述输入 为至少包括字段名称、字段类型的信息的输入表格,所述输出为至少包括字段 名称、字段类型的信息的输出表格。

上述方案中,所述文档的输入和输出中的数据为第一复杂对象数据时,所 述文档规范包括:所述第一复杂对象数据为以所述第一复杂对象数据的字段名 命名的表格;所述第一复杂对象数据中的数据为第二复杂对象数据时,所述文 档规范包括:所述第二复杂对象数据为以所述第一复杂对象数据的字段名命名 的表格;所述文档的输入和输出中复杂对象数据具有同一字段类型时,所述文 档规范包括:所述输入中的复杂对象数据与所述输出中的复杂对象数据为同一 数据。

上述方案中,所述文档为word文档、和/或excel文档;对应的,所述表格 为word文档中的表格和/或excel文档中的sheet。

本发明还提供了一种基于面向服务的架构的服务发布装置,所述装置包括 第一确定单元、编写单元、第二确定单元、查找单元、转换单元和发布单元; 其中,所述第一确定单元,用于确定文档规范;

所述编写单元,用于根据所述文档规范编写文档;所述第二确定单元,用 于确定所编写的文档不符合所述文档规范时触发所述查找单元,确定所编写的 文档符合所述文档规范时,触发所述转换单元;所述查找单元,用于查找出不 符合所述文档规范的部分时,触发所述编写单元根据所述文档规范重新编写不 符合所述文档规范的部分;所述转换单元,根据所述文档规范与Webservice服 务描述语言WSDL文件规范的对应关系,将所述文档转换为WSDL文件;所 述发布单元,用于利用开源工具将所述WSDL文件发布为Webservice服务。

上述方案中,所述文档规范至少包括有名称为服务信息的服务信息表格, 所述服务信息表格包括服务标识信息和服务类型信息。

上述方案中,所述文档包括有输入和输出时,所述文档规范包括:所述输 入为至少包括字段名称、字段类型的信息的输入表格,所述输出为至少包括字 段名称、字段类型的信息的输出表格。

上述方案中,所述文档的输入和输出中的数据为第一复杂对象数据时,所 述文档规范包括:所述第一复杂对象数据为以所述第一复杂对象数据的字段名 命名的表格;所述第一复杂对象数据中的数据为第二复杂对象数据时,所述文 档规范包括:所述第二复杂对象数据为以所述第一复杂对象数据的字段名命名 的表格;所述文档的输入和输出中复杂对象数据具有同一字段类型时,所述文 档规范包括:所述输入中的复杂对象数据与所述输出中的复杂对象数据为同一 数据。

上述方案中,所述文档为word文档、和/或excel文档;对应的,所述表格 为word文档中的表格和/或excel文档中的sheet。

本发明提供的基于面向服务的架构的服务发布方法及装置,先确定文档规 范,并根据所述文档规范编写文档;再确定所编写的文档不符合所述文档规范 时,查找出不符合所述文档规范的部分,并根据所述文档规范重新编写不符合 所述文档规范的部分,直至所述文档符合所述文档规范;然后,根据所述文档 规范与Webservice服务描述语言WSDL文件规范的对应关系,将所述文档转换 为WSDL文件;最后,利用开源工具将所述WSDL文件发布为Webservice服 务;如此,能够避免在编译过程中出现的错漏的情况,从而缩短开发周期。

附图说明

图1为本发明基于面向服务的架构的服务发布方法的实现流程示意图;

图2为本发明基于面向服务的架构的服务发布装置的组成示意图。

具体实施方式

本发明的基本思想是:先确定文档规范,并根据所述文档规范编写文档; 再确定所编写的文档不符合所述文档规范时,查找出不符合所述文档规范的部 分,并根据所述文档规范重新编写不符合所述文档规范的部分,直至所述文档 符合所述文档规范;然后,根据所述文档规范与Webservice服务描述语言WSDL 文件规范的对应关系,将所述文档转换为WSDL文件;最后,利用开源工具将 所述WSDL文件发布为Webservice服务。

这里,所述文档规范至少包括有服务信息表格,所述服务信息表格至少包 括服务标识信息和服务类型信息。

这里,所述文档包括有输入和输出时,所述文档规范包括:所述输入为至 少包括字段名称、字段类型的信息的输入表格,所述输出为至少包括字段名称、 字段类型的信息的输出表格。

这里,所述文档的输入和输出中的数据为第一复杂对象数据时,所述文档 规范包括:所述第一复杂对象数据为以所述第一复杂对象数据的字段名命名的 表格;

所述第一复杂对象数据中的数据为第二复杂对象数据时,所述文档规范包 括:所述第二复杂对象数据为以所述第一复杂对象数据的字段名命名的表格;

所述文档的输入和输出中复杂对象数据具有同一字段类型时,所述文档规 范包括:所述输入中的复杂对象数据与所述输出中的复杂对象数据为同一数据。

这里,所述文档为word文档、和/或excel文档;对应的,所述表格为word 文档中的表格和/或excel文档中的sheet。

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

图1为本发明基于面向服务的架构的服务发布方法的实现流程示意图,如 图1所示,该基于面向服务的架构的服务发布方法包括以下步骤:

步骤101,确定文档规范,并根据所述文档规范编写文档;

这里,所述文档规范至少包括:名称为服务信息的服务信息表格,所述服 务信息表格用于描述服务信息,至少包括服务标识和服务类型;其中,所述服 务类型包括读出和/或写入。

所述文档包括输入和输出时,所述文档规范包括:所述输入为名称为输入 的输入表格,所述输入表格用于描述输入,且至少包括字段名称、字段类型; 所述输出为名称为输出的输出表格,所述输出表格用于描述输出,且至少包括 字段名称、字段类型。

3)所述文档的输入和输出中的数据为第一复杂对象数据时,所述文档规范 包括:所述第一复杂对象数据为以所述第一复杂对象数据的字段名命名的表格;

所述第一复杂对象数据中的数据为第二复杂对象数据时,所述文档规范包 括:所述第二复杂对象数据为以所述第一复杂对象数据的字段名命名的表格;

所述文档的输入和输出中复杂对象数据具有同一字段类型时,所述文档规 范包括:所述输入中的复杂对象数据与所述输出中的复杂对象数据为同一数据。

上述确定的文档规范是一些基本的文档规范,本领域的技术人员在实际应 用过程中可进行相应的调整。例如:所述文档规范可以是:

所述服务信息表格还可以包括服务名称、服务描述、同步/异步方式、实现 方式业务场景说明、业务规则和逻辑、出错和异常处理机制、数据量、响应时 间要求、服务安全和权限要求、使用建议和其他等。其中,所述实现方式包括 Webservice、Java消息服务(Java Message Service,JMS)和Oracle的数据集成 类工具(Oracle Data Integrator,ODI)。

所述输入表格还可以包括序号、字段描述、要求和字段约束等。其中,所 述要求包括是(Y)和否(N),用于描述输入表格中的数据是否是必填的信息, 若是,则要求选项中的备注为Y,反之,则要求选项中的备注为N。

所述输出表格还可以包括序号、字段描述、要求和字段约束等。

所述输入表格和所述输出表格中的数据可包括简单对象数据和复杂对象数 据。所述简单对象数据为文本数据(包括字符数据和数值),例如:北京,深圳, 数字(1、2、3),或者货币,例如货币类型数据:¥123.25等;而所述复杂对 象数据为非简单对象类型的数据,需要通过表格来进一步描述的数据。

步骤102,确定所编写的文档不符合所述文档规范时,查找出不符合所述 文档规范的部分,并根据所述文档规范重新编写不符合所述文档规范的部分, 直至所述文档符合所述文档规范;

步骤102旨在维护所述文档规范,以防止在将文档转换为WSDL文件过程 中出现错漏的情况。

步骤103,根据所述文档规范与Webservice服务描述语言WSDL文件规范 的对应关系,将所述文档转换为WSDL文件;

这里,可根据所述文档规范与Webservice服务描述语言WSDL文件规范的 对应关系确定转换模块,所述转换模块用于根据所述文档自动生成WSDL文件; 所述转换模块为根据所述文档规范和WSDL文件的相关规范编程的程序。优选 的,所述程序为采用Java面向对象程序设计语言(Java语言)编写的程序。利 用所述转换模块可不但能够避免在编译过程中出现的错漏的情况,而且能够缩 短开发周期,提高效率。

步骤104,利用开源工具将所述WSDL文件发布为Webservice。

这里,所述开源工具为Webservice的开源工具AXIS和CXF。本领域的技 术人员可根据各种现有技术来实现本发明的步骤104,这里不再赘述。

以下结合具体的实施例,对本发明的技术方案的具体实施过程作进一步详 细阐述。

实施例:假设欲发布的SOA服务的名称为同步过滤条件信息服务,该服务 用于网管系统需要向资源同步数据时,使用本服务设置同步过滤条件,资源系 统接收到过滤条件后,即开始准备数据并将结果上传到文件服务器,因此该 SOA的服务描述为网管系统通过本服务在资源系统里设置同步过滤条件,包 括:同步时间/周期/同步模式增量/全量/资源对象;服务的类型为写入模式,并 采用同步方式来实现;发布方式采用Webservice;要求实时调用,且调用时间 小于5秒;数据量大约在100KB以内。该SOA服务的业务规则和逻辑包括:

1)目前只支持到实体对象级别的条件设置;

2)如果对象实体参数为空,则要获取的资源对象就是接口定义提到的所有 资源对象;

3)资源系统要根据网管系统设置的同步模式去准备相应的数据。即如果是 全量同步,则综合网管要提供全量数据;如果是增量模式,则综合网管需要提 供增量数据;

4)资源系统获取全量数据后要和系统内原有数据进行比对,确认后在入库;

5)资源系统获取增量数据后经手工或者自动确认后才可以入库;

6)在资源系统正在准备数据的时候,是不允许网管系统调用该接口进行设 置。

该基于面向服务的架构服务包括输入和输出,输入对应的输入表格包括20 项数据,输出对应的输出表格包括5项数据,输入表格和输出表格的数据项中 均含有复杂数据对象。

步骤201,确定文档规范,并根据所述文档规范编写文档;

由于该基于面向服务的架构服务包括输入和输出,并且输入或输出中包括 复杂对象数据,因此,可将文档规范确定为下述的文档规范:

1)所述服务信息表格包括服务标识、服务名称、服务描述、服务类型、同 步/异步方式、实现方式业务场景说明、业务规则和逻辑、出错和异常处理机制、 数据量、响应时间要求、服务安全和权限要求和使用建议等。

2)所述输入表格用于描述输入,且包括序号、字段名称、字段类型、字段 描述和备注;所述输入表格用于描述输入,且包括序号、字段名称、字段类型、 字段描述和备注;

所述文档的输入和输出中的复杂对象数据以所述第一复杂对象数据的字段 名命名的表格;

假设该基于SOA服务的文档采用word文档,基于步骤201的描述,步骤 202所编写的文档至少包括如表1所示的服务信息表格、如表2所示的输入表 格、如表4所示的输出表格以及如表3、表5和表6所示的复杂对象数据的表 格。其中,

所述输入表格一共包括20项,第20项字段名称为class_id_list,其字段类 型为数据实体,表明该项为复杂对象数据,因此,第20项数据应该含有以 class_id_list为名称的表格(如表3所示),以进一步地表示该复杂对象数据。 表3中的字段类型为表示字符数据的varchar2,由于字符数据为简单对象数据, 因此无需再通过表格来表述该数据项。

所述输出表格包括5项,其中第4项和第5项的数据类型均为复杂对象数 据,因此第4项和第5项分别以ErrorCollection和ResponseCollection为表格名 称建立表5和表6。表5和表6中的字段类型均为简单对象,因此无需通过其 他表格来表示其中的数据对象。如果表5和表6中数据的字段类型仍为复杂对 象,则还需要通过表格来表示该数据。

当然,该服务也可采用excel文档,采用excel文档时与word文档类似, 这里不再赘述。需要说明的是表1至表6中的类型、数据和内容等,本领域的 技术人员可以根据本领域的相关常识进行相应的改动,只要所编写的表格符合 本发明提出的文档规范即可。

表1

表2

表3

表4

表5

表6

步骤202,确定所编写的文档不符合所述文档规范时,查找出不符合所述 文档规范的部分,并根据所述文档规范重新编写不符合所述文档规范的部分, 直至所述文档符合所述文档规范;

步骤203,根据所述文档规范与Webservice服务描述语言WSDL文件规范 的对应关系,将所述文档转换为WSDL文件;

步骤204,利用开源工具将所述WSDL文件发布为Webservice服务。

本发明还提供了一种基于面向服务的架构的服务发布装置,图2是本发明 基于面向服务的架构的服务发布装置的组成示意图,如图2所示,所述装置包 括第一确定单元21、编写单元22、第二确定单元23、查找单元24、转换单元 25和发布单元26;其中,

所述第一确定单元21,用于确定文档规范;

所述编写单元22,用于根据所述文档规范编写文档或根据所述文档规范重 新编写不符合所述文档规范的部分;

所述第二确定单元23,用于确定所编写的文档不符合所述文档规范时触发 所述查找单元24,以及确定所编写的文档符合所述文档规范时,触发所述转换 单元25;

所述查找单元24,用于查找出不符合所述文档规范的部分时,并触发所述 编写单元22根据所述文档规范重新编写不符合所述文档规范的部分;

所述转换单元25,根据所述文档规范与Webservice服务描述语言WSDL 文件规范的对应关系,将所述文档转换为WSDL文件;

所述发布单元26,用于利用开源工具将所述WSDL文件发布为Webservice 服务。

这里,所述文档规范至少包括有名称为服务信息的服务信息表格,所述服 务信息表格包括服务标识信息和服务类型信息。

所述文档包括有输入和输出时,所述文档规范包括:所述输入为至少包括 字段名称、字段类型的信息的输入表格,所述输出为至少包括字段名称、字段 类型的信息的输出表格。

所述文档的输入和输出中的数据为第一复杂对象数据时,所述文档规范包 括:所述第一复杂对象数据为以所述第一复杂对象数据的字段名命名的表格;

所述第一复杂对象数据中的数据为第二复杂对象数据时,所述文档规范包 括:所述第二复杂对象数据为以所述第一复杂对象数据的字段名命名的表格;

所述文档的输入和输出中复杂对象数据具有同一字段类型时,所述文档规 范包括:所述输入中的复杂对象数据与所述输出中的复杂对象数据为同一数据。

这里,所述文档为word文档、和/或excel文档;对应的,所述表格为word 文档中的表格和/或excel文档中的sheet。

本领域的技术人员应当理解,图2所示的基于面向服务的架构的服务发布 装置的各处理单元的实现功能可参照前述基于面向服务的架构的服务发布方法 的相关描述而理解。显然,本领域的技术人员应该明白,上述的本发明的各处 理单元或各步骤可以用通用的计算装置来实现,其可以集中在单个的计算装置 上,或者分布在多个计算装置所组成的网络上,可选地,其可以用计算装置可 执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执 行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步 骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和 软件结合。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号