CN109032569A - 一种基于属性标签的RESTful服务自动发布方法 - Google Patents

一种基于属性标签的RESTful服务自动发布方法 Download PDF

Info

Publication number
CN109032569A
CN109032569A CN201810871086.3A CN201810871086A CN109032569A CN 109032569 A CN109032569 A CN 109032569A CN 201810871086 A CN201810871086 A CN 201810871086A CN 109032569 A CN109032569 A CN 109032569A
Authority
CN
China
Prior art keywords
service
interface
class
procedure set
attribute tags
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810871086.3A
Other languages
English (en)
Inventor
刘建华
王延东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Genersoft Information Technology Co Ltd
Original Assignee
Shandong Inspur Genersoft Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Genersoft Information Technology Co Ltd filed Critical Shandong Inspur Genersoft Information Technology Co Ltd
Priority to CN201810871086.3A priority Critical patent/CN109032569A/zh
Publication of CN109032569A publication Critical patent/CN109032569A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种基于属性标签的RESTful服务自动发布方法,属于管理软件开发技术领域,本发明适用于复杂的企业管理软件领域。基于定义的属性标签,通过自动提取属性标签内容,自动生成发布RESTful服务,简化了RESTful服务的开发过程,提高了开发的效率。

Description

一种基于属性标签的RESTful服务自动发布方法
技术领域
本发明涉及管理软件开发技术,尤其涉及一种基于属性标签的RESTful服务自动发布方法。
背景技术
随着软件技术研究的不断深入和网络技术的广泛应用,企业资源计划(Enterprise Resource Planning,ERP)类的企业管理软件也得到了广泛的应用。但是随着企业管理的模块越来越多,管理的业务越来越复杂,其对外提供标准的RESTful服务的需求就越多,因此RESTful服务的开发效率就显得尤为重要。
NET程序可以通过webapi提供标准的RESTful服务,但是这种webapi的方式存在的以下问题:首先,编写的RESTful服务必须依赖于webapi工程,导致开发的独立性很差;其次,开发一个标准的RESTful服务,必须编写自己的服务实现,同时需要编写Controller调用自己的服务实现,开发过程复杂;最后,对于业务开发者来说,需要熟悉标准RESTful的注册发布流程,浪费大量的时间和精力。
发明内容
为了解决以上技术问题,本发明提出了一种基于属性标签的RESTful服务自动发布方法。基于定义的属性标签,通过自动提取属性标签内容,自动生成发布RESTful服务,简化了RESTful服务的开发过程,提高了开发的效率。
该发明基于接口上标识的属性标签,采用自动提取、自动生成、自动注册的机制,减化了开发RESTful服务的复杂度。同时通过该发明,将Host与RESTful实现进行了解耦,增加了程序开发的灵活性,让业务开发人员更加专注于业务逻辑开发。
主要包括下几个步骤和内容,
步骤一:服务定义。服务提供者需要进行服务定义,服务定义主要包含两部分:接口类和实现类;
步骤二:服务查找。服务查找是对程序已加载到内存中的程序集进行遍历,查找出需要提取信息自动生成服务的接口和实现;
步骤三:标签解析。针对查找出来的服务,对接口上的标签进行解析,以便后续程序集和配置文件的生成;
步骤四:程序集生成。基于标签解析的结果,通过程序集生成引擎,自动生成对应的程序集;
步骤五:配置生成。基于标签解析的结果,通过配置文件生成引擎,自动生成对应的配置文件;
步骤六:服务发布。基于生成的程序集和配置文件,调用自动注册发布引擎,将生成的服务进行自动注册发布。
其中,
服务的定义。服务提供者需要定义的包含两部分:接口类和实现类,其中接口类是用来添加相关的标签信息的,包括服务的路由地址、版本、实现类、请求方式、参数获取方式等等;实现类则无需添加任何标签,只需要实现接口方法即可;
服务查找。服务查找则基于内存中已经加载的程序集,对程序集进行扫描,查找满足条件的接口;
标签解析。针对步骤二扫描得到的接口,对接口进行解析,提取其标签信息,以备后续步骤使用;
程序集生成。基于步骤三扫描得到的标签信息,自动生成类,然后编译成程序集;
配置生成。基于步骤三的解析结果和步骤四的程序集,生成注册的配置信息;
服务发布。基于步骤五生成的配置信息,调用自动服务注册发布引擎,将服务发布到Host中。
本发明的有益效果在于:
通过本发明的方式,提供了一种基于属性标签的RESTful服务自动发布方法,减化了开发RESTful服务的复杂度,将Host与RESTful实现进行了解耦,增加了程序开发的灵活性,让业务开发人员更加专注于业务逻辑开发。
附图说明
图1是基于属性标签的RESTful服务自动发布方法的架构示意图;
图2是基于属性标签的RESTful服务自动发布方法的流程示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
基于前面所述的基于属性标签的RESTful服务自动发布方法实现思路,在具体项目实施的过程中,其主要步骤如下:
1、服务定义。服务提供者需要进行服务定义,服务定义主要包含两部分:接口类和实现类,其接口定义的示例如下:
2、服务查找。服务查找是对程序已加载到内存中的程序集进行遍历,查找出需要提取信息自动生成服务的接口和实现;
3、标签解析。针对查找出来的服务,对接口上的标签进行解析,以便后续程序集和配置文件的生成,标签解析的实体类结构如下;
4、程序集生成。基于标签解析的结果,通过程序集生成引擎,自动生成对应的程序集。
5、配置生成。基于标签解析的结果,通过配置文件生成引擎,自动生成对应的配置文件,其配置文件的样式如下:
6、服务发布。基于生成的程序集和配置文件,调用自动注册发布引擎,将生成的服务进行自动注册发布。

