CN112256258A - 微服务编排自动代码生成方法及系统 - Google Patents
微服务编排自动代码生成方法及系统 Download PDFInfo
- Publication number
- CN112256258A CN112256258A CN202011140367.5A CN202011140367A CN112256258A CN 112256258 A CN112256258 A CN 112256258A CN 202011140367 A CN202011140367 A CN 202011140367A CN 112256258 A CN112256258 A CN 112256258A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- code generation
- orchestration
- automatic code
- 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 66
- 230000000007 visual effect Effects 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 5
- 238000012800 visualization Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000005111 flow chemistry technique Methods 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000004886 process control Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
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
本发明提供了一种微服务编排自动代码生成方法及系统。该方法包括:通过可视化接口,利用已开发的技术组件和业务组件进行流程编排;根据完成编排操作后的流程,自动生成可以在微服务平台上运行的代码。本发明提供的微服务编排自动代码生成方法及系统能够根据编排好的流程处理模块自动的生成代码,提高了流程处理效率。
Description
技术领域
本发明涉及微服务架构技术领域,特别是涉及一种微服务编排自动代码生成方法及系统。
背景技术
在中国专利申请CN111142867A中,提到微服务架构是一项在云中部署应用和服务的新技术。微服务可以在“自己的程序”中运行,并通过“轻量级设备与http型api进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个api)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。
api(application programming interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
通过微服务编排可以把已经开发好的api服务无需任何代码就可以进行业务逻辑的重组与重构,可以提升api服务的复用效率实现前台业务或业务系统集成的敏捷交付,通过微服务编排平台也能把业务系统、数据、业务逻辑进行解藕,业务逻辑的编排交由专门的微服务编排平台完成,而api服务只需要专注完成自已内部的逻辑即可。
然而,CN111142867A公开的技术方案中,只是生成流程处理模版,并没有直接通过服务的编排自动生成代码。
发明内容
本发明要解决的技术问题是提供一种微服务编排自动代码生成方法及系统,能够根据编排好的流程处理模块自动的生成代码,提高了流程处理效率。
为解决上述技术问题,本发明提供了一种微服务编排自动代码生成方法,所述方法包括:通过可视化界面,利用已开发的基础服务组件和业务服务组件进行流程编排;根据完成编排操作后的流程,自动生成可以在微服务平台上运行的代码。
在一些实施方式中,编排得到的流程包括:顺序、分支、循环、同步、异步、强制执行的流程控制方式。
在一些实施方式中,还包括:对自动生成的代码运行测试。
在一些实施方式中,还包括:在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之前,对流程编排过程中所需的业务逻辑处理进行统一规则创建和管理。
在一些实施方式中,还包括:在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之后,对流程编排过程中使用的业务逻辑处理进行统一规则创建和管理。
在一些实施方式中,进行流程编排的组件还包括:兼具有基础服务和业务服务的组合服务组件。
在一些实施方式中,可视化界面为:Eclipse插件框架开发的一套图形化工具插件界面。
此外,本发明还提供了一种微服务编排自动代码生成系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的微服务编排自动代码生成方法。
采用这样的设计后,本发明至少具有以下优点:
在利用可视化界面执行了流程编排之后,根据编排好的流程自动生成流程代码,使得对流程的运行效率大幅提升。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是本发明实施例提供的微服务编排自动代码生成方法的流程图;
图2是本发明实施例提供的微服务架构下的服务可视化流程调度编排系统的系统架构图;
图3是本发明实施例提供的流程编排平台的平台架构图;
图4是本发明实施例提供的组合服务平台的平台架构图;
图5是本发明实施例提供的微服务编排自动代码生成系统的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
参见图1,微服务编排是指把已经开发好的微服务api接口(restful、webservice、dubbo、grpc等)按照一定的业务逻辑和流程进行可视化编排的过程,微服务编排平台会在内部构建一个流程调度引擎进行自动化的调度或者重新聚合为一个新的微服务api进行发布。
相对于现有的微服务编排,本发明技术方案的关键点在于,可以根据完成编排的流程进行自动的代码生成。根据本发明提供的技术方案完成流程编排和代码自动生成之后,自然就获取到了编排流程的可执行代码。再次运行上述流程,仅需要执行对应的代码,能够提高流程的运行效率。
微服务架构下的服务可视化流程调度编排系统都如图2所示。参见图2,可视化流程调度编排系统包括:流程调度引擎,在流程调度引擎上,运行有前处理组件、后处理组件。前处理组件完成运行流程的前处理;后处理组件完成运行流程的后处理。前处理及后处理主要包括:对流程编排过程中的业务逻辑处理进行统一规则创建和管理。
在前处理组件和后处理组件之间,是组成系统运行流程的技术组件和业务组件。技术组件又被称为基础服务组件。业务组件又被称为业务服务组件。
包括用于监控正在调度和运行中的流程,并进行流程运行状态可视化显示和回放的编排流程监控模块。
用于对api采用可视化拖、拉、拽的方式组合编排出新的流程的可视化流程编排模块;用于将已编排好的流程重新发布为一个新的api,将已有的基础服务、业务服务、组合服务,进行流程编排,包括顺序、分支、循环、同步、异步、强制执行等流程控制方式并对新发布的api进行管理和测试的api服务管理模块。
用于对流程编排过程中所需的业务逻辑处理进行统一规则创建和管理的规则管理模块。
用于对已编排流程设定流程运行频率,并根据流程运行频率调度已编排流程的调度频率配置模块。
以及用于在内存中根据编排的节点流程进行节点构建代码并推进执行。
图3示出了流程编排平台的平台架构。参见图3,流程编排平台通过将串行、并行、分支、循环等流程控制组件集合至资源池中,再根据资源池中的流程控制组件构建服务编排模型,自动生成代码,以及执行服务测试。
参见图4,IDE是组合服务平台的一个重要组成部分。IDE是基于Eclipse插件框架开发的一套图形化工具插件,以多种视图、向导、编辑器等图形化的模式引导开发人员自动生成并管理组合服务平台的各类资源。如果这些资源的相关配置文件全部由手工编写,则工作量巨大,过程困难繁琐,并且容易出错。通过IDE对组合服务运行平台的原子服务、基础服务、组合服务、流程等资源进行一站式的开发,测试,管理,提高开发效率和质量,降低知识转移难度。
最后输出流程执行结果给调用端的流程执行流程引擎进行测试。
图5示出了微服务编排自动代码生成系统的结构。参见图5,例如,所述微服务编排自动代码生成系统500可以用于充当微服务系统中的代码自动生成系统。如本文所述,微服务编排自动代码生成系统500可以用于在微服务系统中实现对微服务编排的代码自动生成功能。微服务编排自动代码生成系统500可以在单个节点中实现,或者微服务编排自动代码生成系统500的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语微服务编排自动代码生成系统包括广泛意义上的设备,图4中示出的微服务编排自动代码生成系统500仅是其中一个示例。包括微服务编排自动代码生成系统500是为了表述清楚,并不旨在将本发明的应用限制为特定的微服务编排自动代码生成系统实施例或某一类微服务编排自动代码生成系统实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,微服务编排自动代码生成系统500中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。微服务编排自动代码生成系统500可以是任何通过网络处理,存储和/或转发数据帧的设备,例如,服务器,客户端,数据源等。如图5所示,微服务编排自动代码生成系统500可以包括收发器(Tx/Rx)510,其可以是发射器,接收器,或其组合。Tx/Rx510可以耦合到多个端口550(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器530可耦合至Tx/Rx510,以处理帧和/或确定向哪些节点发送帧。处理器530可以包括一个或多个多核处理器和/或存储器设备532,其可以用作数据存储器,缓冲区等。处理器530可以被实现为通用处理器,或者可以是一个或多个专用集成电路(application specific integrated circuit,简称ASIC)和/或数字信号处理器(digital signal processor,简称DSP)的一部分。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (8)
1.一种微服务编排自动代码生成方法,其特征在于,包括:
通过可视化界面,利用已开发的基础服务组件和业务服务组件进行流程编排;
根据完成编排操作后的流程,自动生成可以在微服务平台上运行的代码。
2.根据权利要求1所述的为服务编排自动代码生成方法,其特征在于,编排得到的流程包括:顺序、分支、循环、同步、异步、强制执行的流程控制方式。
3.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:
对自动生成的代码运行测试。
4.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:
在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之前,对流程编排过程中所需的业务逻辑处理进行统一规则创建和管理。
5.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:
在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之后,对流程编排过程中使用的业务逻辑处理进行统一规则创建和管理。
6.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,进行流程编排的组件还包括:兼具有基础服务和业务服务的组合服务组件。
7.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,可视化界面为:Eclipse插件框架开发的一套图形化工具插件界面。
8.一种微服务编排自动代码生成系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至7任意一项所述的微服务编排自动代码生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140367.5A CN112256258A (zh) | 2020-10-22 | 2020-10-22 | 微服务编排自动代码生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140367.5A CN112256258A (zh) | 2020-10-22 | 2020-10-22 | 微服务编排自动代码生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256258A true CN112256258A (zh) | 2021-01-22 |
Family
ID=74264184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011140367.5A Pending CN112256258A (zh) | 2020-10-22 | 2020-10-22 | 微服务编排自动代码生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256258A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220283A (zh) * | 2021-05-10 | 2021-08-06 | 国网陕西省电力公司信息通信公司 | 一种基于云编排的物联app开发系统 |
CN113703749A (zh) * | 2021-09-06 | 2021-11-26 | 河北雄安新区公安局 | 一种基于可视化编程技术的信息系统及其构建方法 |
CN114385150A (zh) * | 2021-09-18 | 2022-04-22 | 北京能科瑞元数字技术有限公司 | 基于智能引擎的低代码开发方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888681A (zh) * | 2017-11-09 | 2018-04-06 | 北京中电普华信息技术有限公司 | 一种业务流程处理方法及装置 |
CN109710215A (zh) * | 2018-12-25 | 2019-05-03 | 福建南威软件有限公司 | 分布式流计算的可视化流程处理引擎及其使用方法 |
CN109766166A (zh) * | 2018-12-29 | 2019-05-17 | 优刻得科技股份有限公司 | 业务流程处理方法、装置、存储介质和设备 |
CN110286884A (zh) * | 2019-06-21 | 2019-09-27 | 北京百度网讯科技有限公司 | 微服务编排方法、装置、设备及计算机可读存储介质 |
CN110532020A (zh) * | 2019-09-04 | 2019-12-03 | 中国工商银行股份有限公司 | 一种微服务编排的数据处理方法、装置及系统 |
CN110554856A (zh) * | 2019-09-06 | 2019-12-10 | 航天科工广信智能技术有限公司 | 一种微服务治理系统 |
CN111142867A (zh) * | 2019-12-31 | 2020-05-12 | 谷云科技(广州)有限责任公司 | 微服务架构下的服务可视化编排系统及方法 |
-
2020
- 2020-10-22 CN CN202011140367.5A patent/CN112256258A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888681A (zh) * | 2017-11-09 | 2018-04-06 | 北京中电普华信息技术有限公司 | 一种业务流程处理方法及装置 |
CN109710215A (zh) * | 2018-12-25 | 2019-05-03 | 福建南威软件有限公司 | 分布式流计算的可视化流程处理引擎及其使用方法 |
CN109766166A (zh) * | 2018-12-29 | 2019-05-17 | 优刻得科技股份有限公司 | 业务流程处理方法、装置、存储介质和设备 |
CN110286884A (zh) * | 2019-06-21 | 2019-09-27 | 北京百度网讯科技有限公司 | 微服务编排方法、装置、设备及计算机可读存储介质 |
CN110532020A (zh) * | 2019-09-04 | 2019-12-03 | 中国工商银行股份有限公司 | 一种微服务编排的数据处理方法、装置及系统 |
CN110554856A (zh) * | 2019-09-06 | 2019-12-10 | 航天科工广信智能技术有限公司 | 一种微服务治理系统 |
CN111142867A (zh) * | 2019-12-31 | 2020-05-12 | 谷云科技(广州)有限责任公司 | 微服务架构下的服务可视化编排系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220283A (zh) * | 2021-05-10 | 2021-08-06 | 国网陕西省电力公司信息通信公司 | 一种基于云编排的物联app开发系统 |
CN113220283B (zh) * | 2021-05-10 | 2024-05-14 | 国网陕西省电力公司信息通信公司 | 一种基于云编排的物联app开发系统 |
CN113703749A (zh) * | 2021-09-06 | 2021-11-26 | 河北雄安新区公安局 | 一种基于可视化编程技术的信息系统及其构建方法 |
CN114385150A (zh) * | 2021-09-18 | 2022-04-22 | 北京能科瑞元数字技术有限公司 | 基于智能引擎的低代码开发方法 |
CN114385150B (zh) * | 2021-09-18 | 2022-09-02 | 北京能科瑞元数字技术有限公司 | 基于智能引擎的低代码开发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256258A (zh) | 微服务编排自动代码生成方法及系统 | |
CN111142867A (zh) | 微服务架构下的服务可视化编排系统及方法 | |
US8972942B2 (en) | Unit testing an Enterprise Javabeans (EJB) bean class | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN112104709B (zh) | 智能合约的处理方法、装置、介质及电子设备 | |
Turilli et al. | Middleware building blocks for workflow systems | |
JP2012123789A (ja) | アプリケーション性能試験のための並列作業負荷シミュレーション | |
US20190042233A1 (en) | Application architecture generation | |
EP3447635A1 (en) | Application architecture generation | |
CN112631919A (zh) | 一种对比测试方法、装置、计算机设备及存储介质 | |
CN115344300A (zh) | 分支流水线构建方法、装置、设备及存储介质 | |
CN112114789B (zh) | 一种业务开发方法及设备 | |
CN111782207A (zh) | 任务流代码生成方法、装置、设备及存储介质 | |
CN113158195B (zh) | 一种基于poc脚本的分布式漏洞扫描方法及系统 | |
Ilieva et al. | A composable framework for test automation of service-based applications | |
CN113220561A (zh) | 一种测试用例管理方法、装置、设备及介质 | |
US10409573B1 (en) | Batch script decomposer | |
CN113703829B (zh) | 一种Android生命周期多业务分发方法及系统 | |
CN113051173B (zh) | 测试流程的编排执行方法、装置、计算机设备和存储介质 | |
CN115757084A (zh) | 测试方法和测试装置及存储介质 | |
CN113032004B (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
Lee et al. | Generating test sequences from a set of MSCs | |
CN112363700A (zh) | 智能合约的协同创建方法、装置、计算机设备和存储介质 | |
CN114860566A (zh) | 源代码测试方法、装置、电子设备及存储介质 | |
CN113360365A (zh) | 一种流程测试方法和流程测试系统 |
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 |