技术开发 频道

四大开源商业智能平台大比拼


比较四个平台的体系结构,

openI

    首先看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是非常之牛的。你可以看到它下面的数据处理层是单独分出来的,至于为什么牛,我在后面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)

0