【評測】哪款是你心目中最佳的開源報表工具?
譯文我們始終在關注替代價格不菲的商業軟件的開源軟件,想知道開源報表工具能不能與久負盛名的商業產品相媲美。為了這次測評,我們選擇了三款常用報表工具:Eclipse BIRT、JasperReports和Pentaho的社區/開源版本。我們的測評重心放在易用性、數據訪問、平臺支持、報表制作以及Web發布上。
我們發現,說到設計報表,這三款產品的可服務性都非常好,甚至達到了企業級標準。所有這三款工具都具有跨平臺功能,這讓它們適合大多數環境。***的區別在于用來發布報表的方法以及最終用戶訪問它們的方式。
Pentaho儼然是我們的寵兒,兩大強項是易于訪問一系列廣泛的數據源和易于發布報表,這兩項任務會讓報表管理員頭痛不已。Pentaho還有一個界面整潔、易于導航的GUI和一系列出色的社區附件。我們唯一的抱怨是,我們發覺報表設計器和服務器的性能都有點慢騰騰,即便我們提供了非常充足的資源。
JasperReports號稱是世界上***的開源報表引擎,我們能夠明白原因所在。無論在報表設計方面還是服務器方面,它都擁有豐富的功能特性。Jasper最近改用JasperStudio作為***的報表設計;而且與Pentaho一樣,提供了與水晶報表(Crystal Reports)和SQL Server報表服務等商業產品不相上下的工具集。服務器有一個新穎的Web GUI以便訪問報表,還提供了用于設計報表的眾多模板,既可以設計Web報表,又可以設計打印報表。
Eclipse BIRT提供了強大的報表設計功能,一款類似向導的單頁工具提供了制作新報表的核心功能。它還提供了逐步說明文檔,可以逐步帶你領略最常用的功能。BIRT通過其API提供了良好的應用程序整合功能,但它并不提供用于訪問報表的指定服務器產品。
至于從瀏覽器輕松調用報表,我們測試的這三款產品沒有一款提供了簡單直觀的解決方案。它們都需要相當全面的配置、設置各個權限等,之后才能在網頁里面查看報表。
為了解答這個問題:這些工具能不能取代企業界的商業產品,我們發現它們有這個潛力,只是你要明白一點:它們并不擁有商業產品的所有功能;可能需要具備更多的專業知識、花更大的力氣才能安裝和運行它們。
下面是每款產品的測評:
幾款開源工具的優缺點 |
|||
|
Jasper |
Pentaho |
Eclipse BIRT |
優點 |
內置模板,報表設計器很棒。 單行示例數據集讓用戶易于預覽報表。易于將報表發布到Jasper服務器。 |
易于將報表發布到服務器。新穎的服務器用戶界面、易于安裝和規范的說明文檔。提供了多個第三方插件。 |
出色的應用程序整合功能,強大的 報表設計器,內置了指導性的逐步說明文檔。 |
缺點 |
服務器Web GUI導航本可以做得更直觀一點。社區版缺少許多功能特性。 |
報表設計器和服務器方面性能有點慢騰騰。 |
沒有發布報表的指定服務器,充分 利用數據庫存儲過程和視圖中已有的業務邏輯的功能相當有限。 |
|
三者的共同點:需要全面的配置,才能在報表服務器環境外面嵌入/查看報表。 |
1.JasperReports
JasperReports運行在Java 1.6或更新的版本上,具有跨平臺功能,支持Linux、Windows和Mac等平臺。我們在干凈安裝的Windows服務器上測試了6.01社區版,使用了與JRE版本1.8上的Jasper(Apache Tomcat和PostgreSQL)相捆綁的組件。我們還決定安裝捆綁的示例PostgreSQL數據庫,它含有報表所用的示例數據。
安裝后,Jasper界面裝入到瀏覽器中,你可以登錄、開始使用。我們先從默認的管理員登錄信息入手,然后創建了一個新的帳戶。我們發現,用戶界面很新穎,易于導航,非常整潔。由于我們安裝了示例數據庫,立馬注意到,有幾個預先發布的示例報表以不同的類別列出來,既有基本的列表報表,也有較為復雜的報表類型(包括條形圖和餅狀圖)。
然而,為了制作自己的報表,你就需要報表設計器。在過去,***的設計器一向是iReport Designer;雖然Jasper保證到2015年會支持iReport Designer,但它已宣布JasperStudio是JasperReports的“官方客戶軟件”。
掌握了這些信息后,我們下載了JasperStudio的***版本(6.0.4)。基于Eclipse開發平臺,它可以作為Eclipse的插件來運行,也可以作為獨立式應用程序來運行。Jasper Studio能夠發布采用諸多常見格式的報表,比如HTML、PDF、XLS、XML、OpenOffice、MS Word、RTF、CSV及其他格式。與服務器一樣,JasperStudio也提供跨平臺支持,在Java JRE上運行,不過需要完整的Java SDK,才能發布這家廠商所說的調用報表腳本小程序。
JasperStudio的工作區布局不賴;凡是用過水晶報表或SQL Server報表服務等商業產品的人用起來都得心應手,因為它使用熟悉的術語和類似的布局。制作新報表時,報表向導為你提供了這個選項:從模板或空白報表開始入手,用于制作打印報表或Web報表。為了制作我們的***個測試報表,我們制作了打印報表,使用了預制模板以及用示例數據庫構建的自定義視圖。我們使用JDBC驅動程序連接到PostgreSQL數據源,JDBC驅動程序是安裝系統自帶的。
選擇了數據集后,你就可以選擇將哪些字段添加到報表,以及使用哪個或哪些字段進行排序。報表向導會按照它認為合理的順序來排列數據字段,不過一旦向導完成了一系列任務,我們就能自行對報表做些自定義改變。
我們能夠找到商業報表制作器理應擁有的幾乎所有工具,從基本的“日期”和“頁數”字段,到較復雜的特性(比如報表參數、自定義圖表和子報表),不一而足。可以預覽報表,看看它們看起來怎樣,沒必要將報表發布到服務器。
一旦報表設計完成,它就可以發布到Jasper服務器。這通過多步驟過程來完成:先選擇服務器(我們只有一臺服務器),然后瀏覽到想要發布報表所在的文件夾,之后選擇數據源。數據源可以是已經可以從軟件庫獲得的數據源,也可以是本地數據源。我們發布了報表后,回過頭來登錄到Web GUI,查看報表。報表以文件夾的方式組織排列,因而瀏覽起來一目了然。一旦在服務器上生成了報表,它就能導出成眾多格式。
JasperReports提供了一款非常強大的報表解決方案,既借助服務器,又借助新的JasperStudio報表設計器。Web GUI處的導航可以做得更直觀一點;比如說,不是一眼就能看出你需要選擇報表項以便編輯。如果為打印報表和Web報表提供節省時間的預制模板,用戶只要在設計方面花極少的精力,就能夠開始順利地設計報表。我們還喜歡單行測試數據功能,讓你不用連接到數據源,就可以制作報表。
雖然將Jasper報表發布到Jasper服務器簡單直觀,但是在服務器框架外面(比如在網頁里面,或者作為應用程序的一部分,你不希望用戶在運行報表時非得提供登錄信息)訪問報表卻完全是另一碼事。雖然Jasper給出了提供匿名訪問的操作說明,但是步驟有點過于復雜。我們發現需要從Web GUI更改配置文件和多個設置對于一款其他方面非常易于使用的產品來說有點過于笨拙了。
#p#
2.Pentaho
Pentaho套件提供了一系列商業智能工具,在企業版和社區版中都有它。社區版是開源的,采用了GPLv 2許可證。Pentaho目前已被日立數據系統公司收購,不過該公司聲稱,它致力于長期維護社區版。與本文測評的其他產品一樣,Pentaho也具有跨平臺功能,既有服務器本身,又有大多數各種各樣的工具集。
Pentaho的核心是商業分析/智能(Business Analysis/Intelligence)服務器;我們先安裝了版本5.3。不像企業版是個干凈的整體式安裝程序包,社區版需要在底層進行多一點的調整/改動,才能安裝和配置。不過,借助幾個互聯網搜索結果和在線教程,我們很快將測試服務器搭建并運行起來。一旦安裝完畢,Pentaho服務器就從Web GUI來加以管理,該GUI提供了類似儀表板的界面,賞心悅目,我們覺得易于導航。你可以從儀表板管理大多數與報表相關的任務,并且訪問額外資源(比如說明文檔、博客和論壇)。
Pentaho并不提供以便查看的任何示例報表,不過隨帶幾個示例文件夾,讓你了解報表可以如何組織管理,比如按用戶或按部門組織排列。報表通常從設計器發布、直接從Web界面發布,還可以使用命令行實用工具來上傳報表文件。
與Jasper一樣,服務器只管理已發布的報表,所以你仍需要有一種方法在客戶端設計和發布報表。為此,我們使用了Pentaho Report Designer版本5.3。一旦安裝完畢,Report Designer提供了這個選項:使用報表向導,或者用你自己的設計從頭開始做起。有幾個模板可以使用,我們發現這些模板外觀上有點過時,但是起碼還能使用。
你很容易制作自己的XML報表模板,或者使用第三方模板。成功連接到數據源似乎總是報表工具所面臨的***挑戰,但是Pentaho借助令人印象深刻的內置數據庫連接器列表,有助于簡化這項任務:既有標準的數據庫連接器(比如MySQL、Oracle和SQL Server),也有已過時的HP Neoview,甚至還有一些以前的主力數據庫連接器:AS/400和dBase III。每個連接器都有自己的配置屏幕,顯示了連接類型所必需的字段,包括使用的常見端口號。Pentaho還提供了一組測試數據,它們讓你可以由此開始設計報表。
一旦報表準備就緒,它就可以發布到本地或遠程Pentaho服務器上的軟件庫。將報表發布到服務器是相當簡單的兩步驟過程,每次都能順利無阻地進行,這是一大優點。一旦報表發布到了服務器,它就能以幾種不同的格式來查看,HTML或PDF是最便于閱讀的格式。此外,報表可以保存并導出成幾種常見格式,比如PDF、RTF、HTML、CSV和Excel。
想訪問Pentaho報表,最容易的方式就是從Web瀏覽器GUI來訪問。通過各種帳戶配置,報表可供群組或個人使用。報表還可以按指定時間表來運行,提供定期報表,或者符合可用性方面的其他要求。
還有許多Pentaho社區工具可以使用,大多數工具既與社區版兼容,又與企業版兼容。值得一提的一個工具是CTools,這是一系列組件和工具,作為Pentaho的附件而使用。Ctools擁有諸多特性,比如圖形生成器、儀表板編輯器、數據訪問定制以及Pentaho開發框架。
我們抱怨的一個主要方面就是,Pentaho運行起來有點慢,即便在配備四核處理器、內存充足、使用千兆以太網的服務器級機器上也是如此。在典型臺式機上運行的報表設計器也是同樣一種情況。不過總的來說,我們覺得Pentaho安裝、配置和運行起來很容易。說明文檔很完備,服務器和報表設計器對于新手和專家來說同樣界面直觀。可以輕松、可靠地發布報表是一大優點。
3.Eclipse BIRT
BIRT是一款開源技術平臺,用于報表和數據可視化。它是所謂的***項目,由Eclipse基金會設立。Eclipse具有跨平臺功能,可在Java上運行。為了這次測試,我們使用了Eclipse版本4.4.2。萬一你沒有預先安裝Eclipse,有一個一體式程序包可供下載。這是我們測試的選項,不過你也可以將所需的BIRT插件添加到現有的Eclipse開發環境。
Eclipse安裝和配置完畢后,我們就準備構建***個報表了。報表設計器在Eclipse中以所謂的“透視圖”的方式顯示。報表設計器裝入后,實際上調出了Eclipse的報表部分;這里有幾個選項,比如開始新的報表項目,或者新的報表設計。我們首先選擇了使用新的報表設計,BIRT為一小批選項提供了圖形和交叉表。選項種類繁多:從空白報表或基本的入門模板,到復雜一點的其他模板,不一而足。
大多數用戶將使用JDBC驅動程序連接到數據源,但是你也可以創建自己的連接腳本,或者連接到其他數據源,比如扁平文件和XML。如果你想在連接到自己的數據源之前試用一下報表設計器,BIRT隨帶一組測試數據。
一旦連接到我們的數據庫:SQL Server數據庫,就有了這個選項:構建SQL查詢以檢索數據,或者使用現有的存儲過程。我們使用類似向導的屏幕創建了一個簡單的SELECT語句,我們發覺這個語句蠻有幫助,因為它讓你一眼就能看清各個列、參數和數據輸出。由于數據集已到位,我們將***幾個數據元素拖放到報表表面上。報表可以預覽或者導出成幾種常見格式,包括PDF、Word或OpenDocument,以及HTML或Web查看器中標注頁碼的HTML。
不像Pentaho和JasperReports,BIRT并不提供單獨的服務器好讓你將報表發布到那里。相反,BIRG報表通常使用API,嵌入在Java應用程序中。還有一個Web報表查看器,可供Eclipse平臺使用;對Java EE服務器而言,還能充當獨立工具。
除了使用面向Eclipse的BIRT插件外,還可以使用BIRT RCP Report Designer,這是一款較輕型的獨立式報表設計器。開發人員可以構建和導入各種報表插件,以定制報表。
BIRT的強項在于能夠通過Eclipse報表引擎(Eclipse Report Engine)與應用程序整合起來。這讓開發人員可以將BIRT運行時環境整合到應用程序中。報表引擎的生成模塊使用Report Designer生成的XML定義,檢索和處理進入到所生成報表的數據,同時顯示模塊為用戶提供了從應用程序里面顯示報表的諸多方式。
然而,由于沒有像JasperReports和Pentaho那樣的服務器Web界面,BIRT在企業實施方面有點不盡如人意;在企業實施環境下,人們需要獨立式報表解決方案,能夠按部門和用戶來限制訪問,并且提供服務器具有的其他靈活性。
BIRT是一款綜合的報表設計器,作為更龐大的Eclipse開發環境的一部分而存在,這是個優點,因為開發人員能夠將報表設計作為更龐大的應用程序開發的一部分而整合起來。我們的測試安裝系統包含翔實的內置教程,附有完成各項任務的逐步說明。
原文標題:Review: Best open source reporting tools