广西师范大学学报(自然科学版) ›› 2022, Vol. 40 ›› Issue (6): 82-97.doi: 10.16088/j.issn.1001-6600.2022022602

• 研究论文 • 上一篇    下一篇

基于低代码开发范式的Web Service生成方法

朱绍宏, 覃章荣*   

  1. 广西师范大学计算机科学与工程学院,广西桂林541004
  • 收稿日期:2022-02-26 修回日期:2022-04-21 出版日期:2022-11-25 发布日期:2023-01-17
  • 通讯作者: 覃章荣(1979—), 男, 广西贵港人, 广西师范大学副教授。E-mail:qinzhangrong@gxnu.edu.cn
  • 基金资助:
    国家自然科学基金(61862009)

Web Service Generation Method Based on Low-code Development Paradigm

ZHU Shaohong, QIN Zhangrong*   

  1. School of Computer Science and Engineering, Guangxi Normal University, Guilin Guangxi 541004, China
  • Received:2022-02-26 Revised:2022-04-21 Online:2022-11-25 Published:2023-01-17

摘要: 针对目前软件开发人员在手工开发Web Service程序过程中出现效率低下、容易出错等问题,本文基于低代码开发范式,结合需求原型化技术RM2PT,提出一种Web Service自动生成方法。首先,根据操作契约中的OCL表达式与数据基本操作的语义关系,建立两者之间的转换规则;其次,根据Web Service功能模块的代码特征构建转换模板;然后建立解析和处理需求模型的转换算法;最后,使用转换规则、转换模板和转换算法直接将需求模型自动转换为目标应用程序。通过使用4个软件开发案例对提出的方法进行验证,结果表明,约93.3%的系统操作可以实现自动生成。相比传统的软件开发模式,本文方法可以由需求模型自动生成标准化Web Service程序,提高了软件开发效率与质量。此外,本文方法支持快速原型开发和迭代开发,用户可以通过GUI验证、编辑与修改需求,重新生成应用程序。

关键词: 需求模型, Web服务, 低代码, 统一建模语言, 对象约束语言

Abstract: In order to design and implement reliable Web Service applications, developers still need to hand-code complex business logic, which is a tedious, time-consuming, and error-prone task. In order to solve the problem, a Web Service generation method based on the low-code development paradigm is proposed by combining requirements prototyping technology RM2PT. The proposed method establishes transformation rules for OCL expressions, extracts the code features of such applications, constructs transformation templates, and creates transformation algorithms for processed and parsing the requirements model. The method is demonstrated through four case studies. The result of the experiment shows that about 93.3% of the system operations can be generated automatically. Compared with traditional software development methodologies, the new approach can automatically generate standardized Web Service directly from requirements models, which can improve the efficiency and quality of software development. Furthermore, this approach can fully support iterative development in rapid prototyping in which requirements may keep changing, because the approach provides a GUI for users to validate, edit and change their requirements, and the approach can regenerate the Web Service accordingly.

Key words: requirements model, Web Service, low-code, UML, OCL

中图分类号: 

  • TP311.5
