Mondrian+JPivot流程简介

Mondrian+JPivot流程简介(转)

 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存在,但它至少可以生成一个大致的文件框架,可以大大减轻工作量。

基于XMLSchema元模型定义文件的主要元素及其相关属性,可参考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利用JPivotWCF一系列JSP标签展现Mondrian服务器返回的OLAP数据集。

具体代码参见DEMO相关文件;JPivotWCF标签用法参考相关文档。

4 程序典型流程

       1、用户发出 pasmodrian.jsp?query= pasmodrian的请求

2pasmodrian.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
,循环第45步,使用<jp:navigator>等tag准备navigator,chart的数据然后用<wcf>渲染出图表和导航系统.
整个流程,第2步的pasmodrian充当Controller调用第3步的Model层,然后第45步执行从领域数据(比如一些java bean)中转换出格式整齐的,需要显示的数据(比如一段xml),再用xsl将其渲染为最终的表现形式。

你可能感兴趣的:(Mondrian+JPivot流程简介)