Skip to content

简介 ​

Beangle立足企业软件开发,提供敏捷、基于约定(Convention Over Configuration)的脚手架和工具包。着力以简化项目构建,并规范项目开发习惯,形成易于管理的最佳实践.

项目列表 ​

  • Jstart 用 D 语言实现的轻量级 Java 工件启动器,解析依赖清单并按需下载后拉起应用
  • BUI 提供基于Bootstrap的前端UI框架,包含丰富的标签和组件
  • Build 提供各模块共用的sbt构建插件集(格式检查、打包、DDL、原生镜像等)
  • Cache 提供统一的缓存接口和多种缓存实现
  • Commons 提供依赖注入,bean,反射,CSV、字符串处理,web通用基础类
  • Config 提供统一的配置加载和管理功能
  • Cron 提供轻量级任务调度功能
  • Data 提供基于数据模型的定义、转化、查询支持,集成jpa、hibernate
  • Event 提供事件驱动框架,支持数据事件总线和消息队列
  • JDBC 提供数据库连接管理、SQL执行、元数据查询等功能
  • Micdn 部署简易的cdn
  • Notify 提供邮件、短信等多种通知方式,支持异步发送和消息队列
  • Otk 提供在线工具包,包括验证码、二维码、短链接等工具
  • Bas 在 Tomcat 基础上提供简化配置和便利部署的能力
  • Security 提供认证、授权、会话管理等核心安全功能
  • Serializer 提供JSON、XML、CSV、Protobuf等多种格式的序列化功能
  • She 提供Shell扩展框架,包括Web MVC支持和Hibernate集成
  • Spring 提供container支持,集成spring、hibernate
  • Template 提供模板引擎框架,支持FreeMarker
  • Transfer 提供数据导入导出功能,支持Excel、CSV等格式
  • Web 提供Web相关的工具类和功能,包括HTTP处理、资源管理等
  • WebMVC 提供webmvc所需的约定,集成spring和struts提供运行环境
  • Doc 提供文档处理能力,包含HTML、DOCX、Excel、PDF等格式处理
  • EMS 企业系统集成平台,提供统一用户管理、安全认证、权限控制
  • IDS 基于CAS协议的身份认证服务,提供统一单点登录能力
  • CA 数字证书签名组件,支持PDF签名、电子印章、时间戳服务
  • SQLPlus 面向关系数据库的工具集,提供数据迁移、报告生成、SQL检查

依赖关系 ​

Beangle 项目之间存在清晰的依赖关系,底层基础模块支撑上层应用模块。以下依赖图主要展示核心模块之间的关系,独立服务(Otk、Micdn、Jstart)和应用服务器(Bas)未包含在内。

模块依赖关系图 ​

                           ┌──────────────────────────────────────────────────┐
                           │              Web框架层 (Web Framework)           │
                           │     BUI          WebMVC          She            │
                           └──────────────┬───────────────────┬───────────────┘
                                          │                   │
                                          ▼                   ▼
                           ┌──────────────────────────────────────────────────┐
                           │                 安全层 (Security)                │
                           │                    Security                     │
                           └───────────────────────┬─────────────────────────┘
                                                   │
          ┌────────────────────────────────────────┼────────────────────────────────┐
          │                                        │                                │
          ▼                                        ▼                                ▼
┌────────────────────────┐           ┌────────────────────────┐     ┌────────────────────────┐
│    工具层 (Tools)      │           │     数据层 (Data)       │     │    基础层 (Foundation) │
│  ┌─────────────────┐   │           │  ┌─────────────────┐   │     │  ┌─────────────────┐   │
│  │ Cache  Event    │   │           │  │    JDBC         │   │     │  │                │   │
│  │ Notify Template │   │           │  │    Data         │   │     │  │   Web          │   │
│  │ Doc   Serializer│   │           │  └─────────────────┘   │     │  │   Config       │   │
│  │ Cron  Transfer  │   │           └────────────────────────┘     │  │   CDI          │   │
│  └─────────────────┘   │                                          │  └─────────────────┘   │
│                        │                                          │                        │
│         工具层内模块互不依赖                                         │                        │
└────────────────────────┘                                          └────────────────────────┘
        │                              │                                        │
        │                              │                                        │
        └──────────────────────────────┴────────────────────────────────────────┘
                                         │
                                         ▼
                           ┌──────────────────────────────────────────────────┐
                           │         Commons (语言和库增强)                   │
                           │   字符串|集合|反射|DI|加密|IO|网络|并发           │
                           └──────────────────────────────────────────────────┘

模块分类详情 ​

基础层(Foundation) ​

提供最核心的基础设施能力,是所有模块的基石:

模块功能描述依赖
Commons字符串处理、集合操作、依赖注入、反射、CSV处理、安全加密无
WebHTTP处理、资源管理、Servlet集成Commons
Config统一配置加载和管理功能Commons
CDIContainer支持,集成Spring、HibernateCommons

数据层(Data) ​

提供数据访问和处理能力,与工具层并列:

模块功能描述依赖
JDBC数据库连接管理、SQL执行、元数据查询Commons
Data数据模型定义、转化、查询支持,集成JPA/HibernateCommons、JDBC

工具层(Tools) ​

提供各类独立工具能力,模块之间互不依赖:

