穷人的通用OLAP方案III--JPivot表现层

本文介绍JPivot作为Mondrian的表现层,采用XML/XSLT进行OLAP报表渲染的技术细节,包括汉化过程和系统架构特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2005年04月19日 01:51:00

JPivot 是Mondrian的表现层TagLib,一直保持着良好的开发进度。
已经好久没有用了,趁彻底忘记以前,把小小的心得记下来。

1.汉化
1.1 查找所有resources.properties文件,汉化为resources_zh.properties文件
1.2 native2ascii resources_zh.properties resources_zh.properties
1.3 查找WEB-INF/jpivot下的所有xml文件,汉化为xxx_zh.xml

2.架构
JPivot的架构看似另类,但其实都是精明的选择。

2.1 使用XML/ XSLT渲染OLAP报表
JPivot 使用 WCF (Web Component Framework) ,基于XML/XSLT来渲染Web UI组件。这使它显得十分另类。不过,OLAP报表这种非常复杂但又有规律可循的东西,最适合使用XSLT来渲染。虽然程序员和编辑器都很不喜欢这种Martin Flower口中有点LISP形式的语言,但Transform Engine这时候的确能比Template Engine(Velocity,Freemarker)更高效的处理OLAP报表及其导航系统的显示。

2.2 完全基于JSP+TagLib
JPivot另外一个可能使人不惯的地方是它完全基于taglib而不是大家熟悉的MVC模式。但如果不基于tabLib,基于任何MVC框架都会使其失去通用性,担不起Mondrain唯一表现层的重任,而且,MVC其实不一定需要那些框架(后述)

2.3 典型的流程及模式

打开JPivot自带的sample,查看index.jsp文件,典型的流程如下:

1,用户发出 testPage.jsp?query=modrain的请求

2,testPage.jsp上的>wcf:include <根据query参数,匹配 web-inf query 下的modrain.jsp来获取数据 < p>

3,modrain.jsp上的>jp:mondrianQuery id="query01" <查询数据,放入到query01变量中>

4,testPage.jsp上的>jp:table id="table01" query="#{query01}"/ <根据query01的结果(领域数据) 准备显示olap表格所需的数据(显示数据)< p>

5,testPage.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步的testPage充当Controller调用第3步的Model层,然后第4,5步 执行Martin Flower讲的Transform Engine两步渲染模式----先从领域数据(比如一些java bean)中转换出格式整齐的,需要显示的数据(比如一段xml),再用xsl将其渲染为最终的表现形式。

相关文章:
穷人的通用OLAP方案I--序
穷人的通用OLAP方案I I--Mondrian引擎
穷人的通用OLAP方案III--JPivot表现层



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=353468


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值