构件清单

halo以core / supports的规划思路来设计实现技术构件。同时又借鉴了spring-bootstarter思路,为应用开发者筛选和组装了多个“开箱即用”的构件集合。下面包含了已实现的技术组件和目前提供的几个构件簇。

halo-core构件包

构件名称

功能描述

halo-common

提供通用统一的“工具箱”函数集合。包含了在更复杂的功能模块中需要被使用的工具函数方法的集合。对core包含技术构件提供桥接作用。

halo-data

为系统提供Application范围的数据模型对象和接口声明

halo-config

包含spring-cloud-configspring-cloud-zookeeper两个构件。提供应用所有配置项的读写和内容管理服务。开启了spring-cloud-common@RefershScope特性,实现springBean的配置项变动的感知。

halo-log

包含slf-4jlogback两个日志组件。提供统一的日志输出模式。除了提供提供控制台,磁盘输出方式外,基于kafka-client组建提供kafka日志输出。并通过spring-framework的AOP对代码各分层做日志记录。

halo-tune

包含spring-cloud-busspring-cloud-netflix-hystrix两个构件。为分布式架构下的系统提供节点间协同服务能力。包括应用间通知推送和服务熔断等。

halo-eyes

包含spring-boot-actuatormetricsspring-cloud-netflix-hystrix-dashboard构件。将应用自身的服务运行状况和一些管理类操作通过web和JMX的形式暴露出来,为外接监控系统提供指标数据。

halo-cache

包含jedis组件。除了提供redis基本的读写访问操作外,也增强了对数据库表数据的缓存化和缓存生命周期的管理。

halo-auth

包含apache-shiro组件。提供Web应用的用户认证与授权能力。通过可插拔的API设计,对用户授信体系做全链路的管理。

halo-cxf

包含apache-cxfswagger-UIspring-cloud-zookeeper-discovery几个组件。在为应用提供SOAP/HTTP-JSON的同步RPC服务支持基础上,一方面提供基于zookeeper的服务注册发现机制,同时也为开发者提供研发过程中的接口测试支持。除此之外,也支持对报文头信息的扩展定制等一系列新的功能特性。

halo-dao

包含Druid连接池构件。基于spring提供的数据库访问和事务管理的特性之上,结合Druid自身具备的各类SQL监控统计功能,增强应用对数据库访问过程中的掌控力度。

halo-filestore

包含mongo-client组件。为应用系统独立封装了对文档资源的访问API。提供NAS,FTP,MongoDB三种文档资源访问的操作服务。

halo-rabbit

包含amqp-client构件。提供对rabbitmq消息中间件的基础访问能力。通过一系列API的设计来简化访问。

halo-kafka

包含kafka-clientkafka-stream构件。提供对kafka中间件的基础访问能力。通过一系列API的设计来简化访问

halo-dasc

包含halo-rabbithalo-dao构件。借助rabbitmq和数据库自身具备的一致性特征,让开发者将异步服务调用过程以RPC风格来设计,实现调用链路的指令送达保证。是一种以消息中间件为中心的分布式异步服务调用框架。

halo-idemp

包含spring-spEL组件。通过注解和spEL组合,向开发者提供在服务或方法层面上,更便捷的“幂等性”支持。

halo-web

包含spring-mvc组件。提供WEB应用请求的处理支持。与halo-auth配合,提供完整的WEB应用层技术组件集合。

halo-batch

包含spring-batchQuartz构件。提供批处理任务编排和调度的能力。

halo-chopper

包含chopper框架。chopperhalo的“孪生兄弟”,其内部是通过Akka来管理应用的线程模型和调度。halo-chopper主要提供两个框架的桥接支持。

halo-suite

为了方便开发者对各组件的选择,提供了对halo-core下所有组件的maven引入依赖。

core-supports构件包

构件名称

功能描述

依赖组件

auth-anonymous

提供WEB应用的匿名访问的功能组件。

halo-auth

auth-classic

提供WEB应用页面登录鉴权方式组件。

halo-auth

auth-oauth2-authorizeserver

提供oauth2协议中的认证授权服务组件。

halo-auth

auth-oauth2-resourceserver

提供oauth2协议中的资源访问服务组件。

halo-auth

auth-uaa

提供对接UAA统一身份认证的服务组件。

halo-auth

cache-session