模块功能描述依赖
Cache统一缓存接口,支持Caffeine、Redis、EhcacheCommons
Event事件驱动框架,支持数据事件总线和消息队列Commons
Notify邮件、短信等通知方式,支持异步发送Commons、Cache
Template模板引擎框架,支持FreeMarkerCommons
Doc文档处理库,支持HTML、DOCX、Excel、PDFCommons、Template
SerializerJSON、XML、CSV、Protobuf序列化Commons
Cron轻量级任务调度功能Commons
Transfer数据导入导出,支持Excel、CSVCommons

安全层(Security) ​

提供认证、授权、会话管理等核心安全功能:

模块功能描述依赖
Security认证、授权、会话管理,支持JWT、OAuthCommons、JDBC、Cache、Web、Serializer

Web框架层(Web Framework) ​

提供Web应用开发框架:

模块功能描述依赖
BUI基于Bootstrap的前端UI框架Commons、Template
WebMVCWeb MVC框架,集成Spring和StrutsCommons、Web、Template
SheShell扩展框架,Web MVC支持和Hibernate集成Commons、WebMVC、Data

应用层(Application) ​

模块功能描述依赖
Bas应用服务器,简化配置和便利部署Commons、Web

独立服务(Standalone Services) ​

独立运行的服务模块:

模块功能描述依赖
Jstart轻量级 Java 工件启动器(D 语言原生实现)无
Otk在线工具包,包括验证码、二维码、短链接等Commons、Security
Micdn简易CDN部署Commons
EMS企业系统集成平台,提供用户管理、安全认证、权限控制Commons、Security、WebMVC、Data、Cache

核心依赖关系 ​

Commons (基础)
  ├── Web ────────► WebMVC ──┬──► Bas
  │                └───────► She │
  ├── Config                   │
  ├── CDI                      │
  │                            │
  ├── JDBC ──┬──► Security ────┘
  │          └──► Data ──────────┘
  │
  ├── Cache ───► Notify
  ├── Event
  ├── Template ──┬──► BUI
  │              └──► Doc
  ├── Serializer
  ├── Cron
  └── Transfer

版本兼容性矩阵 ​

模块依赖 Commons 版本说明
Commons-核心基础库
Jstart-独立原生工具,不依赖 Commons
Web6.1.0+Web基础
Config6.0.0+配置管理
CDI6.0.0+容器集成
JDBC6.0.4+数据库访问
Data6.0.0+数据模型
Cache6.0.0+缓存抽象
Event6.0.0+事件总线
Notify6.0.17+通知服务
Template6.1.0+模板引擎
Doc6.0.6+文档处理
Serializer6.0.0+序列化
Cron6.0.0+任务调度
Transfer6.0.0+数据传输
Security6.1.0+安全框架
WebMVC6.1.1+Web MVC
BUI6.0.0+UI框架
She6.0.0+Shell扩展
Bas6.0.0+应用服务器
Otk6.0.0+在线工具
Micdn6.0.0+CDN服务
EMS6.0.0+企业系统集成平台

独立服务与平台介绍 ​

Bas - 应用服务器 ​

Bas 是一个轻量级的 Java 应用服务器,专为 Beangle 应用设计:

核心特性:

  • 简化部署:支持一键部署 WAR、JAR 等多种打包格式
  • 内置管理:提供 Web 管理界面,支持应用监控和配置管理
  • 热部署:支持应用的热更新,无需重启服务器
  • 负载均衡:内置简单的负载均衡能力
  • 配置灵活:支持多种配置方式,易于定制

Otk - 在线工具服务 ​

Otk(Online Toolkit)是一个提供多种在线工具的独立服务:

核心功能:

工具描述
验证码服务生成图形验证码、短信验证码
二维码生成支持多种格式的二维码生成
短链接服务URL 短链接生成和解析
文档处理PDF 生成、Excel 处理

技术特点:

  • 独立部署,提供 RESTful API
  • 支持高并发访问
  • 可与 EMS 集成,作为统一认证后的工具服务

Micdn - 简易 CDN 服务 ​

Micdn(Mini CDN)是一个轻量级的 CDN 服务:

核心功能:

  • 静态资源托管:支持图片、CSS、JS 等静态文件
  • 文件缓存:多级缓存策略,提升访问速度
  • 资源压缩:自动压缩静态资源
  • 访问统计:提供资源访问统计和分析

适用场景:

  • 中小型网站的静态资源加速
  • 内部系统的资源共享
  • 开发环境的资源管理

EMS - 企业系统集成平台 ​

EMS(Enterprise Management System)是一个综合性的企业系统集成平台:

核心模块:

模块描述
用户管理用户信息、角色、组织架构管理
安全认证CAS、OAuth、JWT 统一认证
权限控制功能权限、数据权限管理
系统配置多租户、多域名配置管理
办公自动化公告、文档、流程审批

架构特点:

  • 多租户支持:支持多个组织或部门独立使用
  • 统一认证:集成多种认证方式,单点登录
  • 模块化设计:各模块松耦合,可按需启用
  • RESTful API:提供完整的 Web 服务接口

典型应用场景:

  1. 企业统一身份管理:集中管理企业所有应用的用户
  2. 权限中心:统一的权限管理和审计
  3. 系统集成:作为企业应用的集成枢纽

许可证 ​

LGPL v3