低代码开发平台技术架构_一个项目的整体架构是什么

低代码开发平台技术架构_一个项目的整体架构是什么介绍JAVA低代码快速开发平台的整体架构设计

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

  • 概述

      近期比较流行的低代码开发平台一词,其实也可以称作是快速开发平台。快速开发平台的目的是将可重复性的编程工作用平台实现,将开发人员从没有技术含量的增删改查开发中解放出来,做更有价值的开发工作,比如业务建模、数据库设计、流程设计、API核心开发、业务逻辑开发等工作。

      即使有了快速开发平台,并不意味着普通人员就可以替代开发人员的工作了,比如让非开发人员开发一套新的系统,例如一个简单的问卷调研系统,非开发人员即使有了开发平台这个工具,可能也无从下手,因为非开发人员不知道该设计那些数据库结构,功能模块如何划分,业务流程如何定义到系统中,等等。除非开发人员把功能细化到模块级,每个模块有哪些数据项,这时实施人员才可按照详细设计在开发平台中将功能配置出来。

快速开发平台可以替代哪些重复性工作?主要有以下几点:

      首先增删改查功能可以通过快速开发平台快速实现,因为增删改查工作没有业务逻辑,可以很容易地开发一个通用的增删改查配置工具。

      其次是流程定义,使用工作流产品实现流程定义,可以减少大量的个性化业务流程带来的编程工作量。

      第三是页面模板,常用页面模板包括单列表增删改查、主明细表增删改查、树形结构、单TAB页编辑页、多TAB页编辑页等等。

      第四是通用类库,通用类库的沉淀会极大方便日常的开发工作,比如字符串处理、日期处理、文件处理、加密算法、XML解析、JSON解析、图片处理、数据库增删改查等工具类。

  • 快速开发平台的核心能力

   快速开发平台应具有哪些核心能力?

  1. 可视化数据建模能力:可在线设计数据库结构。虽然通过其他数据库管理工具也可以设计数据库,而快速开发平台本身的数据建模功能的意义,主要在于和开发是无缝衔接的,这包括根据数据库表生成实体类、为数据库表自动创建对应的增删改查页面、数据库表字段的业务说明自动存储、数据库设计文档在线生成等。
  2. 代码生成能力:可通过平台工具生成增删改查程序代码或者其他程序代码。
  3. 可视化配置能力:业务流程可视化配置、表单可视化配置、数据流可视化配置(例如某个时机调用存储过程、或者触发数据处理程序)、门户网站DIV可视化拖拽及设置等。
  4. 代码组件化能力:将常用的工具类进行封装,比如日期处理、字符串处理、数据库SDK、文件处理、支付处理等等。
  5. 基础功能通用化能力:快速开发平台应该实现各种业务系统常用的功能能,包括登录注册、系统基础数据、组织机构、人员角色、功能菜单、权限分配、短信邮箱、数据字典、系统日志等。
  6. 网络安全能力:再好的系统,如果缺少了网络安全,就是木桶的短板,所以快速开发平台必须具备强大的网络安全能力,有效地防止各种网络工具。从实现措施上,包括第三方工具及时更新,控制器增加注入攻击防范,程序代码实现数据库防注入。
  7. API整合能力:这包括两种情况。别人调用我—本系统为第三方提供的OpenAPI接口。我调用别人—调用第三方平台接口,例如微信支付宝支付API、公众号API、阿里云直播点播API、云存储API、人工智能API、主流电商平台API等等。
  8. 开放生态能力:基于快速开发平台的开发标准,可开发插件化的应用产品,上架到应用市场。所有使用开发平台开发的产品都可以方便地整合应用插件。每个开发人员都可以按照开发平台的标准创建应用,发布应用到应用市场。
  9. 微服务能力:快速开发平台应具备微服务架构,在发布新的服务或者停止某个服务时不影响业务系统的正常使用。
  10. 敏捷开发及持续迭代能力:支持敏捷开发和产品的持续迭代。

  • JAVA快速开发平台整体架构

   

低代码开发平台技术架构_一个项目的整体架构是什么

