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项目地址
- CBoard框架使用总结一
- CBoard框架使用总结二--扩展新的功能模块
- CBoard框架使用总结三--AdminLTE可扩展性分析
- CBoard框架使用总结五--扩展菜单配置功能
- CBoard框架使用总结五--角色权限控制
- CBoard框架使用总结七--添加首页图表
- CBoard框架数据集实现--DataProvider
- laravel框架使用总结(一)
- PHP总结(一)框架的使用
- Telephony 框架总结 (一)
- 集合框架总结(一)
- Codelgniter框架总结(一)
- TinkPHP框架总结一
- laravel框架总结一
- 各开源框架使用与设计总结(一)
- 网络请求框架 okhttp 简单的使用总结(一)
- SSH2框架使用(一)
- SpringMVC框架使用(一)
- vue-cli手脚架模板使用sass
- Hibernate hql 2
- NOIP2016提高组Day1 真题测试
- linux环境导入导出postgres数据库表结构和表数据
- SAX和STAX解析xml文档
- CBoard框架使用总结一
- 一个C++新手碰到的
- 学生信息管理系统总结
- CAD编辑指南1:查看DWG图纸和CAD转PDF
- 提问的智慧
- OpenCV学习博客大全
- 51Nod 1083 矩阵取数问题
- AudioRecord工作流程(蓝牙a2dp的状态下)
- 有趣的深度图:可见性问题的解法