主流的JAVA報表工具的比較

幾款主流的JAVA報表工具的比較
 我們所說的"支持"Java的報表工具.其實就是非Java的報表工具,但是可以在Java程序中調用.這樣的產品很多,總的講一大類是採用獨立報表服務器 的,如Bo/Crystal Report,Brio,Cognos等;另一大類是在前端有控件的,如數巨報表等。
 獨立報表服務器的問題在於:
 獨立的報表服務器,直接限制了報表的性能瓶頸
 無法共享web服務器的集羣能力
 無法共享web服務器的連接池管理能力
 無法統一部署,實施人員既要部署自己的web應用,還需要部署報表服務器
 獨立報表服務器往往有一套自己的用戶角色管理機制,與用戶的應用銜接起來問題多多
 但顯然在Java環境下的報表應用,純Java的報表產品有先天的優勢。
 純Java的報表工具,主要的有:
 開源的產品,如JasperReport(http://www.jasperreport. com ),以及準開源的產品(只賣設計器,服務器免費的)。這些產品的功能上要弱很多。開源的更沒有支持,雖然有很多討論區,但這和可靠的廠商的商業支持是沒法比的。準開源雖然支持稍好一點,但有限的收入對於其長期支撐、產品提升都是不利的,對用戶則是一個長期的風險。
   FineReport (http://www.finereport.com )功能完善的web報表產品,支持中國式報表設計:多源分片,擴展後數據的格間運算,行列對稱等等。並且對於報表設計人員來說,FineReport有一個優勢就是可以僅通過鼠標操作就設計出複雜的報表,這增強了工具的易學和易用性。沒有加密狗。
     潤乾 (http://www.runqian. com )潤錢是一個功能非常強大的Web報表產品,支持中國式報表。但是由於其報表設計方式完全依賴手寫表達式,對於沒有技術基礎的用戶來說,學習難度比較大。其最初是定位於高端用戶,06年在普及版的基礎上推出了快逸報表,去掉了最核心的多數據源線性報表功能,保留的功能只相當開源的jasperreport的所具備的功能,主打低端路線。雖然快意同樣也是一個純JAVA產品,但是由於其限制非線性報表功能,不能設計中國式複雜報表,所以在面對複雜報表的時候,就無能爲力了,個人覺得市場宣傳的噱頭遠遠大於實際功能的作用。二者都有加密狗。
 以上只是我對於報表工具的一些見解,難免有不全面的地方,歡迎大家補充。
目前國內市場上的報表工具可謂五花八門,從各廠商的介紹來看,這些產品的功能有相當部分是重疊的,爲了區分它們往往需要了解它們功能的實現機制和最終達到的效果以確定產品是否符合實際應用需要。
一輛好的車子是駕駛者的延伸;一個好的報表工具是使用者的延伸。這個表述看似有點兒玄,其實很實在,要真正做到卻又非常難。報表工具的使用者與駕駛者有一個共通的地方,那就是他們中的大部分人都不是機械或電子專業出身的,他們需要一個得心應手的工具來幫助他們做想做的事情。
報表工具如何纔算得上得心應手?你可發現有很多回答,歸納起來,不外以下幾方面:
交互性:電子報表有別於傳統紙質報表的靈性,是報表服從於人、提高人的工作效率的關鍵;
易用性:報表開發工具的易用性和報表使用的容易程度是判別報表工具好壞的重要標準;
可擴展性:系統性能隨硬件增加而提升,是企業級報表系統與非企業系統的分水嶺;
安全性/可靠性:完善的權限控制,標準化的數據安全接口,低故障率以及故障後的可恢復性;
完整性:能滿足各種信息展現要求,能覆蓋各種類型數據源和格式,能部署到各種應用環境。
筆者挑選了在國內外市場上表現活躍且據代表性的幾個產品:Business Object (SAP) 的Crystal Report、Actuate、潤乾報表、Jasper Report來做一個深入的比較,幫助有興趣的讀者進一步地瞭解它們。
上述產品均具不同的特性:Crystal Report的應用非常廣泛,在不同行業、規模的應用裏都可以看到它的身影;Actuate是專業的企業報表工具,以e.Report爲代表的一系列產品在國際上有很長的歷史,早期被廣泛應用於金融、電信、政府等較大規模的企業、組織,近來也開始關注中小型企業,推出了全新BIRT系列產品;潤乾報表是國內報表的後起之秀,在中式報表的支持上很有特色;Jasper Report則是一款開源產品,使用無需授權費。
1. 交互性
紙質報表所承載的信息是固定的,當人們想進一步瞭解報表上某些數據時,沒人會指望它會主動“開口”予以解答。單向、無反饋的信息傳播過程是紙製報表最大的軟肋,這使得人們不得不在查找數據上花費大量時間。
電子報表工具產生初期,電子報表與紙質報表差別並不太大,只是用屏幕代替了紙張。隨着技術的進步,電子報表的交互性越來越強,擁有了能與用戶溝通的“智慧”。人們不再需要爲查找某項數據就將整張報表翻遍;通過簡單操作就能重組、排列報表上的數據;並能通過創建圖表的形式把需要的數據展現在人們眼前。
於是,在選擇電子報表工具時,人們慢慢地將交互性作爲重要的考覈指標,因爲他們需要一份“活”的報表!
基於Web的互動性給報表工具設計者帶來了很大的挑戰。很長一段時間裏,瀏覽器應用的交互性遠遠不及桌面應用,因爲用戶在瀏覽器界面的操作是由遠方的服務器來響應的。互聯網的速度、服務器的性能和當時的數據交換協議都難以勝任交互性很強的應用任務。但Web 2.0的出現大大改變了這種狀況,使得基於Web的應用也能帶有很強的交互性。
對交互性的支持成爲了報表產品炙熱的競爭焦點,特別是基於Web 2.0的交互性。“這是一個奇妙的良性循環過程:對報表軟件供應商而言,產品擁有更強的交互性就等於擁有更強的‘人氣’;而客戶對產品更加‘忠誠’,報表產品的市場競爭力也會相應提高,”業內流傳着這樣的看法。
Crystal和Actuate的報表在交互性方面都有不錯的表現,但Actuate在對Web 2.0的支持上走在了前面。Actuate BIRT的交互式報表瀏覽界面能通過標準Web 2.0調用、嵌入到任何Web頁面,功能與Google地圖十分相似,而且Actuate BIRT的交互功能幾乎是不受限制的。而Crystal Report的交互功能則必須在報表設計時預定且不支持基於標準的調用,這是它與Actuate最大的區別。
相比之下,其它兩個產品在交互性方面的開發尚未進入狀態,還不能提供類似的功能。這也是Crystal Report和Actuate作爲兩家成熟的商業報表軟件供應商在技術上的優勢。
2. 易用性
大多數的電子報表用戶都沒有專業IT背景,他們面對電子報表的第一反應大概會與互聯網剛開始普及時,人們面對各類網站網頁不知所措的樣子差不多。對於企業來說,他們想要的報表工具是服務於全體員工甚至是客戶的。“怎麼能讓非專業人士在短期內掌握報表工具的使用?”,這一問題很大程度上取決於報表工具本身是否容易被掌握,也就是報表工具的易用性。
報表工具的易用性主要包括報表設計、報表查看兩個層面。設計的易用性主要體現在:能很容易地創建數據源、數據集;能很方便地調用函數、過程處理數據;擁有多種將複雜數據資料展現在二維平面上的形式等方面。而查看的易用性是指報表用戶能不費周折地得到自己所需的信息。這裏涉及到報表的設計合理性和展現工具的靈活性(如上一節所提及的交互性),因爲如果報表工具不具有展現的靈活性,報表設計工作的難度會更高。
Crystal Report在易用性方面相當具有優勢。在報表設計方面,Crystal Report有一款基於瀏覽器的報表設計工具:Web Intelligence,此外,Crystal Report還向用戶提供了一個報表設計嚮導,用戶可通過該向導按部就班地向報表內添加數據、圖表等元素。在對儀表盤的支持上,Crystal Report也下了不少功夫,它的Xcelsius線能讓用戶非常容易地使用儀表盤。總之,報表設計直觀明瞭且不需要過多專業培訓是Crystal Report的一大特點。在報表查看方面,Crystal Report可以支持交互式報表,這點之前已討論過了。
與Crystal Report的“傻瓜相機”式設計理念相比,安訊的e.Report可謂是一臺專業相機,能拍出別人拍不出的效果,但與此同時,它對使用者的要求也更高。e.Report的難用是業內有名的,不過仍有很多企業選擇e.Report的原因是因爲它能做出別人做不到的排版效果。安訊最新的百靈報表(BIRT)則吸取了e.Report這方面的教訓。BIRT設計器的界面採用了Eclipse的風格,實現了“拖拽式”設計,可以完全不依賴編程。同時,提供了類似於Web Intelligence的Business Report Studio,用戶可在瀏覽器上設計報表或對報表結構、內容、格式進行調整。這種“全民皆兵”的設計方式不但較易被初學者掌握而且使得BIRT的使用者也能參與報表開發。此外,在中式報表方面,BIRT考慮到了國內用戶的實際需要,支持斜線表頭、信息回填等功能。在報表查看方面,安訊的BIRT系列報表可能是目前查看方式最完整的交互式報表。通過一個交互式報表瀏覽器,任何BIRT報表都可以“活”起來,該交互式報表瀏覽器還可通過Web 2.0的調用集成到任何Web頁面,這點是任何其它產品都沒有做到的。
潤乾報表在易用性方面的表現主要集中在中式報表設計上。在斜線表頭方面,如果說BIRT的斜線表頭只能用圖片粘貼方式來完成的話,潤乾則將其進一步地功能化,用戶可在設計欄中找到斜線表頭的單獨選項。信息回填方面,用戶可從不同來源、等級的數據中找到相應元素並將其添入新報表,而且這種功能是不受聯機或脫機的影響的。
作爲一個開源產品,Jasper Report在易用性方面的表現已是相當不錯的了。一般的報表設計問題,如創建數據源、設計表格、圖表、導出格式等,Jasper Report的設計器都能不錯地進行處理。不過,雖然它的易用性表現已相當不錯,Jasper Report在功能上仍遠遠不及其它幾款商業報表工具。
3. 可擴展性
所有企業都希望能購買到一套功能可滿足所有需要的報表工具。但幾乎沒有人能完全預知企業未來的擴展需求。這就涉及到了報表功能、性能的可擴展性問題。
Crystal Report在功能擴展方面的特點是與.net平臺的“聯手”,除其自帶功能外,用戶還可以利用.net平臺上的其它功能。不過,除.net平臺外,用戶基本上不能將其它應用軟件中的報表功能補充到Crystal Report之中,而Crystal Report的功能本身也沒有可擴展性,這點不足在中式報表應用上尤爲突出。
安訊百靈報表BIRT的前身是開源的Eclipse BIRT,它具備了一個可擴展性非常強的架構,預置了很多擴展接口(Extension Point),且支持腳本語言。用戶可以根據需要通過擴展接口和腳本向BIRT添加功能。這點對於OEM廠商以及項目開發者是非常有吸引力的,因爲BIRT有很好的“可塑性”。
除功能可擴展性外,報表產品性能的可擴展性也是很重要的一方面。報表系統必須能夠應付不斷增加的使用人數和報表。理想情況下,報表只需增加硬件設備就能完成對其性能的提升。但不是所有的工具都能做到這點,大部分的報表工具能用上兩、三個CPU就已很不錯了。
安訊的報表平臺iServer是業內公認的最具有可擴展性的平臺。根據權威機構IBM Innovation Center的測試數據:“安訊iServer報表平臺能夠從1臺擴展到16臺服務器(共64個CPU),做到近乎線性的擴展。”目前在業內還沒有第二個產品能夠交出這樣的成績單。
Crystal Report Enterprise和潤乾報表都支持集羣,也能擴展到數千用戶的大級別的應用,但由於擴展的效率不如安訊平臺,所以需要更多服務器和CPU。Jasper Report作爲一個免費的軟件,在性能方面沒有太多的優勢,能夠支持共線用戶已經足夠讓人滿意了。
4. 安全性/可靠性
安全性指的是信息不會丟失、不會落到沒有授權的人手裏,這點在企業應用中尤爲重要,因爲報表平臺上的信息必須要做到有控制的共享。
安全性存在於用戶終端和報表後臺系統。前者往往易被忽略,因而也最容易出現問題。在用戶終端,安裝瀏覽器插件和改變瀏覽器安全配置都會對用戶端的安全性產生很大影響,因爲它們都存在潛在的風險,會爲“惡意程序”提供可乘之機。換句話說,不安裝插件、不改變用戶的安全設置,對用戶纔是安全的。另一方面,報表後臺系統的安全性主要體現在對用戶的權限管理、對數據的加密及對數據訪問的控制。數據訪問控制涉及一個的寬窄度問題,指的是訪問權的授權單位的大小,比如說,最“寬”的權限管理可能是控制用戶能否登錄系統;略窄一些則可能是控制用戶能否訪問特定目錄和文件;權限再窄一點就可能是控制用戶能否訪問特定的數據行和報表頁了。
Crystal Report Enterprise和Actuate iServer平臺的安全機制是基於“用戶與角色的安全模型”,通過該安全模型控制系統內部的各種報表、程序、資源等的訪問權。此外,它們也提供與外部安全系統結合的接口,能把報表系統與環境的安全機制融爲一體。而兩個產品最大的差別在於Crystal Report的數據訪問控制是基於數據行,而Actuate是基於報表頁或電子表格的單元,而基於頁的控制對用戶來講可能更直觀易用。
潤乾報表的安全機制是基於用戶的,訪問權一般授予用戶,不支持更細化的數據訪問控制。Jasper Report的安全控制由部署環境實現。
與安全性相比,可靠性的含義就更爲直觀了。對用戶而言,可靠性就是系統能讓人更放心地使用。目前的計算機系統還不能保證100%不出問題,但一個好的系統應該很少出問題,就算有問題也不會是那種“惡性事故”,導致信息丟失、系統崩潰等難以挽回的局面。所以,系統出問題後,能夠儘快恢復纔是最實際的。報表應用的可靠性不僅是一個軟件質量問題,還是一個架構問題。有的架構對環境和第三方依賴很大,“命運”不掌握在自己手上,就會存在不少外在的可靠性風險。
Crystal Report與Actuate都已發展多年,在產品的研發方面都有極大的投入,兩個品牌在國際上也各自擁有很多大客戶。它們的產品經受住了時間的考驗,在可靠性方面是令人放心的。Crystal與Actuate都支持故障轉移,並能通過配備後備服務器、硬盤的方式增加系統可靠性。相比之下,潤乾報表和Jasper Report還沒有太長的歷史,難以對它們的可靠性作出總結。而從系統架構來講,Jasper Report的部署需要第三方的應用服務器,系統的可靠性有賴於所選的應用服務器的可靠性。此外,Jasper Report 和潤乾報表都沒有自主的故障轉移能力,它們這部分的能力是依賴部署環境的,存在很大的侷限性,發生問題時,很難辨別是報表系統本身的問題還是部署環境問題。
5. 完整性
報表工具的完整性主要體現在它是否具有強大的信息展現功能;能否覆蓋不同類型的數據源和格式;能否部署、集成在不同的運行平臺和環境。大多數的主流報表工具都具有相當出色的完整性,因而才能夠在激烈的競爭中佔有一席之地。他們共通的方面,就不在此贅述,只就它們的差異,做一些說明:
對Excel的支持:微軟Excel是最常用的數據分析、展現工具,因此兼容Excel成爲了很多報表工具的追求。從兼容的效果來看,Actuate e.Spreadsheet可謂接近完美,除不能輸出靜態圖片外,幾乎能100%地支持Excel的功能。與之相比,其它系統對Excel的支持,只能做到數據層面,輸出的是一張“看上去像Excel”的表格,卻不能像e.Spreadsheet那樣做到輸出帶公式圖表的XLS文件。比如,潤乾報表的編輯界面看似Excel,但潤乾報表卻不真正兼容Excel。
對Flash Object的支持:Flash Object能給報表頁面帶來生氣,在很多場合都能夠用得上。Crystal Report是最先實現Flash Object的,而較晚起步的Actuate BIRT支持的種類、式樣更多更全,大有青出於藍勝於藍的勢頭。其他的兩個工具還不具備對Flash Object的支持。
對儀表盤的支持:儀表盤式的應用非常廣泛,市面上也已有許多專用儀表盤軟件。面對專用儀表盤軟件造成的衝擊,報表工具廠商也不得不加強對儀表盤的支持。經過努力,報表工具所支持的儀表盤仍然具有靈活性上的優勢。在這方面Crystal Xcelsius做的最爲出色,能輕鬆的產生儀表盤報表。Actuate BIRT也具備了相當不錯的儀表盤支持,它擁有了最接近專用儀表盤軟件的功能設計。
對腳本的支持:腳本是補充報表工具自帶功能不足的有效手段。高級報表設計人員往往能利用腳本,編制出一些富有創意的報表。對腳本的支持也是Actuate的傳統優勢,Actuate e.Report支持Basic作爲腳本語言;Actuate BIRT支持Java Script/Java作爲腳本語言。而目前其它幾個報表工具對腳本的支持均遠沒有Actuate做得那麼完善。
對集成的支持:潤乾報表,Jasper Report和Actuate的BIRT/e.Spreadsheet報表都能以“引擎”方式嵌入到第三方應用。在單獨部署時,他們都有J2EE的展現層,有基於標準的調用接口,能方便地集成到其它網絡應用中,Actuate更是支持Web 2.0,使其能更爲方便地集成到網頁上。相比之下,Crystal Report是個比較封閉的系統,它自成一體,必須整塊使用,集成非常有限而且沒有太多可個性化的東西供用戶應用。
以上是筆者對國內市場上熱門報表應用產品:BO Crystal Report、Actuate、潤乾報表和Jasper Report之間比較的一點心得。雖然,這四個產品的很多功能是重疊的,但經過較爲深入的比較可以看出,它們功能的實現質量和達到的效果還是存在着明顯的差別。如果讀者能從中領會到這些產品相異的地方,對選擇合適的報表工具必定會有幫助。正如筆者在文章開頭所提到的“一個好的報表工具是使用者的延伸”,符合自身需要的產品纔是最好的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章