CN113553029B - 微服务集成开发系统及方法 - Google Patents
微服务集成开发系统及方法 Download PDFInfo
- Publication number
- CN113553029B CN113553029B CN202010328793.5A CN202010328793A CN113553029B CN 113553029 B CN113553029 B CN 113553029B CN 202010328793 A CN202010328793 A CN 202010328793A CN 113553029 B CN113553029 B CN 113553029B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- development
- user
- online
- 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.)
- Active
Links
- 238000011161 development Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000007726 management method Methods 0.000 claims description 21
- 230000010354 integration Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
技术领域
本发明是有关于软件开发领域,尤其关于一种微服务集成开发系统及方法。
背景技术
当微服务的代码量不断成长,需要完整的持续集成与持续部署的流水线作业,以提高微服务开发速度与微服务的软件质量。
目前主流采用GitLab、Jenkins及Docker等工具,实现软件开发平台,但现有开发平台并无法为开发者提供在线学习、在线开发部署及问题交流求助的环境。
发明内容
有鉴于此,本发明的目的在于提供一种微服务集成开发系统及方法,可以针对特定产业领域为开发者提供在线学习知识、在线开发部署、经验交流分享的集成开发环境。
本发明提供一种微服务集成开发方法,其特征在于,所述方法包含以下步骤:接收用户的输入;判断所述用户是否选择学习区,其中,所述学习区包含课件列表;若判断所述用户选择学习区,则进一步判断所述用户所选取的课件,根据所述选取的课件创建对应的虚拟机环境;若判断所述用户非选择学习区,则进一步判断所述用户是否选择开发区,其中,所述开发区包含在线集成开发环境与微服务列表;以及若判断所述用户选择开发区,则进一步判断所述用户是否从所述微服务列表中订阅微服务,若所述用户有订阅微服务,则将所述订阅的微服务集成到所述用户于所述开发区开发的微服务。
本发明还提供一种微服务集成开发系统,其特征在于,所述系统包含:用户界面层,用于与不同操作系统对接,提供用户接入所述系统;服务层,包含学习区与开发区,其中,所述学习区用于提供用户在线学习以及所述开发区用于提供用户在线开发微服务。
相较于现有技术,所述微服务集成开发系统及方法,可以提供在线学习及在线开发部署的环境。
附图说明
图1为根据本发明一实施例的微服务集成开发系统的方块图。
图2为根据本发明一实施例的微服务集成开发方法的流程图。
主要元件符号说明
微服务集成开发系统 | 100 |
用户界面层 | 102 |
服务层 | 104 |
数据层 | 106 |
硬件层 | 108 |
步骤 | S202~S210 |
具体实施方式
请参阅图1,所示为本发明一实施例中微服务集成开发系统100的方块图。所述系统100包含用户界面层102、服务层104、数据层106以及硬件层108。应理解的是,图1所示的系统100的组成并不构成对该系统100的限定,在不同实施例中,可以包含比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。所述系统100中的各层可以集成在一个处理单元中,也可以是各层单独物理性存在,也可以是两个或两个以上层集成在一层中。上述各层可以是用硬件的形式实现,也可以采用硬件结合软件的形式实现。
所述用户界面层102用于与不同操作系统对接,提供开发者接入所述系统100。在一实施例中,所述用户界面层102包含网页用户界面、移动应用程序界面以及其它终端设备接入界面。在一实施例中,开发者所使用的终端设备可以是移动设备、笔记本电脑以及便携式装置等,只要该终端设备可以经由因特网与所述系统100进行通信,即可使用该系统100提供的微服务集成开发。
所述服务层104具体包含学习区与开发区,所述学习区用于提供开发者在线学习、所述开发区用于提供开发者在线开发微服务。
以下针对服务层104进行详细说明。
学习区,用于提供开发者在线学习的学习环境。在一实施例中,所述学习区设置有课件列表,开发者接入所述系统100后,可以从课件列表中选择自己需要学习的课件,当开发者选择课件后,所述系统100会自动为该开发者创建对应的虚拟机环境供开发者上机学习,并在用户界面中将课件内容与用户操作区同屏显示,用户操作区可自动检测用户输入的正确性,并提供操作步骤指引提示。在一实施例中,学习区还包含与课件对应的在线实验室,提供开发者实验环境,并可实时检测操作正确性,所述在线实验室支持多种浏览器,无需安装任何插件。
在一实施例中,学习区还可进一步区分为前台展示和后台管理。前台展示,用于展示该系统100提供的课件,供开发者进行在线学习。后台管理,提供该系统100的管理者进行课件管理与新建实验室。管理者可针对特定的课件,编写该课件的教程,还可针对该课件新建实验室,并配置对应的云资源与虚拟机的操作系统。当管理者在后台对课件及/或实验室进行发布,该课件及/或该实验室才会展示在前台供开发者选择。在一实施例中,管理者还可经由后台管理添加自有产品演示,可用于教学用途,也可作为产品演示宣传。
开发区,用于提供开发者在线开发的开发环境。若开发者针对自己的企业环境和领域知识,想开发微服务,在没有合适的开发环境下,所述系统100的开发区提供开发者在线开发的环境。所述开发区提供在线创建项目,利用环球网集成开发环境(WEB IDE)技术提供编写功能代码,结合Git工具以及Jenkins工具,提供开发者从开发到部署的集成开发环境。开发区支持多种主流编程语言,例如Java、Python、Node.js、GO、Ruby、net core以及C/C++等,开发者可以随时切换其中的任一种开发环境用于开发。在一实施例中,开发区提供代码补全、实时预览、控制终端、协同编辑及版本管理等服务。所述开发区集成Codemirror编辑器,自动识别文件类型与编程语言进行语法加亮,对于图片文件、Markdown文件以及HTML文件支持实时效果预览,所述系统100在后台运行WEB应用程序,供开发者通过生成的临时链接进行预览。所述开发区还包含环球网终端(WEB Terminal)兼容标准的终端仿真器,支持Bash、Zsh、Fish等各种Shell,提供开发者在线编译,并支持宽字符的输入和显示,方便中文语言的开发者查看中文内容的文件,并提供开发者自由安装需要的套装软件。所述开发区还提供实时协同编辑的在线代码协作服务,支持多个开发者共同编辑代码,各开发者可以实时查看协作者的编辑内容并可在线聊天,所述开发区提供的协同编辑服务可有效地帮助开发团队实现高效率协作、实时沟通,从而提升工作效率。所述开发区还包含代码管理工具,在一实施例中,可以集成Git工具进行源代码管理,提供在线浏览代码、代码分支管理、版本对比以及代码合并。在一实施例中,所述开发区可以在线创建项目,提供项目成员管理、项目任务管理以及项目里程碑配置,并提供了项目报告,可显示项目多维度统计,包含任务统计、代码统计、文件统计、里程碑统计等。开发者完成代码编写后,通过所述开发区集成的Jenkins环境,可以持续集成微服务发布。
所述数据层106提供各种数据服务接口、数据处理以及数据存储。在一实施例中,所述数据层106以关系型数据库管理系统,例如MySQL,管理包含开发者信息、开发手册、支持的微服务以及开发者存储于该系统100的数据。
所述硬件层108用于管理所述系统100提供的各种基础设施,例如网络、硬件、多类云平台如腾讯云以及容器仓库等。
请参阅图2,所示为本发明一实施例中,微服务集成开发方法的流程图。在本实施例中,由所述系统100执行所述方法的步骤。
步骤S202,所述用户界面层102在用户(开发者)接入所述系统100后,进一步接收用户的输入,判断用户是否选择学习区,若用户选择学习区,则执行步骤S204;否则,则执行步骤S206。
步骤S204,进一步判断用户选择的学习课件与对应的实验室,所述服务层104根据用户所选择的学习课件与对应的实验室,创建虚拟机环境,供用户在线学习。用户可经由选择的课件中的教程实验进行在线实验,所述系统100并实时验证用户进行在线实验时操作的正确性。在一实施例中,当用户完成学习课件后,亦即,当所述课件的教程进度已完成后,所述系统100自动跳转至步骤S208,引导用户进行在线开发微服务。
步骤S206,进一步判断用户是否选择开发区,若用户选择开发区,则执行步骤S208;否则,结束该流程。
步骤S208,用户使用所述系统100提供的在线集成开发环境进行在线开发微服务。当用户编写完成欲开发的微服务代码后,可经由代码提交请求命令,将代码提交到所述系统100提供的代码管理仓库进行持续集成和部署。在一实施例中,所述开发区提供用户开发微服务与发布微服务,供所有用户进行在线浏览。用户可以在在线浏览后,针对所需的微服务进行订阅,成功订阅后可以将该微服务集成到自己正在开发的微服务中使用。
步骤S210,当用户完成微服务的开发后,可经由发布请求命令,在所述系统100发布微服务。
本领域的普通技术人员可以理解的是,上述方法的全部或部分步骤,可以通过计算机程序指令形式由相关的硬件完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包含所述方法的流程步骤。其中,所述计算机可读取存储介质包含磁盘、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
总结来说,本发明的微服务集成开发系统及方法,可以提供开发者相关领域知识与一站式开发环境,用以开发新的微服务。
值得注意的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (12)
1.一种微服务集成开发方法,其特征在于,所述方法包含以下步骤:
接收用户的输入;
判断所述用户是否选择学习区,其中,所述学习区包含课件列表;
若判断所述用户选择学习区,则进一步判断所述用户所选取的课件与对应的实验室,根据所述选取的课件与对应的实验室创建对应的虚拟机环境;
若判断所述用户非选择学习区,则进一步判断所述用户是否选择开发区,其中,所述开发区包含在线集成开发环境与微服务列表;以及
若判断所述用户选择开发区,则提供在线集成开发环境,供用户进行在线开发微服务;进一步判断所述用户是否从所述微服务列表中订阅微服务,若所述用户有订阅微服务,则将所述订阅的微服务集成到所述用户于所述开发区开发的微服务;
当用户编写完成欲开发的微服务代码后,经由代码提交请求命令,将代码提交到系统提供的代码管理仓库进行持续集成和部署;
所述开发区支持在线创建项目,所述开发区提供项目成员管理、项目任务管理以及项目里程碑配置;所述开发区还提供实时协同编辑的在线代码协作服务,支持多个开发者共同编辑代码,并支持各开发者可以实时查看协作者的编辑内容并可在线聊天。
2.如权利要求1所述的微服务集成开发方法,其特征在于,所述选取的课件还包含在线实验室,所述方法还包含:验证所述用户于所述在线实验室操作的正确性。
3.如权利要求1所述的微服务集成开发方法,其特征在于,所述开发区还集成Git工具,所述方法还包含:根据用户的代码提交请求命令使用所述Git工具进行代码管理,所述代码管理包含:在线浏览代码、代码分支管理、代码版本比对以及代码合并。
4.如权利要求1所述的微服务集成开发方法,其特征在于,所述在线集成开发环境支持多种编程语言以及多用户协同编译。
5.如权利要求1所述的微服务集成开发方法,其特征在于,所述方法还包含:根据所述用户的发布请求命令,发布所述用户于所述开发区开发的微服务。
6.一种微服务集成开发系统,其特征在于,用于实现如权利要求1至5任一项所述的微服务集成开发方法,所述系统包含:
用户界面层,用于与不同操作系统对接,提供用户接入所述系统;
服务层,包含学习区与开发区,其中,所述学习区用于提供用户在线学习以及所述开发区用于提供用户在线开发微服务;
所述开发区支持在线创建项目,所述开发区提供项目成员管理、项目任务管理以及项目里程碑配置;所述开发区还提供实时协同编辑的在线代码协作服务,支持多个开发者共同编辑代码,并支持各开发者可以实时查看协作者的编辑内容并可在线聊天。
7.如权利要求6所述的微服务集成开发系统,其特征在于,所述用户界面层还包含网页用户界面、移动应用程序界面以及终端设备接入界面。
8.如权利要求6所述的微服务集成开发系统,其特征在于,所述学习区设置有课件列表,当用户于所述课件列表选择课件后,所述系统会根据所述选择的课件创建对应的虚拟机环境。
9.如权利要求6所述的微服务集成开发系统,其特征在于,所述开发区使用网页集成开发环境,集成Git工具以及Jenkins工具。
10.如权利要求6所述的微服务集成开发系统,其特征在于,所述开发区还包含环球网终端兼容标准的终端仿真器。
11.如权利要求6所述的微服务集成开发系统,其特征在于,所述系统还包含数据层,用于提供各种数据服务接口,数据处理以及数据存储。
12.如权利要求6所述的微服务集成开发系统,其特征在于,所述系统还包含硬件层,用于管理基础设施,其中,所述基础设施包含网络、硬件、多类云平台以及容器仓库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328793.5A CN113553029B (zh) | 2020-04-23 | 2020-04-23 | 微服务集成开发系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328793.5A CN113553029B (zh) | 2020-04-23 | 2020-04-23 | 微服务集成开发系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553029A CN113553029A (zh) | 2021-10-26 |
CN113553029B true CN113553029B (zh) | 2024-01-16 |
Family
ID=78101120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010328793.5A Active CN113553029B (zh) | 2020-04-23 | 2020-04-23 | 微服务集成开发系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553029B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201270098Y (zh) * | 2008-10-15 | 2009-07-08 | 张继英 | 一种互动视频教学系统 |
CN107516445A (zh) * | 2017-09-11 | 2017-12-26 | 立乐教育科技(上海)有限公司 | 在线编程教学方法及系统 |
CN107959718A (zh) * | 2017-11-17 | 2018-04-24 | 西北工业大学 | 一种云计算环境下企业级应用软件的微服务架构 |
CN108418889A (zh) * | 2018-03-14 | 2018-08-17 | 广州西麦科技股份有限公司 | 一种基于云计算的分布式实训云系统及方法 |
CN110019850A (zh) * | 2019-04-19 | 2019-07-16 | 海南省电力学校 | 一种基于移动学习的课件制作系统 |
CN110069249A (zh) * | 2019-04-18 | 2019-07-30 | 郑子涵 | 一种软件开发和教学系统及电子设备 |
CN110473120A (zh) * | 2018-05-10 | 2019-11-19 | 深圳富桂精密工业有限公司 | 基于工业互联网的微服务异构再生系统、方法及存储介质 |
CN110580187A (zh) * | 2019-07-30 | 2019-12-17 | 福建天泉教育科技有限公司 | 一种在线学习课程的实现方法及终端 |
CN110889069A (zh) * | 2019-10-31 | 2020-03-17 | 贵州电网有限责任公司 | 一种基于web在线学习的资源访问平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190189021A1 (en) * | 2017-12-19 | 2019-06-20 | The Florida International University Board Of Trustees | STEM-CyLE: SCIENCE TECHNOLOGY ENGINEERING AND MATHEMATICS CYBERLEARNING ENVIRONMENT |
-
2020
- 2020-04-23 CN CN202010328793.5A patent/CN113553029B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201270098Y (zh) * | 2008-10-15 | 2009-07-08 | 张继英 | 一种互动视频教学系统 |
CN107516445A (zh) * | 2017-09-11 | 2017-12-26 | 立乐教育科技(上海)有限公司 | 在线编程教学方法及系统 |
CN107959718A (zh) * | 2017-11-17 | 2018-04-24 | 西北工业大学 | 一种云计算环境下企业级应用软件的微服务架构 |
CN108418889A (zh) * | 2018-03-14 | 2018-08-17 | 广州西麦科技股份有限公司 | 一种基于云计算的分布式实训云系统及方法 |
CN110473120A (zh) * | 2018-05-10 | 2019-11-19 | 深圳富桂精密工业有限公司 | 基于工业互联网的微服务异构再生系统、方法及存储介质 |
CN110069249A (zh) * | 2019-04-18 | 2019-07-30 | 郑子涵 | 一种软件开发和教学系统及电子设备 |
CN110019850A (zh) * | 2019-04-19 | 2019-07-16 | 海南省电力学校 | 一种基于移动学习的课件制作系统 |
CN110580187A (zh) * | 2019-07-30 | 2019-12-17 | 福建天泉教育科技有限公司 | 一种在线学习课程的实现方法及终端 |
CN110889069A (zh) * | 2019-10-31 | 2020-03-17 | 贵州电网有限责任公司 | 一种基于web在线学习的资源访问平台 |
Non-Patent Citations (7)
Title |
---|
Docker容器技术在高职信息化中的应用实践;倪叶青;《信息记录材料》;第21卷(第03期);158-161 * |
Improvement of an Existing Microservices Architecture for an E-learning Platform in STEM Education;David A. Bauer等;《Conference: AICT 2018, The Fourteenth Advanced International Conference on Telecommunications》;1-8 * |
Java在线学习平台的设计与实现;许航等;《科技资讯》;第14卷(第05期);15-16 * |
LMS集成外部工具服务的新思路――基于OpenSocial搭建开放学习工具服务集成环境;庄君明;杨现民;;中国电化教育(第10期);111-115 * |
尹进 ; 唐运乐 ; .试论基于IOS平台计算机实验室建设方案.电脑与电信.2016,(第08期),93-95. * |
试论基于IOS平台计算机实验室建设方案;尹进;唐运乐;;电脑与电信(第08期);93-95 * |
高校信息化发展规划现状与规划建议;李竹村;《电脑知识与技术》;第21卷(第14期);175-177 * |
Also Published As
Publication number | Publication date |
---|---|
CN113553029A (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019155369A1 (en) | Tri-affinity model driven method and platform for authoring, realizing, and analyzing a cross-platform application | |
US20120221933A1 (en) | Method and system to build interactive documents | |
US10019424B2 (en) | System and method that internally converts PowerPoint non-editable and motionless presentation mode slides into editable and mobile presentation mode slides (iSlides) | |
Wielemaker et al. | Using SWISH to realize interactive web-based tutorials for logic-based languages | |
CN115277775A (zh) | 用于为联络中心应用提供上下文协助的系统和方法 | |
US6931385B1 (en) | Interactive examples for online coding tutorials | |
Dasgupta | From surveys to collaborative art: Enabling children to program with online data | |
US20080010591A1 (en) | Web forms creation and reporting tool | |
CN113553029B (zh) | 微服务集成开发系统及方法 | |
Derzho et al. | Controlling an application via a hybrid interface | |
US8000952B2 (en) | Method and system for generating multiple path application simulations | |
CN111612501A (zh) | 一种基于策略复用的信息生成方法、装置和电子设备 | |
Garcia et al. | Scrum-Based Application for Agile Project Management. | |
US20230177631A1 (en) | Automatically enhancing content items through identifying relationships | |
CN113296759B (zh) | 用户界面处理方法、用户界面处理系统、设备及存储介质 | |
CN116232910A (zh) | 开放云平台及其构建方法、存储介质 | |
Wilson | Statistical computing with R: selecting the right tool for the job—R Commander or something else? | |
Frick | From Design to Code: A Study on Generating Production Code From User Interface Design Software | |
US20240212018A1 (en) | Service product provisioning | |
CN113485714B (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
US20230214751A1 (en) | Workflow management with no code multiexperience predictive workflow tasks | |
CN113806596B (zh) | 运营数据管理方法及相关装置 | |
CN113703746B (zh) | 课程开发方法、装置、计算机设备和存储介质 | |
US11599398B2 (en) | Method for combining unified matters in personal workspace and system using the same | |
MacDonald et al. | Patterns in design systems |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |