CN109032569A - 一种基于属性标签的RESTful服务自动发布方法 - Google Patents
一种基于属性标签的RESTful服务自动发布方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software 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服务自动发布方法。
背景技术
随着软件技术研究的不断深入和网络技术的广泛应用,企业资源计划(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中。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996181A (zh) * | 2021-03-02 | 2022-09-02 | 北京同邦卓益科技有限公司 | 接口的路由方法、装置、电子设备及存储介质 |
Citations (3)
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服务源代码生成 |
-
2018
- 2018-08-02 CN CN201810871086.3A patent/CN109032569A/zh active Pending
Patent Citations (3)
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)
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 |