2011年3月17日,上海交大信息中心主办了“2011高校信息化实践者精英论坛”,本次论坛的主题是“云.端.未来”。微软作为上海交大信息化建设的长期合作伙伴及推动者之一,应邀参加本次论坛,并就“云计算”产品方案及上海交大BI系统建设两个方面作了汇报;而苹果作为当前最优秀的“端”,在ipad2发布不久,应邀参与了本次论坛,并就苹果在高校的相关应用、开发技术、开发环境搭建等方面作了汇报。除了厂商参与之外,还有来自清华大学信息中心的袁芳老师,上海财经大学等其他高校的老师们也分别汇报了各自的信息化建设情况。
关于“云计算”,即微软Windows Azure相关产品及技术,由微软教育行业解决方案经理郑敏小姐汇报,而我主要汇报了微软MCS部门给上海交大实施的一个BI项目,即财务管理驾驶舱系统。之所以跟大家分享,也是为了让大家来一起探讨如何在企业里将BI项目落地,同时也希望大家多给一些意见和建议,多谢!
先看看下面几张系统的截图:
下面我们来看看上述系统具体是如何实现的。
谈到BI自然就会想到产品和厂商,BI产品和厂商固然重要,但是我个人认为,更重要的是要弄清楚BI系统如何去架构和实现,如何去体现BI的价值。因为上海交大财务管理驾驶舱系统是个比较小的BI项目,并没有用到微软的Sharepoint技术,也没有用到Excel Service技术,更没有用到Silverlight来做前台展现,当然也正是因为没有用到这些技术,可能有些朋友反而会更感兴趣。如果单看上述截图,估计没办法弄清楚其设计思想,在这里我主要就设计思想及技术方案作以下说明:
(1)主要设计思想:将业务人员和报表开发人员分离,开发人员专注于Cube,而业务人员专注于配置OLAP报表。数据源部分,建立财务数据仓库及多维数据集,基于多维数据集进行OLAP分析。系统前台展示界面部分,一个菜单对应一个分析主题,一个分析主题对应一个页面,一个页面针对不同角色可以配置不同页面模板,一个页面模板可以由多个图表区域构成,一个图表区域内可以配置多个图表。系统后台管理部分,集成上海交大Jaccout权限认证系统,动态新增和管理分析主题(即页面),动态配置角色访问分析主题的权限,根据角色动态配置其有权访问的页面对应的页面模板,页面模板里动态配置其拥有的区域,报表发布人员(业务人员)可以针对不同角色的不同页面的不同区域,发布多张OLAP图表。至于OLAP图表的配置、展示等统统交给Dundas来完成,但是更深层次的交互功能需要用JQuery来对UI部分进行Dundas的二次开发。
(2)涉及的相关产品及技术:Oracle、MS SQL 、SSIS 、SSAS、ASP.NET(web service/xml/master page/skin/用户控件等)、ADO.NET Entity Framework、JQuery(ASP.NET AJAX的替代品)、Dundas Chart for OLAP(已被微软收购)、FusionChart等;
(3)具体实现步骤:首先是在SQL SERVER中建立财务数据仓库,并利用SSIS将财务的业务数据从Oracle中获取、清洗至SQL SERVER,利用SSAS建立财务Cube及相应的维度、度量(组)等,并部署至SQL SERVER中;后台管理部分,基于ASP.NET技术,建立报表管理平台,对象关系映射框架采用ADO.NET Entity Framework,配置OLAP报表部分采用Dundas Chart;前台展示部分,采用XML描述页面模板,页面模板可以由定制开发的部分加配置图表的部分组成,如图1所示。配置部分即包含着多个图表区域,而每个页面区域的图表展示用一个用户控件搞定,调用页面模板时根据配置的区域个数动态加载用户控件。该用户控件中,用JQuery来实现Tab切换及图表的异步更新。区域内的图表展示时根据图表类型(Dundas/Flash/Html)的不同而异步显示不同的图表,如图3所示。这里需要说明的是,后台FusionChart的配置需要根据不同的Flash类型(仪表盘/温度计/散点图……)所需要的不同参数配置不同的MDX语句来完成,因此大多数情况下只能由开发人员来配置,如图5所示。
图6 微软眼中的上海交大BI之路
如图6所示,BI之路的确漫长,而财务管理驾驶舱系统也只是实现了从定制分析到配置分析的一小步,后面的路还需要继续探索。因时间有限,上述系统的具体实现细节不能一下子讲清楚,有什么疑问就给我留言或发邮件吧,我的邮箱 bobomouse@qq.com .Your potential, My passion!