关于JAVA快速开发平台的整体架构设计,可参考以下几个方面:

  1. 跨操作系统:平台须支持Windows、Linux操作系统,当然JAVA语言没有这个障碍,不过平台仍需要在两种操作系统上进行充分测试。特别是文件大小写问题,在Windows上不区分,但Linux上区分大小写(典型的案例是,以前mysql数据库的文件名大写,但是sql中是小写的,放到linux系统中找不到大写的mysql表文件名)。
  2. 支持主流多种关系数据库:至少支持Oracle、SqlServer、Mysql这三种数据库,平台应至少支持这三种数据库的使用。
  3. 整合主流技术框架及组件:例如SSH、SSM、Spring Cloud、Spring Security等。当然可以根据技术偏好来自己取舍。除了基础MVC框架、微服务框架,还应整合常用的第三方工具或开源框架,例如关键词检索框架Apache Lucene、日志工具log4j、在线编辑器CKEditor、阿里巴巴JSON工具包、二维码生成器、批量上传组件pupload,等等。
  4. 网络安全设计:系统应具有网络防攻击过滤器,一般是开发过滤器类来监控JSP页面、MVC控制层的GET、POST等请求,一旦发现疑似攻击,则禁止进一步访问,另外程序代码中,也要避免字符串拼接的形式的数据库SQL语句。对于其他底层产品例如Tomcat、数据库、其他第三方工具的安全漏洞、Nginx、Redis配置不当等问题也要及时修复。
  5. 性能稳定可靠:系统设计需要支持高并发、性能稳定、安全可靠的质量要求。可达到长期24×7不间断运行的质量要求。
  6. 完善的基础功能:快速开发平台应具备业务系统必备的基础功能,包括登录注册、系统设置、基础数据管理(国家、省市县管理、各种基础数据字典如学历、民族、政治面貌)、数据字典设置、组织结构、人员角色、权限、菜单、短信、邮箱、日志管理、报表定义等基础功能模块。
  7. 丰富的SDK类库:平台应提供常用的基础类库共开发调用,比如字符串处理类、日期处理类、文件处理类、图片处理类、XML处理类、各种加密解密算法、第三方支付调用、公众号API调用、HttpClient工具类、二维码生成工具类,等等。
  8. 数据建模工具:支持在线数据库结构设计、这样表结构定义信息保留在系统中,不仅可随时生成设计文档,而且还可创建表结构对应的实体类和维护界面。
  9. 代码生成器:可生成常用的程序代码,比如根据某数据库表生成增删改查代码及增删改查页面、对应实体类和业务逻辑组件。
  10. 流程设计器及规则引擎:在线绘制业务流程。业务流程的设计可直接引用第三方开源工作流产品比如activiti/flowable。

低代码开发平台技术架构_一个项目的整体架构是什么

  1. 表单设计器:可拖拽组件的表单设计器。如果实现比较复杂,可以用页面模板的方式替代(一行1列,一行N列,树形结构,主明细结构等)。

  1. 报表设计工具:在线定义查询统计报表。简单的方式可以实现一个SQL就能查询出来的简易报表。
  2. 门户网站设计器:支持对门户网站的DIV进行个性化定制和拖拽的功能,例如淘宝店铺定义自己的店铺主页。
  3. 认证框架与单点登录:支持Spring Security、JWT等认证框架、SSO单点登录、微信扫码登录等。
  4. 前后端动静分离:随着ajax、jquery、Rest的普及,越来越多的应用倾向于静态html前端+jquery+Rest接口+基于cookie的token实现前后端分离,这种设计可大幅度降低服务器端的性能压力。
  5. 前端UI框架:VUE前端框架越来越普及,以后的平台开发可考虑是否引入VUE3 UI框架,当然也可以使用layui、React、Bootstrap等UI框架。
  6. OpenAPI支持:开发平台以及业务系统需要开放哪些API给第三方调用,需要在设计时考虑。
  7. 整合主流第三方API:例如微信支付宝调用API、小程序API、公众号API、企业微信API、阿里云、腾讯云直播点播API、云存储API、主流电商平台API、其他人工智能、大数据API。可根据具体业务需求来有针对性地实现这些API对接。
  8. 微服务支持:平台应支持微服务架构,以便可提供更细粒度的业务服务和应用插件的使用,避免上下线业务服务必须重启应用系统。
  9. 跨端APP开发框架: 虽然小程序目前非常流行,但是对于大互联网平台企业仍需要有自己的APP产品,可考虑使用Flutter、React 跨端APP开发框架来开发专属APP应用。完整的快速开发平台应该有一套基于APP快速定制的APP开发框架。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172403.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 如何使用npm安装yarn

    如何使用npm安装yarn先安装node,链接请看:https://blog.csdn.net/Doudou_Mylove/article/details/105112400再使用npm安装yarn:[root@localhost~]#npminstall-gyarn/usr/local/nodejs/bin/yarn->/usr/local/nodejs/lib/node_modules/…

  • Java网络编程基础(Netty预备知识)[通俗易懂]

    今天在家休息,闲来无事,写篇博客,陶冶下情操~~~我是分割线最近在重新学习Java网络编程基础,以便后续进行Netty的学习。整理了一下重要的基础知识点,供大家参考。正在读这篇随笔的你是否遇到

  • linux下vi操作Found a swap file by the name

    linux下vi操作Found a swap file by the name

    2021年10月29日
  • 三次样条插值优缺点_matlab中三次样条差值

    三次样条插值优缺点_matlab中三次样条差值三次样条插值分段线性插值的优点:计算简单、稳定性好、收敛性有保证且易在计算机上实现缺点:它只能保证各小段曲线在连接点的连续性,却无法保证整条曲线的光滑性,这就不能满足某些工程技术的要求。三次Hermit插值优点:有较好的光滑性,缺点:要求节点的一阶导数已知。从20世纪60年代开始,首先由于航空、造船等工程设计的需要而发展起来所谓样条(Spline)插值方法,既保留了分段低次插值多项式的各种优点,又…

    2022年10月30日
  • 软硬件版本号命名规范及原则是什么_文件版本号怎么编

    软硬件版本号命名规范及原则是什么_文件版本号怎么编1.软件版本阶段说明 Alpha版:此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。 Beta版:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。 RC版:该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。 Release版:该版本意味“最终版本”,在前面版本的一系列

  • [Cubieboard] 镜像资源汇总

    [Cubieboard] 镜像资源汇总

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号