基于Redis缓存的会话容器实现组件。

halo-cachehalo-auth

cache-support

基于WEB服务的对缓存生命周期管理的组件。

halo-cachehalo-cxfhalo-web

dasc-support

halo-dasc组件中要求的持久化资源功能的数据库实现组件。

halo-daschalo-daohalo-cxfhalo-cache

fileload-support

基于WEB的文件上传下载公共url服务组件。

halo-filestorehalo-web

header-support

halo-cxf组件下,特定要求的报文头内容创建和解析功能的组件支持。

halo-cxf

idemp-support

halo-idemp组件中要求的幂等要素持久化功能的数据库实现组件。

halo-idemphalo-daohalo-cache

csrf-firewall

抵御WEB应用来自浏览器端的CSRF攻击防火墙组件。

halo-webhalo-auth

batch-trigger

为批处理任务的调度过程,提供http和dasc两种触发机制。

halo-batchhalo-daschalo-cxf

global-clock

为分布式系统环境提供统一的时钟服务。

halo-datahalo-data

health-checker

为应用系统的运行提供的健康检查监控组件。

halo-config

datagrid-support

为应用系统的WEB表格分页展示提供模型和SQL写法支持。

halo-data

jwt-support

提供WEB应用基于JWT的鉴权方式组件。

halo-auth

develop-supports构件包

构件名称

功能描述

依赖组件

dev-tool

为开发者提供相关功能代码和配置生成的组件。包括:工程目录生成,代码模版生成,数据库密码的密文生成等

halo-core

business-supports构件包

business-supports除了表格中列出的现有扩展插件之外,应用系统在实现业务功能过程中也会持续添加与业务领域模型相关的技术和业务组件。

构件名称

功能描述

依赖组件

dbversion-checker

基于halo-config,对应用关联数据库的脚本执行过程的版本校验。

halo-confighalo-dao

appversion-checker

基于halo-config、,对应用自身的版本校验。

halo-config

session-router

为了满足应用系统对会话容器Redis和业务缓存Redis的分离,基于halo-cache开发的支持组件。

halo-authhalo-cache

dasc-faildview

将DASC服务调用过程的轨迹数据,以消息为单位重新梳理,构建视图表的服务组件。

halo-daschalo-dao

dasc-soag

将DASC服务调用过程的轨迹数据,输出到SOAG平台。

halo-dasccloudmq

dict-support

基于统一的数据字典表,生成Java枚举类型的字典内容,并配套http服务调用,供开发者使用。

halo-cahcehalo-webhalo-cxf

batch-admin

基于spring-batch的内置表,制作的一个简化版本的批作业管理端。

halo-batchhalo-web

authority-support

基于halo-auth提供的扩展能力之上,整合和管理用户会话周期。同时结合应用的组织结构和用户管理数据,对外提供用户和机构数据服务。

halo-authhalo-cxf

jwt-service

基于halo-auth的API设计,面向PC端提供JWT风格的用户身份认证机制。

halo-authjwt-supportjjwt

task-support

对任务调度系统的人工节点地址跳转的接入功能封装。

halo-cxfhalo-dao

tsms-support

任务调度系统提供的DASC服务接口封装。

halo-common

cms-support

调用CMS系统的REST服务接口封装。

halo-common

message-support

为应用系统在WEB页面应用上提供可靠的用户通知消息的推送和接收组件。

halo-rabbithalo-daohalo-cxfhalo-webhalo-cache

halo-boot构件簇

halo-boot构件簇是为了避免开发者在halo众多技术组件的选择中迷失自我,出现选择恐惧症状的问题。halo作者结合自己在企业IT实施中的经验,对不同的系统搭建需求设计了几个具有典型代表的构件集合来方便使用。

构件名称

功能描述

依赖组件

halo-batchapp-starter

主要面向批处理作业场景的技术构件集合。

halo-confighalo-dao

halo-serviceapp-starter

主要面向无状态业务服务场景的技术构件集合。

halo-config

halo-webapp-starter

主要面向web展现交互场景的技术构件集合。

halo-authhalo-cache

halo-microapp-starter

主要面向构建微服务场景的技术构件集合。

halo-daschalo-dao

halo-mobileapp-starter

主要面向构建移动端应用场景的技术构件集合。

halo-dasccloudmq

Last updated