CBoard框架使用总结一

来源:互联网 发布:股票看盘软件 编辑:程序博客网 时间:2024/06/01 10:13

文章内容

1.功能介绍
2.源码结构分析
3.总结

1.功能介绍

1.1.整体界面

这里写图片描述

(CBoard支持中英文版本)

左侧功能依次为:
已创建的数据面板:包含已经创建的DashBoard
配置功能:DashBoard配置功能集
管理:主要是用户管理(Spring-Security)

1.2.DashBoard配置功能

这里写图片描述

主要包括:
数据源定义:支持Elasticsearch、saiku、TextFile、jdbc、kylin几种类型的数据源,通过此功能配置相关的连接参数和连接测试;一jdbc为例,参数设置如下:
这里写图片描述

数据集定义:定义数据的来源,可以是一个SQL语句,也可以是其他复杂数据集类型;

这里写图片描述

图表的定义:数据的显示通过图标的定义来完成,这个功能需要多尝试一下,应为支持的图表的类型较多,某一个输入框代表的含义可能有所不同,github上提供部分说明;

这里写图片描述

这里有几点需要强调的:
(1)提供预览功能(真实数据),可以很方便的查看图表的实际显示效果;

(2)在原有数据集的基础上提供较为强大的过滤规则、数据统计、排序功能(当然这个可以在数据集定义那一步完成);

(过滤规则定义)
这里写图片描述

(统计功能)
这里写图片描述

面板定义:定义好图表,需要面板来显示,这一步相对简单,设计到简单的布局,与bootstrap布局规则类似;
这里写图片描述

定时任务:完成以上4步,已经可以在界面显示数据图表,CBoard提供定时任务,不过目前来看只支持定时发送邮件功能,不过目测可以进行扩展;
这里写图片描述

2.源码结构分析

2.1.源码部署

项目通过maven发布,导入上并没有遇到太多问题:

1.pom.xml中依赖catalina.jar,导致在tomcat启动时发生冲突;

2.Spring、Mybatis等配置文件目录在resource中,需要发布到classpath中;
这里写图片描述

2.1.源码结构初步分析

首先典型的Spring-MVC架构,还有Mybatis相关的东西;
其次,主要关心数据源的支持问题:统一的DataProvider接口
这里写图片描述

重点关注getData方法,放回String[][]的二维数组,可以在需要时扩展实现对应的DataProvider,不过关于底层的数据类型转换是怎么实现的还没有深究,也不知道会不会存在问题;

然后是前端界面,很规范的MVVC(AngularJS+Bootstrap)结构,代码也很清晰,比较容易实现扩展;
这里写图片描述

最后,是关于框架使用插件,从源码来看,整理的还是十分清晰,独立的;包括缓存用到的ehcache、redis,以及定时任务用到的quartz,特别是前端用到的各种组件和插件,都有特别的整理;

3.总结

1.由于CBoard的目的很明确,没有一些可有可无的功能(Security其实也可以不加进来),使得整个框架在使用和代码上都比较清晰和明确;

2.源码有较大的扩展空间、而且相对易懂;

3.前端布局没有出现一些莫名其妙的问题,模板设计还是比较完善的;

CBoard-yzhang921项目地址

原创粉丝点击