概述:本文对主流的四款开源BI商业智能平台进行了对比,主要从三方面入手,文档、演示和架构体系。
一、文档篇
完善的文档对平台的学习和使用是非常有用的,也是判断平台是否优秀的一个最直观的方法,所以我们有理由来比较一下四个平台的文档。
openI的文档
openI的项目相对来说比较的小,文档可能也少一些,
- Installation DocumentAs Mick Jagger would say — “Start me up”
- User GuideInstructions on creating/modifying analysis
- Architecture OverviewOh yeah,there was some design work
- Java DocOh yeah,there is internal documentation
文档虽少,主要的都有了,实际上,这也是每个项目都应该有的文档了,java doc文档实际还是很必要的,方便查询API。
jaspersoft的文档
Jaspersoft的文档不可谓不多,而且集中在report上,大家也都知道,JasperSoft的jasperreport是业界领先的一种报表方式。而iReport则是jasperReport的设计器,好的report都是有自己的设计器的,因为报表的种类很多,不可能把所有的情况都考虑到,所以需要自己的设计器。相对于国内的智能平台,光报表这方面来说的话,就没有自己的设计器,所以要想开发一些新的报表样式就得定做,而且不容易管理、修改,所以设计器还是很必要的,无论是做成RCP还是web形式。
SpagoBI的文档
- How_To—1.6.doc.zip
- How_To—1.6.pdf.zip
- QuickStart—0.9.2.doc.zip
- QuickStart—0.9.2.pdf.zip
- SpagoBI_JBoss_Installation_Manual-1.4.3.doc.zip
- SpagoBI_JBoss_Installation_Manual-1.4.3.pdf.zip
- SpagoBI_JOnAS_Installation_Manual-1.4.3.doc.zip
- SpagoBI_JOnAS_Installation_Manual-1.4.3.pdf.zip
- SpagoBI_eXoTomcat_Installation_Manual_1.4.3.doc.zip
- SpagoBI_eXoTomcat_Installation_Manual_1.4.3.pdf.zip
spagoBI的文档只有怎么安装的,关于它的组件的文档相对就少了,可能是开发者只有在进入他们的社区或者是在社区开发者内部才有的吧。顺便说一下,spago本身还有自己的cms、 portlet、workflow,实力绝对不容小看。
Pentaho 的文档
Pentaho的文档也非常的丰富
- Pentaho Getting Started Guide
- Pentaho AJAX Guide
- Pentaho Security Guide
- Pentaho Subscriptions
- Software Quality Reports for Bugzilla Getting Started Guide
- Software Quality Reports for Bugzilla Solution Documentation
- Pentaho Cube Designer User Guide
- Pentaho Creating Solutions
- Pentaho Data Mining Experimenter Tutorial
- Pentaho Data Mining Explorer Guide
- Pentaho SDK
- Pentaho Advanced Installation Guide
- Pentaho Customizing Deployments
- Pentaho Advanced Reporting Guide
- Pentaho Component Builder’s Guide
- Pentaho Dashboard Builder’s Guide
- Pentaho Internationalization Guide
- Pentaho BI Design Studio User Guide
- Pentaho Report Design Wizard User Guide
- Pentaho Report Designer User Guide
- Pentaho Report Bursting Guide
- Pentaho Jasper Report and BIRT Integration
- Pentaho Using System Actions to Control Data Access
- Session and Global Filter Guide
- PentahoPentaho Report Design Wizard User Guide 和
Pentaho Report Designer?User Guide是针对Pentaho Report Design的,一个基于eclipse平台的报表设计器。和jaspersoft一样,它把报表跟报表设计器飞开了,spagoBI好像是没有单独的报表设计器。它都是集成在一个WEB平台里面的。
Pentaho AJAX Guide 是它自己的一个AJAX工具包的开发文档,从Pentaho网站的漂亮程度看的出来。Pentaho对于美观还是非常的注重的。
Pentaho Cube Designer、Pentaho Data Mining、 Pentaho Dashboard Builder’s、Pentaho Internationalization、 Pentaho BI Design Studio 则是它的各个组件的开发文档。对于国际化还有专门的文档,看来Pentaho在开发的一开始就没打算之针对英语市场,spagoBI也有国际化,cms和portlet都应该有吧,jaspersoft有没有我就不知道了,Pentaho也和另外的报表有集成,Jasper Report and BIRT Integration ,也算是业界主流的报表吧,spagoBI也跟其他有集成。
二、演示篇
OpenI的demo
OpenI提供下载的demo只有一个,在线演示的有两个,下载的一个是叫foodmart。需要mysql,部署起来相对比较麻烦,至少花了我十分钟,然而在实际的生产环境中,部署openI是最快的,因为它的组件相对较少,贴两张在线演示的图片。
下面的灰色比较难看的表格就是JPivot的,的确是很牛的一个项目,不光是技术,关键是界面的颜色,后面介绍Pentaho的时候也会提到的。
JasperSoft的Demo
JasperSoft的Demo要先注册才能下载。做成VMware的,那Demo部署起来就不用一分钟了,只要你装好了VMware.放就是了。它自己本身还有一个宣传片,是做成Flash的,贴几张图(Ad Hoc是点对点的意思)。
jaspersoft的VMware的Demo 让我很奇怪,848M的东西,里面的只有一个SugarCRM的Report的Demo, 跟我看他们宣传的Flash那个版本不一样。相信JasperSoft本身的能力绝对不是这个Demo里面的这样。
spagoBI的Demo
spagoBI的Demo部署起来也非常之快。下载spagoBI demo和eXoPortal-tomcat-1.1.3,别先启动tomcat,把一个往另一个覆盖,启动sbidata里面的HSQL,启动eXoPortal,按照Readme里面的网址打开浏览器就够了,我个人部署的时候是没问题。可是OLAP进去就报错,其他的都没问题,幸好它还有一个在线的Demo。
而且难能可贵的是它还有十个tutorials,是Flash的,而且还是分阶段介绍的。
不得不说这给我留下了太深的印象了,一千个字也许没有一个图片更能介绍清楚的,一百个图片也许没有一个Flash更能介绍清楚的了,也许SpagoBI的平台知名度比JasperSoft的和Pentaho的要少的多,但是这十个Flash的确证明了他们团队对于平台的推广下了很多的功夫的。
技术再好,也要让别人知道才有用。
JPivot的多维查询,SpagoBI也拿界面没办法。
jfreereport和jaspersoft报表,也有BIRT的。
DashBoard
Pentaho的Demo:
主页
点左边饼状图,右边的数据会跟着变,Pentaho认为这个就是它们的DashBoard了,跟SpagoBI的比差了一些。
本次的主角登场了。Pentaho里面的JPivot,一样的灰色,一样的菜单。
JFreeReport
GEO的搜索,spagoBI也有,不过好像没有这么强大。还跟google map的API结合了,易用性又高了一点,
各种不同的报表,毕竟报表是BI的最初也是最重要的一环。
Pentaho的杀手应用,Mondrian + JFreeReport .数字没对好。要扣分的。
Demo的BI Platform是在JBoss Portal上的。不过要说明的是Pentaho本身是平台无关的,无论你是在tomcat、jboss、weblogic,你选用哪种portal都一样,数据库支持的很多,Hibernate做的,只要你有JDBC驱动。
运行报表时的sql,Demo是在HSQL平台。SQL也是中规中矩的SQL 。
三、体系结构篇
openI的体系结构
RDL是Report Define Language 。
openI具有一个BI应有的大部分特性了。
report : jasperreport,JFreeChart
olap : mondrian + JPivot
data mining: weka
它的各层衔接的非常的紧,好像用了eigenbase做数据管理,不是很清楚这部分,openI在做数据挖掘的时候它没有调度器,它的Portlet Interface 主要是指在用JPivot的时候JPivot可以到处使用。
openI没有自己的开发专属工具,入门门槛也相对较低。
JasperSoft的体系结构
JasperSoft最重要的就是它的报表,但是它支持输出的格式很多,管理的方式也很多,也用了eigenbase做数据管理。有比较完善的权限控制,用的acegi,支持多种数据源,只要有JDBC驱动。它的产品已经形成了一个产品线,最著名当然还是它的JasperReport。
你可以看到它为了更好的管理各种报表和数据,有自己专属的展现平台JasperServer,这个平台是06/26/2006创建的,完全是JasperSoft为了实现BI而迈出的重要一步。jasper没有数据挖掘。有任务调度器,用了quartz。有自己专属的ETL: JasperETL 。它有自己的OLAP SERVER : jasperAnalysis 。展示层用到了AJAX和applet, 也有DashBoard。查询语句支持SQL, Hibernate (HQL),XPath (XML),EJBQL,MDX(多维查询语言,OLAP专用,SQLSERVER用的是XMLA)
SpagoBI的体系结构
spagoBI平台厉害很多,也复杂了很多。它的各个组件之间模块化很好,Plugin加载,来看一下它的各个组件:
- report : BirtReportDriver,BirtReportEngine,JasperReportDriver,JasperReportEngine
- GEO : GeoDriver,GeoEngine(用地图显示数据和查询的)
- OLAP : JPivotDriver,JPivotEngine
- QBE : QbeDriver,QbeEngine
- Data Mining : WekaDriver,WekaEngine
- Security : ExoPortalSecurityProvider
- Booklet (小册子) : BookletsComponent: it is a component for booklets generation.主要包括文件上传,工作流,OpenOffice支持。
它还有文档管理,用的是apache的JackRabbit,有搜索功能,用的lucene。不愧是做cms、portlet、workflow出身的,技术就是牛。
spagoBI的使用的工具也比较多:
- Report : Bird,JasperReport
- ETL : Octupus 和 talend (talend是官方合作伙伴)
- OLAP : Mondrian 和 JPivot
- Data Mining : Weka
- Portal : eXoPortal
它的展现层也使用了AJAX特性,另外它在DashBoard也使用了openlaszlo,(一个用Java code 生成Flash的框架,主页是http://www.openlaszlo.org/。新版的4.0好像也要支持生成DHTML) 所以spagoBI的DashBoard看上去很爽。spagoBI的ETL是非常之牛的。还有一些很细节的东西,想BIPortlet,BIMessage,Notify,Schedule,Workflow ,Rule Engine,Profiling,Analytical Document 我会在后面尽量把我知道的说一下。
Pentaho的体系结构
Pentaho的体系结构跟spagoBI非常相像,我甚至都没看出来有上面很大的区别,不过Pentaho喜欢把自己的东西称作 solution,以下引用自Pentaho的whitepaper: “Pentaho BI 平台不同于传统的BI产品。它是一个以流程为中心的,面向解决方案的(Solution)的框架,具有商业智能(BI)组件,使得公司可以开发商业智能问题的完整解决方案。
Pentaho一样把数据处理层看的很重要,多种数据显示方式,甚至有RSS输出。Pentaho是有各种开源组件组成的。
- ETL : Kettle (界面上显示的是Pentaho Data Integration,previously Kettle)
- Report : Pentaho Report (它也支持Birt 和 JasperReport 的集成 ,还有专门的文档)
- OLAP : Mondrian 和 JPivot (Mondrian已经加入了Pentaho )
- Platform : Pentaho Planform
- Data Mining: Weka (Weka也加入了Pentaho)
转载自http://jjjava.iteye.com/