Chinaunix首页 | 论坛 | 博客
  • 博客访问: 225511
  • 博文数量: 25
  • 博客积分: 1380
  • 博客等级: 中尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-02 18:19
文章分类

全部博文(25)

文章存档

2010年(4)

2009年(4)

2008年(17)

我的朋友

分类: 数据库开发技术

2010-04-21 11:44:52

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上的根据query参数,匹配/WEB-INF/query/下的 modrain.jsp来获取数据       

     3,modrain.jsp上的查询数据,放入到query01变量中

     4,testPage.jsp上的根据query01的结果(领域数据) 准备显示OLAP表格所需的数据(显示数据)

     5,testPage.jsp上的根据table01的结果,使用xsl,渲染出 OLAP表格。

     6,循环第4,5步,使用等tag准备navigator,chart的数据然后用渲染 出图表和导航系统.

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

阅读(692) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~