Claims (6)

1.一种基于属性标签的RESTful服务自动发布方法,其特征在于,
基于定义的属性标签,通过自动提取属性标签内容,自动生成发布RESTful服务;
主要包括如下步骤:
步骤一:服务定义;服务提供者需要进行服务定义,服务定义主要包含两部分:接口类和实现类;
步骤二:服务查找;服务查找是对程序已加载到内存中的程序集进行遍历,查找出需要提取信息自动生成服务的接口和实现;
步骤三:标签解析;针对查找出来的服务,对接口上的标签进行解析,以便后续程序集和配置文件的生成;
步骤四:程序集生成;基于标签解析的结果,通过程序集生成引擎,自动生成对应的程序集;
步骤五:配置生成;基于标签解析的结果,通过配置文件生成引擎,自动生成对应的配置文件;
步骤六:服务发布;基于生成的程序集和配置文件,调用自动注册发布引擎,将生成的服务进行自动注册发布。
2.根据权利要求1所述方法,其特征在于,
在步骤一中,接口类是用来添加相关的标签信息的,包括服务的路由地址、版本、实现类、请求方式、参数获取方式;实现类则无需添加任何标签,只需要实现接口方法即可。
3.根据权利要求2所述方法,其特征在于,
步骤三,标签解析,针对步骤二扫描得到的接口,对接口进行解析,提取其标签信息,以备后续步骤使用。
4.根据权利要求3所述方法,其特征在于,
步骤四,程序集生成,基于步骤三扫描得到的标签信息,自动生成类,然后编译成程序集。
5.根据权利要求4所述方法,其特征在于,
步骤五:配置生成;基于步骤三的解析结果和步骤四的程序集,生成注册的配置信息。
6.根据权利要求5所述方法,其特征在于,
步骤六:服务发布;基于步骤五生成的配置信息,调用自动服务注册发布引擎,将服务发布到Host中。
CN201810871086.3A 2018-08-02 2018-08-02 一种基于属性标签的RESTful服务自动发布方法 Pending CN109032569A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810871086.3A CN109032569A (zh) 2018-08-02 2018-08-02 一种基于属性标签的RESTful服务自动发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810871086.3A CN109032569A (zh) 2018-08-02 2018-08-02 一种基于属性标签的RESTful服务自动发布方法

Publications (1)

Publication Number Publication Date
CN109032569A true CN109032569A (zh) 2018-12-18

Family

ID=64647700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810871086.3A Pending CN109032569A (zh) 2018-08-02 2018-08-02 一种基于属性标签的RESTful服务自动发布方法

Country Status (1)

Country Link
CN (1) CN109032569A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996181A (zh) * 2021-03-02 2022-09-02 北京同邦卓益科技有限公司 接口的路由方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140289366A1 (en) * 2013-03-20 2014-09-25 Korea Advanced Institute Of Science And Technology Service providing method and system for instance hosting
CN105847231A (zh) * 2016-02-23 2016-08-10 乐视体育文化产业发展(北京)有限公司 服务发布方法、装置及系统
CN106663002A (zh) * 2014-06-25 2017-05-10 甲骨文国际公司 Rest服务源代码生成

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140289366A1 (en) * 2013-03-20 2014-09-25 Korea Advanced Institute Of Science And Technology Service providing method and system for instance hosting
CN106663002A (zh) * 2014-06-25 2017-05-10 甲骨文国际公司 Rest服务源代码生成
CN105847231A (zh) * 2016-02-23 2016-08-10 乐视体育文化产业发展(北京)有限公司 服务发布方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996181A (zh) * 2021-03-02 2022-09-02 北京同邦卓益科技有限公司 接口的路由方法、装置、电子设备及存储介质
CN114996181B (zh) * 2021-03-02 2023-09-26 北京同邦卓益科技有限公司 接口的路由方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108491199A (zh) 一种自动生成接口的方法及终端
CN107463409A (zh) 一种接口转换方法、接口转换器、存储介质及电子终端
CN105243528A (zh) 大数据环境下金融it系统中图形化集中对账系统与方法
CN104077147A (zh) 一种基于代码克隆自动检测和及时提醒的软件复用方法
CN101196926A (zh) 一种数据库访问平台及其访问方法
CN104461531B (zh) 一种报表系统自定义函数的实现方法
CN109948710A (zh) 基于api相似度的微服务识别方法
Selonen et al. Transformations between UML diagrams
CN111176627A (zh) 一种基于微服务的前后端分离的装置与方法
CN100517222C (zh) 支持转换引擎与映射规则相分离的模型转换装置及其方法
CN102521008B (zh) 程序编译装置和程序编译方法
CN105404514A (zh) JavaScript渲染方法和装置
CN109299074A (zh) 一种基于模板化数据库视图的数据校验方法及系统
CN116360766A (zh) 一种基于ddd可视化设计器的低代码系统和装置
CN106201859A (zh) 一种回归测试方法及系统
CN105653669B (zh) 超文本标记语言生成方法及装置
CN109032569A (zh) 一种基于属性标签的RESTful服务自动发布方法
CN104765763B (zh) 一种基于概念格的异构空间信息服务分类的语义匹配方法
KR20110070724A (ko) 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법
CN101000618A (zh) 建立无连接的数据编程模型的方法、装置及其应用
CN116466915A (zh) 一种基于MVP架构的iOS开发框架构建方法和装置
JP2001125855A (ja) 動的Webページ生成プログラム
CN102520971A (zh) 基于cad软件的数据交互方法及装置
CN109948133A (zh) 一种基于Layui的数据表格的实现方法
Hahn et al. Modeling data transformations in data-aware service choreographies

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181218