JPivot+Mondrian典型的开发流程及模式:
1数据库结构定义成Schema
schema元模型包括维度(Dimensions)、层次(Hierarchies)、级别(Levels)、和成员(Members)等。Mondrian要根据它来从关系数据库中聚合数据响应MDX语法的查询。可以说Schema文件是Jpivot+Mondrian架构应用中最核心,最关键的文件。PAS JPivot+Mondrian Demo的/WebRoot/Web-Inf/pasmondrian.xml文件就是基于XML的,用于映射OLAP的数据库结构,以供Mondrian服务器响应MDX语句查询的Schema元模型文件。Schema元模型的定义文件较复杂。幸运的是有开源工具CubeDesigner可以帮我们生成该文件,虽然该工具刚推出不久,并不成熟、稳定,还有许多BUG存在,但它至少可以生成一个大致的文件框架,可以大大减轻工作量。
基于XML的Schema元模型定义文件的主要元素及其相关属性,可参考Mondrian文档。
2 编写MDX查询语句
在Demo的/WebRoot/Web-Inf/queries/pasmondrian.jsp文件中,使用JPivot的<jp:mondrianQuery>标签定义一个MDX查询语句,代码如下:
<jp:mondrianQuery id="query01" jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver"
jdbcUrl="jdbc:odbc:jmpas"
jdbcUser="sa"
jdbcPassword="sa"
catalogUri="/WEB-INF/pasmondrian.xml">
select {[Measures].[zbz]} ON COLUMNS,{([jgmc].[All jgmc],[zbmc].[All zbmc])} ON ROWS from pas
where [tjrq.tjrq].[All tjrq]
</jp:mondrianQuery>
<jp:mondrianQuery>标签及其属性,可参考JPivot文档。
3 编写OLAP展现页面
在Demo的/WebRoot/pasmondrian.jsp利用JPivot及WCF一系列JSP标签展现Mondrian服务器返回的OLAP数据集。
具体代码参见DEMO相关文件;JPivot及WCF标签用法参考相关文档。
4 程序典型流程
1、用户发出 pasmodrian.jsp?query= pasmodrian的请求
2,pasmodrian.jsp上的<wcf:include>根据query参数,匹配/WEB-INF/query/下的pasmodrian.jsp来获取数据
3,pasmodrian.jsp上的<jp:mondrianQuery id="query01">查询数据,放入到query01变量中
4,pasmodrian.jsp上的<jp:table id="table01" query="#{query01}"/>根据query01的结果(领域数据)准备显示OLAP表格所需的数据(显示数据)
5,pasmodrian.jsp上的<wcf:render ref="table01" xslUri="/WEB-INF/jpivot/table/mdxtable.xsl"/>根据table01的结果,使用xsl,渲染出OLAP表格。
6,循环第4,5步,使用<jp:navigator>等tag准备navigator,chart的数据然后用<wcf>渲染出图表和导航系统.
整个流程,第2步的pasmodrian充当Controller调用第3步的Model层,然后第4,5步执行从领域数据(比如一些java bean)中转换出格式整齐的,需要显示的数据(比如一段xml),再用xsl将其渲染为最终的表现形式。
posted on 2007-09-09 14:41
扭曲的铅笔 阅读(2441)
评论(0) 编辑 收藏 所属分类:
BI