從部署、展示、設計等方面,全面比較Java報表工具,如FineReport,潤乾,快逸,Style Report,Jasper等,以及聲稱支持Java的Crystal,數巨等。
Java報表工具,首先可以分成兩大類:純Java報表工具,和"支持"Java的報表工具.
純Java報表工具
純Java的報表工具,主要的有:
開源的產品,如JasperReport(http://www.jasperreport.com),以及準開源的產品(只賣設計器,服務器免費的)。這些產品的功能上要弱很多。開源的更沒有支持,雖然有很多討論區,但這和可靠的廠商的商業支持是沒法比的。準開源雖然支持稍好一點,但有限的收入對于其長期支撐、產品提升都是不利的,對用戶則是一個長期的風險。
FineReport (http://www.finereport.com)功能完善的web報表產品,支持中國式報表設計:多源分片,擴展后數據的格間運算,行列對稱等等。并且對于報表設計人員來說,FineReport有一個優勢就是可以僅通過鼠標操作就設計出復雜的報表,這增強了工具的易學和易用性。沒有加密狗。
潤乾 (http://www.runqian.com)潤錢是一個功能非常強大的Web報表產品,支持中國式報表。但是由于其報表設計方式完全依賴手寫表達式,對于沒有技術基礎的用戶來說,學習難度比較大。其最初是定位于高端用戶,06年在普及版的基礎上推出了快逸報表,去掉了最核心的多數據源線性報表功能,保留的功能只相當開源的jasperreport的所具備的功能,主打低端路線。雖然快意同樣也是一個純JAVA產品,但是由于其限制非線性報表功能,不能設計中國式復雜報表,所以在面對復雜報表的時候,就無能為力了,個人覺得市場宣傳的噱頭遠遠大于實際功能的作用。二者都有加密狗。
"支持"Java的報表工具:
我 們所說的"支持"Java的報表工具.其實就是非Java的報表工具,但是可以在Java程序中調用.這樣的產品很多,總的講一大類是采用獨立報表服務器 的,如Bo/Crystal Report(http://www.businessobjects.com),Brio(http://www.brio.com),Cognos(http://www.cognos.com)等;另一大類是在前端有控件的,如數巨報表(http://www.maxrpt.com)等。
獨立報表服務器的問題在于:
獨立的報表服務器,直接限制了報表的性能瓶頸
無法共享web服務器的集群能力
無法共享web服務器的連接池管理能力
無法統一部署,實施人員既要部署自己的web應用,還需要部署報表服務器
獨立報表服務器往往有一套自己的用戶角色管理機制,與用戶的應用銜接起來問題多多
前端控件方式的問題在于:
用戶部署起來非常麻煩,每臺機器都要安裝控件。(為解決這個問題,有些廠商把原來控件所做的報表計算工作移到服務器上做,但這只能在Windows下運行,因為它并不是純Java的)
控件會對大報表產生性能問題,因為其報表生成與計算工作是在控件中實現的。
應用系統無法靈活地通過API對報表進行控制。
產品升級 -客戶端都要重新下載新的控件,增加工作量,比較麻煩。
這 一比較,并不是說其他方式就不可取,但顯然在Java環境下的報表應用,純Java的報表產品有先天的優勢。
了解Java報表工具就從這里開始