JEPaaS是北京凯特伟业科技有限公司开发的一款快速开发平台,立足于传统软件开发,针对现代企业应用面对的一系列问题,我们完善了低代码快速开发、集群部署以及SAAS快速开发;旨在降低行业的软件开发成本!

平台架构

  • JEPaaS底层支持多种数据库,包括Oracle,MySQL,SqlServer,人大金仓,神通,达梦,TIDB。
  • JEPaaS使用动态映射机制,用户不再需要书写实体与数据库表进行映射关联,而是直接使用DynaBean机制。
  • JEPaaS实现了通用的工具集,组件集,应用集,能大大提高开发人员的开发效率。
  • JEPaaS统一实现了资源表引擎,数据字典引擎,功能引擎,工作流引擎等,极大缩短业务应用开发周期。

后端选型

  • 核心框架:Spring Framework
  • 视图框架:Spring MVC
  • 任务调度:Spring Task
  • 缓存框架:EhCache、Redis
  • 日志框架:Slf4j、Logback
  • 持久层框架:自主研发JEDB
  • 工作流引擎JBPM
  • 数据库连接池:Druid
  • WebSocket:Netty,SocketIO

前端选型

  • JS框架:jQuery、VUE
  • UI框架:ElementUI
  • 富文本编辑器:UEditor
  • 代码编辑器:monacoEditor
  • Scoket通讯:SocketIO、WebSocket
  • 图表组件:EChart
  • 打印组件:Lodop
  • APP JS框架: MUI、H5+、VUE
  • APP UI框架:MUI、ElementUI
  • Office组件:PageOffice

JEPaaS技术优势

  1. JEPaaS以配置为中心,内置自研的资源表引擎,功能引擎,数据字典引擎,脚本引擎,流程引擎等,使开发人员脱离具体的技术细节,集中精力在业务开发;从而大大提高开发人员的开发速度,缩短项目的开发周期,减少企业的开发成本。
  2. JEPaaS采用三级缓存机制(浏览器缓存IndexDB,二级缓存Redis,一级缓存Ehcache),大大提高功能的加载速度,给予用户更好的使用体验。
  3. JEPaaS底层支持多种数据库,包括MySQL,Oracle,SqlServer,同时支持国产化数据库神通,人大金仓,达梦,TIDB,同时可以支持更多类型的数据库。
  4. JEPaaS支持国产金蝶天燕应用服务及国产化普华,中标麒麟,极大方便用户的国产化改造。
  5. JEPaaS采用自研升级机制,用户可以把配置好的功能,字典,流程等构建为一个升级包,然后把升级包升级到指定的采用JEPaaS的其他系统。

平台引擎式原理

  1. JEPaaS采用引擎式开发,开发人员操作引擎,生成元数据(资源表元数据,功能元数据,字典元数据,流程元数据等)和功能脚本(JavaScript),并进行元数据存储和缓存处理。
  2. 当用户请求功能,平台按如下过程加载元数据,如浏览器从indexDB中没有获取到元数据,则请求从后台加载(先从一级缓存加载,一级缓存没有,则从二级缓存加载,二级缓存没有则从数据库加载,并缓存至浏览器)。
  3. 前端引擎根据元数据进行功能渲染,根据功能配置元数据渲染功能,从而决定功能展示方式(列表或表单),根据列表元数据或表单元数据进行列表渲染、表单渲染、快速查询渲染,高级查询渲染,并根据功能配置数据进行功能数据加载。
  4. 用户看到配置化界面,点击功能按钮或其他操作,触发脚本事件,执行相应脚本,完成用户业务串联操作。

核心模块

  • 资源表引擎
  • 功能引擎
  • 数据字典引擎
  • 工作流引擎
  • 菜单管理
  • 图报表引擎
  • 门户引擎
  • 插件引擎
  • 角色权限
  • JEAPP引擎
  • 定时任务引擎
  • 持久层引擎

后端代码结构


