您好, 访客   登录/注册

低代码数据接口开发架构的研究与实现

来源:用户上传      作者:徐建,刘磊

  摘 要: 为了降低开发难度、提高代码复用率、适应需求变化、缩短开发周期,提出通过研发一种配置式的少代码程序框架,减少开发工程师的重复工作。利用Netty框架,研发一种规则引擎,在Java运行环境下实现低代码服务端数据接口的开发架构。经实践论证,低代码数据接口开发架构可在短时间内完成数据接口的开发,大幅度降低工作量,提高工作效率,从而降低应用开发成本。
  关键词: 低代码; Netty; 架构; 规则引擎; 配置式
  中图分类号:TP399 文献标识码:A 文章编号:1006-8228(2022)06-06-04
  Research and implementation of low code data interface development architecture
  Xu Jian, Liu Lei
  (China Gezhouba Group Explosive Co., Ltd., Yubei, Chongqing 401120, China)
  Abstract: In order to reduce the development difficulty, improve the code reuse rate and adapt to the demand change, it is proposed to develop a configuration type less code program framework to reduce the repetitive work of development engineers. Using Netty framework, a rule engine is developed to realize the development architecture of low code server-side data interface in Java environment. It has been proved by practice that the low code data interface development architecture can complete the development of data interface in a short time, greatly reduce the workload, improve the work efficiency, and thus reduce the application development cost.
  Key words: low code; Netty; framework; rule engine; configuration type
  0 引言
  S着互联网的发展,信息数据价值达到前所未有的高度,人们对信息的获取方式从符号、文字、图片到视频日益丰富,人们关注的数据分类也相互交叉、汇聚。这就催生出千变万化的需求,使服务端工程师的开发任务变得纷繁复杂。服务端工程师需要不断在数据库、缓存、文件中处理数据,具有较高的技术门槛和较大的工作量。
  服务端工程师在长期的开发过程中已从多个方向简化开发难度,研发并开源了多种公用框架,在一定程度上降低了技术门槛,减轻了开发工作量。但是已有的开发框架种类繁多,存在着学习成本高、技术方案不标准、使用难度高、开发环境限制多等缺点。
  本文研究一种通过文件配置的方式来实现服务端数据接口开发的低代码框架,使非程序技术人员通过简单的培训就能完成后端数据接口开发。从而减少服务端工程师的机械工作,使其集中智慧处理复杂逻辑,提高工作效率,实现降本增效。
  1 系统总体架构
  为应对互联网的海量数据,兼容常用服务器系统(如Linux、Windows等),本文使用Java语言进行研究实现。系统通过Netty框架监听端口,收到数据后根据HTTP(s)协议进行解析,结构化地获得请求方法、协议版本、Host、请求路径、Header、请求参数等。解析完成后,系统根据请求路径和请求方法匹配到不同的协议文件,通过自定义规则引擎分析和处理数据,然后通过Netty,按照HTTP(s)协议把结果返回给客户端。
  本研究数据交互流程如图1所示。
  系统采用MVC的模式开发,但用户配置接口时是使用的命令模式。本系统从逻辑上可分为传输层、数据层和持久层。其中传输层使用Netty框架监听服务器端口,等待客户端请求并建立连接;数据层解析HTTP协议、匹配配置文件、解析并执行配置文件;持久层根据解析结果,执行数据库操作。
  本文总体架构如图2所示。
  本文对重点对规则引擎进行描述,并解释其协议解析、匹配和执行,通过请求示例描述本研究的核心思想:通过文件配置和解释执行的方式实现服务端数据接口的快速开发。
  2 平台关键技术
  2.1 Netty
  Netty是一个利用Java的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的API的客户端/服务器框架[1]。Netty是本文研究系统的数据交互核心,其简单、成熟、稳定的网络处理特性有助于系统监听端口并解析HTTP(s)请求。
  2.2 规则引擎
  规则引擎是通过源代码、配置文件、公式等方式描述的一组能实现多种可预估或不可预估逻辑运算[2]的程序。如开发语言、数据库查询语言等本身是程序解释器定义了一组逻辑规则,工程师通过编写符合满足规则要求的逻辑代码,并按照指定的方式执行,达到控制计算机或操作数据的目的,那么,这里的程序解释器就是一个规则引擎。

nlc202206221500



转载注明来源:https://www.xzbu.com/8/view-15434284.htm

相关文章