使用Birt制作Dashboard 和Mashup
在eclipsecon 大会上 Rob Murphy 介绍了一个 Mashing up Data in Web Applications with BIRT 的小技巧 , 真的是很老的一个小技巧了,主要是用birt 2.2 的jsp tag 将页面HTML元素固定在某一区域,从而使一个页面可以嵌入多个birt reportlet
上图就是一个典型的四reportlet组成的dashboard. reportlet , 每个reportlet 可以通过交互事件与其他reportlet 进行互动(基于birt 里面的bookmark , 也就是html 里面的id), 并且可以控制UI元素大小.
另外每一部分都有html 里面的iframe 组成,你也可以部分刷新某一区域,这个演讲里面有个示例,所以不多废话了.
顺便ggyy 一句,很多其他BI “领导厂商”的dashboard 总喜欢用flash 来做, 一个是学习起来成本比html 要高(等于是完全学习一个新的报表制作方式),一个是交互性很复杂和难以控制 ( 不要只看到外表的帅), 其实深层的技术原因是html 的展现功力非常的不到家. 基础问题都没有被解决.
当你要使用这种方式制作很多dashboard , 尤其可能要重用很多UI ,甚至是要让用户自己选择组建他自己想要看的页面,别用这种方式,使用java porlet 技术,那个才是重用UI 和用户完全动态的解决方案.
普通的用户需求慢慢提高,提供用户完全的动态性才是王道 . datacenter 里面系统监控图可能会比较想要这种技术.(啥时oracle grid control 搞个这个版本就好了)
Actuate Mashboard 简介
之所以说java portal 技术是解决report 重用和用户完全动态性的根本,就在于java portal 里面可以让用户完全自己选择, 关于java portal 你可以随便下个jboss portal 或liferay portal all-in-one 包自己体验一下就懂了.
Actuate Mashboard 是基于Actuate 商业产品, Mashboard 本身暂时是免费的(估计以后会直接打进iServer Express 包里面), 基本方式跟java portal 里面集成birt 差不多. 由于要让用户自己选择,所以必须要有一个repository 的概念,选用Actuate 的商业产品也就是一定的了. 如果你想自己开发类似的东西,你可以自己选个java portal 来开发. 免费的,就是看你开发的功力了(pentaho 以前的版本就是这样, gwt 化之后就不搞这个了)
看图说话吧
利用仪表盘图表来表现参数页面一直都是一件很有意思的展现方式,不是吗?
以前这两个都是flash 演示的,我看到现在有gif 的版本,随便就放在自己站点上好让更多人了解
上面演示的mashboard 其实还算是轻量级的, Actuate 其实还有一个performance scordcard 商业产品,演示中好像比这个更强,不知道什么时候能有机会见见.
你想下载eclipsecon2008 全部的演讲ppt 在eclipsecon.org/2008 站点下载那个all-in-one 包,一般人我不告诉他. 2009 年的他们估计还要整理一下.
参考资料:
birt maskup eclipsecon 演讲的下载
http://www.actuate.com/democenter/mashboard-overview/mb_overview.htm
actuate 上flash 演示的mashboard
actuate mashboard 简介
actuate jsapi ,看看那个flash 演示就够了.
如何在任何环境下集成birt 是今后birt 永恒的主题.