实践目标
通过解构润乾多维分析系统,阅读关键源代码,详细了解其能力构成,从而总结出使用它的指导意见。
润乾多维分析系统的特殊性
现在主流多维分析系统都是BS结构的,大多是一个多用户WEB系统,用户在浏览器上操作,向WEB服务器发出请求,WEB服务器再从数据库(或文件)里获得数据返回给界面。同时设计了一种用户角色权限方案,内置在系统中。还能对系统中的数据源/数据集/分析文件/系统日志等各种资源进行管理。往往是一个重度、密不可分的WEB系统,买来即用,基本上不涉及二次开发。
润乾多维分析比较特殊,整体比较轻量,通过试读其关键源代码,有下面四个特殊点需要细究:
1、它重点推荐使用的数据源并非常规数据库(DB Server),而是把DB Server用语义层描述后,封装起来,再用DQL Server提供数据查询服务,当然查询语言也就从之前的SQL变成了DQL。之所以费劲搞这个封装,是基于DQL的元数据树做多维分析,能自动解决JOIN等一些难题,提前CUBE建模的步骤就基本省去了。
2、没有内置用户权限系统,要根据自己已有系统登录用户的权限,通过在session中设置隐含条件、JS变量中设置资源路径等方式进行控制。
3、分析结果以分组、交叉表格、不同种类的统计图展示,制作这些图表不是个小工程,润乾多维分析的代码里确实也没自己制作,是借用了润乾报表API,根据分析操作用JAVA程序生成润乾报表(*.rpx,通常是用设计器制作润乾报表的)。
4、运行环境中集成了集算器脚本,可以处理一些需要特殊编程才能支持的数据,比如有的多维分析内置了读取excel文件的能力,但不支持读取txt、csv、json文件,这些容易用一句类似的集算器脚本支持:file(a.csv).import@t(;,“,”)。有特殊数据来源,或需要复杂计算,或需要解决性能的计算,都可以用这种集算器脚本实现。
在细究这些特殊点之前,先看一下都有哪些相关源代码。
浏览器端的Javascript源代码都在{WEB根目录}/raqsoft/guide/js/下,主要的js文件有dqlApi.js、dqlreport.js、query.js、raqsof

最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



