國內市場上的
報表工具大約有二三十種,比較活躍的也有十多種。面對這些繪亂雜陳的產品,很難僅從某一個方面就將它們都分類闡述清楚,更無法簡單地分別打分評出優劣,必須分別從多個角度把各產品放在一起加以比較討論才能對其在市場中所處地位有較深入清晰的認識。考慮到目前應用現狀,我們主要討論支持 B/S 應用的產品,具體范圍主要集中在如下 16 種產品(這里是按字母次序、排名不分先后):
actuate 、 bo 、 brio 、 cognos 、 crystal report 、 jasper report 、 mstr 、
style report 、博易智軟、和勤、杰表、如意報表、潤乾報表、數巨報表、用友華表、中創 inforreport 。
這些是市場上比較活躍的產品。其它產品或應用量太少或未采用商品化的運作模式,在程序員群體中上缺乏影響力,在討論中不再重點陳述,只會在某些專題比對時提及。
1. 產品產地
從產地上可以簡單地分作 國外產品 和 國內產品 兩類,這個看起來似乎沒什么意思,但其實這兩類產品還是有較明顯的差別,而且這樣分類后在以下的討論中也能比較方便地講述。
從產品名稱上很容易就區分出這兩個類別(上述列表中全英文名的是國外的),這里就不再重復羅列了。
國外產品一般都價格較為昂貴(常被稱作高端產品),而國內產品則普遍比較便宜,個別報價較貴的,也能被砍得很便宜;國外產品大多數都帶有 BI 色彩,而國內產品則大多是
純報表產品;
當然,也有個別特例,比如國外產品
style report 的報表部分就比較便宜,比國內產品潤乾報表的企業版便宜許多;而國內產品博易智軟與和勤都有較強烈的 BI 色彩,國外產品 crystal report (水晶報表)的 BI 色彩則不太濃( SAP 公司有其主打 BI 的產品)。
另外,國外產品是從簡單的西方報表模型抽象出來的,處理中國復雜報表的能力略差,而國內產品中無論自創的還是抄國外的,大多數對復雜報表解決也不夠好,但針對個別問題一般都會有些變通手法,因此對國內應用適應性更強一些;國外產品的歷史大都很久,做工非常精細,除了模型算法不太適應國內需求外,常識性的細節都會搞得很好(如編輯器中的 UNDO 、統計圖繪制的美觀度等),而國內產品歷史積累較短,個別廠商技術能力也較差,導致產品較粗糙和細節不完整。
2. 實現技術及原創程度
目前 J2EE 技術在國內的 B/S 應用開發中占主導地位,對 JAVA 的支持也是報表工具的一個重要考查指標。從這個意義上講,
報表工具可以分為 純 JAVA 和 非純 JAVA 兩種 ,注意所有聲稱支持 B/S 應用的報表工具都能支持 JAVA ,所以不必再區別這一點。
相比之下,純 JAVA 產品具有明顯的優勢。產品能夠與 J2EE 應用完全無縫結合以達到最高的運行效率、安裝部署很輕松簡單(其機制與應用本身完全一致);同時還可充分利用 J2EE 應用服務器強大的集群平衡負載及共享管理的能力,適合支持用戶數眾多的大型應用系統;由于 JAVA 的跨平臺能力,還能讓整個應用系統輕松地從低端體系向高端體系遷移,系統容量變大時只要更換硬件、操作系統及數據庫等系統部件而無需或很少需要重寫軟件。
而非純 JAVA 產品則相反,經常只能在 Windows 下運行(個別國外產品宣稱支持 UNIX 但部署極為復雜,和不能用差不多)、同樣的應用在不同規模下可能需要兩套解決方案,或在大型應用中除了 UNIX 主服務器外還必須專門部署 Windows 作為報表服務器 , 顯得體系結構非常古怪;產品也不能和 J2EE 的應用無縫結合、溝通需要溝通額外的網絡協議導致運行效率較低,而且由于不能享受應用服務器的集群機制(國外產品常常有自己的集群機制但顯然沒有 J2EE 應用服務器搞得專業),難以支持多用戶的大型應用。
國外產品中
style report 是純 JAVA 的,而常見的 crystalreport (水晶報表) , bo, brio, cognos, mstr, actuate 都不是純 JAVA 的,開源產品 jasperreport 也是純 JAVA 的。國內產品中潤乾報表、博易智軟、和勤、杰表是純 JAVA 的,而如意報表、數巨報表、中創 InforReport 、用友華表都不是純 JAVA 的。
除了采用的技術外,其技術的原創程度也是個較重要的指標,它能夠在某種程度上體現公司的研發能力以及產品的后續升級能力。手中不掌握原創技術的廠商無法對產品有完全的控制,其產品發展將嚴重受制于人,顯然不適合與之長期合作。
所有國外產品都是原創技術的,國內產品中潤乾報表、中創 InforReport 、用友華表都有原創技術,可以放心長期應用;和勤是引進的技術,但應已消化吃透,也基本沒大問題;但如意報表和數巨報表則是采用了第三方控件,長期合作則可能有技術風險。
(未完待續)
轉自:
http://www.cnblogs.com/freeze44/