je-platform
│  pom.xml maven配置文件
│  README.MD 说明文件
├─je-base 基础模块,此模块包括一些基础实体,接口和通用实现
│  │  pom.xml 基础包maven配置文件
│  ├─src
│  │  └─main
│  │      └─java
│  │          ├─com 源码目录
│  │             ├─je
│  │                ├─activemq activemq实现
│  │                │          
│  │                ├─cache 缓存实现
│  │                │              
│  │                ├─calendar 日历
│  │                │          
│  │                ├─cluster 集群
│  │                │      
│  │                ├─config 配置
│  │                │          
│  │                ├─core 核心业务
│  │                │              
│  │                ├─datasource 三方数据源
│  │                │          
│  │                ├─db 表结构操作
│  │                ├─dd 数据字典实现
│  │                │          
│  │                ├─develop 功能引擎实现
│  │                │          
│  │                ├─icon 用户图标
│  │                │          
│  │                ├─message 邮箱实现
│  │                │              
│  │                ├─micromail 微邮实现
│  │                │          
│  │                ├─paas 文档及网盘WEB实现
│  │                │              
│  │                ├─phone 移动端实现
│  │                │          
│  │                ├─portal 门户实现
│  │                │          
│  │                ├─postil 标注实现
│  │                │          
│  │                ├─rbac 角色权限实现
│  │                │      
│  │                ├─staticize 静态化实现
│  │                │          
│  │                ├─table 资源表实现
│  │                │          
│  │                ├─thrid 其他三方实现
│  │                │          
│  │                └─wf  工作流实现
├─je-core
│  │  pom.xml
│  ├─src
│     └─main
│         └─java
│             ├─com
│                │              
│                └─je
│                    │          
│                    ├─busflow 业务流实现
│                    │          
│                    ├─cache 缓存实现
│                    │              
│                    ├─calendar 日历实现
│                    │          
│                    ├─cluster 集群实现
│                    │          
│                    ├─config 系统设置实现
│                    │          
│                    ├─core 核心业务实现
│                    │          
│                    ├─datasource 三方数据源实现
│                    │          
│                    ├─db 表结构操作实现
│                    │          
│                    ├─dd 数据字典实现
│                    │          
│                    ├─desktop 桌面版相关实现
│                    ├─develop 功能引擎实现
│                    │          
│                    ├─disk 网盘相关实现
│                    │          
│                    ├─eventbus 消息总线实现
│                    │      
│                    ├─express 邮件操作实现
│                    │          
│                    ├─icon 用户图标实现
│                    │          
│                    ├─job 任务调度实现
│                    │          
│                    ├─menu 菜单管理实现
│                    │          
│                    ├─message 邮箱实现
│                    │          
│                    ├─micromail 微邮实现
│                    │          
│                    ├─mxgraph 流程图实现
│                    │          
│                    ├─paas 文档及网盘操作实现
│                    │          
│                    ├─pageOffice PageOffice操作实现
│                    │          
│                    ├─phone 移动端实现
│                    │          
│                    ├─portal 门户实现
│                    │          
│                    ├─postil 标注实现
│                    │          
│                    ├─push 推送实现
│                    │          
│                    ├─rbac 角色权限实现
│                    │          
│                    ├─report 图报表实现
│                    │          
│                    ├─security 安全实现
│                    │          
│                    ├─staticize 静态化实现
│                    │          
│                    ├─table 资源表实现
│                    │          
│                    ├─task 任务调度实现
│                    │          
│                    ├─thrid 其他三方实现
│                    │          
│                    ├─upgrade 升级实现
│                    │          
│                    ├─wf 工作流实现
│                                     
│   
│                          
├─je-plugin 插件模块
│  │  pom.xml    插件模块maven包管理配置文件
│  ├─je-plugin-iot IOT模块实现
│  │  │  pom.xml IOT模块maven配置文件
│  │  │  
│  │  └─je-plugin-iot-mqtt IOT-MQTT实现
│  │              
│  ├─je-plugin-oauth2 oauth2认证实现
│  │  │  pom.xml
│  │  │  
│  │  ├─je-plugin-oauth2-client oauth2客户端实现
│  │  │                          
│  │  └─je-plugin-oauth2-server oauth2服务端实现
│  │                              
│  ├─je-plugin-preview 文档pdf和图片预览插件实现
│  │                          
│  └─je-plugin-third 微信、钉钉、飞书三方集成实现。
│                                  
├─je-web web模块
   │  pom.xml web模块配置文档
   ├─src
      ├─main
         ├─java
         │  ├─com 业务源码目录
         │     │          
         │     ├─project
         │        ├─demo
         │                      
         ├─resources 资源目录
         │  ├─local 本地环境
         │  │      
         │  ├─preview 预览环境
         │  │      
         │  ├─prod 生产环境
         │  │      
         │  ├─public 公共配置
         │  │  │  
         │  │  ├─META-INF
         │  │     │              
         │  │     └─xfire webservice配置
         │  │              
         │  └─test 测试环境
         │          
         └─webapp web根路径
             │          
             ├─JE
             │  └─data
             │      ├─cache 缓存文件目录
             │      │      
             │      ├─config 系统配置文件目录
             │      │          
             │      ├─excel
             │      │      
             │      ├─helpMsg
             │      │      
             │      ├─jpdl
             │      │          
             │      ├─newDoc
             │      │      
             │      ├─template
             │      │      
             │      ├─upgrade
             │      │              
             │      └─upload
             │                  
             │                      
             ├─plugin 前端插件目录
             │          
             ├─pro 前端项目目录
             │          
             ├─static 前端静态目录

前端代码结构

├── gulpfile.js                 // 打包程序
├── config                      // 打包程序配置目录
|      ├── config.json          // 项目配置文件,<<<修改后不可提交!>>>
|      ├── gulp-config.json     // 打包程序配置文件,每次发布新包,请同步更新version属性
|      ├── gulp-build.js        // 打包文件--构建文件
|      ├── gulp-rev.js          // 打包文件--加MD5版本
|      ├── gulp-copy.js         // 打包文件--复制文件
|      └── pro                  // 项目配置文件
├── dev.js                      // 代理服务程序--开发环境
├── product.js                  // 代理服务程序--发布环境
├── src                         // 源码目录
├── static                      // 静态资源目录
├── PRO                         // 业务代码目录,写法参照src/static/data/PRO
├── data                        // 项目测试数据目录,.json文件。不加入git管理,自行创建
├── test                        // 测试目录。不加入git管理,自行创建
├── dist                        // 发布目录
├── build                       // 打包输出目录
├── node_modules                // node 插件目录
├── README.MD                   // help
└── package.json                // node配置文件,通过 npm install 安装所有插件
最后编辑: 吝志超  文档更新时间: 2024-04-28 13:13   作者:呼丽华