[1] VARGAS-SANTIAGO M, MORALES-ROSALES L, POMARES-HERNÁNDEZ S, et al. Autonomic web services enhanced by asynchronous checkpointing[J]. IEEE Access, 2018, 6: 5538-5547. DOI: 10.1109/ACCESS.2017.2756867.
[2] ISMAIL A, AL HAJJAR A E S, KASSEM A K. Web service composition for E-commerce web application[J]. Review of Computer Engineering Research, 2016, 3(1): 13-24. DOI: 10.18488/journal.76/2016.3.1/76.1.13.24.
[3] 黄宁, 余莹, 张大勇. Web服务软件测试技术的研究与实现[J]. 计算机工程与应用, 2004, 40(35): 147-149. DOI: 10.3321/j.issn:1002-8331.2004.35.049.
[4] 曹继承, 朱小柯, 荆晓远, 等. 基于用户可信度的Web服务推荐方法[J]. 计算机技术与发展, 2018, 28(7): 117-120, 124. DOI: 10.3969/j.issn.1673-629X.2018.07.025.
[5] MCMILLAN C, HARIRI N, POSHYVANYK D, et al. Recommending source code for use in rapid software prototypes[C]// 2012 34th International Conference on Software Engineering (ICSE). Los Alamitos, CA: IEEE Computer Society, 2012: 848-858. DOI: 10.1109/ICSE.2012.6227134.
[6] PEREZ DE ROSSO S, JACKSON D, ARCHIE M, et al. Declarative assembly of web applications from predefined concepts[C]// Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. New York, NY: Association for Computing Machinery, 2019: 79-93. DOI: 10.1145/3359591.3359728.
[7] WEI S F, LI Z, YANG Y L, et al. Zoom4PF: a tool for refining static and dynamic domain descriptions in problem frames[C]// 2021 IEEE 29th International Requirements Engineering Conference (RE). Los Alamitos,CA: IEEE Computer Society, 2021: 414-415. DOI: 10.1109/RE51729.2021.00047.
[8] 李智, 邓杰, 杨溢龙, 等. 从信息物理融合系统问题模型到UML用例图的变换方法[J]. 计算机科学, 2020, 47(12): 65-72. DOI: 10.11896/jsjkx.201200044.
[9] 刘玉梅. 基于用户需求的特征模型配置分析与优化方法研究[D]. 南京: 南京航空航天大学, 2016.
[10] 侯金奎, 王磊. 基于体系结构的模型转换语义描述框架[J]. 计算机科学, 2017, 44(4): 148-152, 181. DOI: 10.11896/j.issn.1002-137X.2017.04.032.
[11] FRYLING M. Low code app development[J]. Journal of Computing Sciences in Colleges, 2019, 34(6): 119.
[12] KHORRAM F, MOTTU J M, SUNYÉ G. Challenges & opportunities in low-code testing[C]// Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings. New York: Association for Computing Machinery, 2020: 70. DOI: 10.1145/3417990.3420204.
[13] 李雅雯. 基于IFML的跨平台移动应用界面的模型转换研究[D]. 昆明: 昆明理工大学, 2018.
[14] 罗异. 基于模型驱动架构的Web代码生成方法研究与应用[D]. 重庆: 重庆邮电大学, 2018. DOI: 10.27675/d.cnki. gcydx.2018.000240.
[15] VISWANATHAN S E, SAMUEL P. Automatic code generation using unified modeling language activity and sequence models[J]. IET Software, 2016, 10(6): 164-172. DOI: 10.1049/iet-sen.2015.0138.
[16] FORWARD A, BADREDDIN O, LETHBRIDGE T C, et al. Model-driven rapid prototyping with Umple[J]. Software: Practice & Experience, 2012, 42(7): 781-797. DOI: 10.1002/spe.1155.
[17] CHEN H L. Design and implementation of automatic code generation method based on model driven[J]. Journal of Physics: Conference Series, 2020, 1634: 012019. DOI: 10.1088/1742-6596/1634/1/012019.
[18] KUNDU D, SAMANTA D, MALL R. Automatic code generation from unified modelling language sequence diagrams[J]. IET Software, 2013, 7(1): 12-28. DOI: 10.1049/iet-sen.2011.0080.
[19] 王诗宇. 基于MDA的移动用户界面建模与转换方法研究[D]. 武汉: 武汉理工大学, 2019. DOI: 10.27381/d.cnki. gwlgu.2019.001314
[20] YANG Y L, LI X S, KE W, et al. Automated prototype generation from formal requirements model[J]. IEEE Transactions on Reliability, 2020, 69(2): 632-656. DOI: 10.1109/TR.2019.2934348.
[21] YANG Y L, KE W, LI X S. RM2PT: requirements validation through automatic prototyping[C]// 2019 IEEE 27th International Requirements Engineering Conference (RE). Los Alamitos,CA: IEEE Computer Society, 2019: 484-485. DOI: 10.1109/RE.2019.00067.
[22] Object Management Group. OMG unified modeling language: version 2.5.1[EB/OL]. (2017-12-05)[2022-02-26]. https://www.omg.org/spec/UML/2.5.1/PDF.
[23] CABOT J, GOGOLLA M. Object constraint language (OCL): a definitive guide[C]// Formal Methods for Model-Driven Engineering: LNCS Volume 7320. Berlin: Springer, 2012: 58-90. DOI: 10.1007/978-3-642-30982-3_3.
[24] FIELDING R T. Architectural styles and the design of network-based software architectures[M]. Irvine: University of California, 2000.
[25] LI Y N, KATSIPOULAKIS N R, CHANDRAMOULI B, et al. Mison: a fast JSON parser for data analytics[J]. Proceedings of the VLDB Endowment, 2017, 10(10): 1118-1129. DOI: 10.14778/3115404.3115416.
[26] BÜLTHOFF F, MALESHKOVA M. RESTful or RESTless: current state of today’s top Web APIs[C]// The Semantic Web: ESWC 2014 Satellite Events: LNCS Volume 8798. Cham: Springer, 2014: 64-74. DOI: 10.1007/978-3-319- 11955-7_6.
[27] EVANS E. Domain-driven design: tackling complexity in the heart of software[M]. Boston: Addison-Wesley, 2003.
[28] 韩晓英, 虞慧群. 一种用例驱动的需求关注点分离的方法[J]. 电子学报, 2006, 34(S1): 2498-2501.
[29] LARMAN C. Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development[M]. 3rd ed. New Delhi: Pearson, 2004.
[30] BÖCK H. Java persistence API[M]// BÖCK H. The Definitive Guide to NetBeansTM Platform 7. New York,NY: Apress, 2012: 315-320. DOI: 10.1007/978-1-4302-4102-7_28.
[31] ALONSO A N, ABREU J, NUNES D, et al. Towards a polyglot data access layer for a low-code application development platform[EB/OL]. (2020-04-28)[2022-02-26]. https://arxiv.org/abs/2004.13495. DOI: 10.48550/arXiv.2004.13495.
[32] BETTINI L. Implementing domain-specific languages with Xtext and Xtend: learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices[M]. Birmingham: Packt Publishing, 2016.
[33] 高松, 牛治永. 敏捷设计原则与设计模式的编程实践: 单一职责原则与依赖倒置原则[J]. 计算机应用, 2011, 31(增刊2): 149-152.
[1] 路凯峰, 杨溢龙, 李智. 一种基于BERT和DPCNN的Web服务分类方法[J]. 广西师范大学学报(自然科学版), 2021, 39(6): 87-98.
[2] 于洪, 刘曼. 一种QoS感知的基于与或图的Web服务选择模型[J]. 广西师范大学学报(自然科学版), 2011, 29(4): 45-48.
[3] 袁野, 封化民. 基于Vague集的Web内容安全文本分类[J]. 广西师范大学学报(自然科学版), 2010, 28(1): 147-152.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!
版权所有 © 广西师范大学学报(自然科学版)编辑部
地址:广西桂林市三里店育才路15号 邮编:541004
电话:0773-5857325 E-mail: gxsdzkb@mailbox.gxnu.edu.cn
本系统由北京玛格泰克科技发展有限公司设计开发