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技术优势
- JEPaaS以配置为中心,内置自研的资源表引擎,功能引擎,数据字典引擎,脚本引擎,流程引擎等,使开发人员脱离具体的技术细节,集中精力在业务开发;从而大大提高开发人员的开发速度,缩短项目的开发周期,减少企业的开发成本。
- JEPaaS采用三级缓存机制(浏览器缓存IndexDB,二级缓存Redis,一级缓存Ehcache),大大提高功能的加载速度,给予用户更好的使用体验。
- JEPaaS底层支持多种数据库,包括MySQL,Oracle,SqlServer,同时支持国产化数据库神通,人大金仓,达梦,TIDB,同时可以支持更多类型的数据库。
- JEPaaS支持国产金蝶天燕应用服务及国产化普华,中标麒麟,极大方便用户的国产化改造。
- JEPaaS采用自研升级机制,用户可以把配置好的功能,字典,流程等构建为一个升级包,然后把升级包升级到指定的采用JEPaaS的其他系统。
平台引擎式原理
- JEPaaS采用引擎式开发,开发人员操作引擎,生成元数据(资源表元数据,功能元数据,字典元数据,流程元数据等)和功能脚本(JavaScript),并进行元数据存储和缓存处理。
- 当用户请求功能,平台按如下过程加载元数据,如浏览器从indexDB中没有获取到元数据,则请求从后台加载(先从一级缓存加载,一级缓存没有,则从二级缓存加载,二级缓存没有则从数据库加载,并缓存至浏览器)。
- 前端引擎根据元数据进行功能渲染,根据功能配置元数据渲染功能,从而决定功能展示方式(列表或表单),根据列表元数据或表单元数据进行列表渲染、表单渲染、快速查询渲染,高级查询渲染,并根据功能配置数据进行功能数据加载。
- 用户看到配置化界面,点击功能按钮或其他操作,触发脚本事件,执行相应脚本,完成用户业务串联操作。
核心模块
- 资源表引擎
- 功能引擎
- 数据字典引擎
- 工作流引擎
- 菜单管理
- 图报表引擎
- 门户引擎
- 插件引擎
- 角色权限
- 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-08-21 10:58 作者:呼丽华