大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
文章内容
1.功能介绍
2.源码结构分析
3.总结
1.功能介绍
1.1.整体界面
主要功能包括:
已创建的数据面板:包含已经创建的DashBoard
配置功能:DashBoard配置功能集
定时任务:创建和管理定时任务
资源管理:看板,数据源等的权限和分享
管理:主要是用户管理
多语言:支持多语言版本
1.2.DashBoard配置功能
主要包括:
数据源定义:支持Elasticsearch、saiku、TextFile、jdbc、kylin几种类型的数据源,通过此功能配置相关的连接参数和连接测试;一jdbc为例,参数设置如下:
数据集定义:定义数据的来源,可以是一个SQL语句,也可以是其他复杂数据集类型;
图表的定义:数据的显示通过图标的定义来完成,这个功能需要多尝试一下,应为支持的图表的类型较多,某一个输入框代表的含义可能有所不同,github上提供部分说明;
具体可参见:https://tuiqiao.github.io/CBoardDoc/#/en-us/manual/widget
图表支持自定义扩展:https://github.com/TuiQiao/CBoard/issues/172
这里有几点需要强调的:
(1)提供预览功能(真实数据),可以很方便的查看图表的实际显示效果;
(2)在原有数据集的基础上提供较为强大的过滤规则、数据统计、排序功能(当然这个可以在数据集定义那一步完成);
(3)过滤规则也是可扩展的;
(过滤规则定义)
(统计功能)
面板定义:定义好图表,需要面板来显示,这一步相对简单,设计到简单的布局,与bootstrap布局规则类似;
定时任务:完成以上4步,已经可以在界面显示数据图表,CBoard提供定时任务,不过目前来看只支持定时发送邮件功能,可以直接嵌入图表;
2.源码结构分析
2.1.源码部署
项目通过maven发布,按照一般步骤进行项目导入即可:
1.pom.xml中依赖catalina.jar,导致在tomcat启动时发生冲突;
2.1.源码结构初步分析
复合传统的SSM项目结构
重点关注了数据源的支持问题:统一的DataProvider接口,需要扩展时可以参考已有的实现;
然后是前端界面,采用MVVC(AngularJS+Bootstrap)结构;
最后,是关于框架使用插件,从源码来看,整理的还是十分清晰,独立的;包括缓存用到的ehcache、redis;
3.总结
1.由于CBoard的目的很明确,在实现主要功能的前提下,由于采用了SSM架构本身具有很好的扩展性;
2.前端使用的是比较成熟的AdminLTE,如果仅做后台管理,其实是完全够用的;
就目前版本,个人认为的不足有以下几点:
1.前端由于需要支持大量组件,显得相对比较臃肿,可以采用按需加载的方式进行优化;
2.由于在底层实现上数据的通过二位数据来表示的,在数据展示的维度上有一定的限制,可通过合理的方式进行优化;
(以上参考版本v0.3.2)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213382.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...