本文轉自:http://www.cnblogs.com/freeze44/archive/2006/06/26/435764.html 原作者:光著腳的鞋
國內市場上的報表工具大約有二三十種,比較活躍的也有十多種。面對這些繪亂雜陳的產品,很難僅從某一個方面就將它們都分類闡述清楚,更無法簡單地分別打分評出優劣,必須分別從多個角度把各產品放在一起加以比較討論才能對其在市場中所處地位有較深入清晰的認識。考慮到目前應用現狀,我們主要討論支援 B/S 應用的產品,具體範圍主要集中在如下 16 種產品(這裡是按字母次序、排名不分先後):
actuate 、 bo 、 brio 、 cognos 、 crystalreport 、 jasperreport 、 mstr 、 stylereport 、博易智軟、和勤、傑表、如意報表、潤乾報表、數巨報表、用友華表、中創 inforreport 。
這些是市場上比較活躍的產品。其它產品或應用量太少或未採用商品化的運作模式,在程式員群體中上缺乏影響力,在討論中不再重點陳述,只會在某些專題比對時提及。
1. 產品產地
從產地上可以簡單地分作 國外產品 和 國內產品 兩類,這個看起來似乎沒什麼意思,但其實這兩類產品還是有較明顯的差別,而且這樣分類後在以下的討論中也能比較方便地講述。
從產品名稱上很容易就區分出這兩個類別(上述列表中全英文名的是國外的),這裡就不再重複羅列了。
國外產品一般都價格較為昂貴(常被稱作高端產品),而國內產品則普遍比較便宜,個別報價較貴的,也能被砍得很便宜;國外產品大多數都帶有 BI 色彩,而國內產品則大多是純報表產品;
當然,也有個別特例,比如國外產品 stylereport 的報表部分就比較便宜,比國內產品潤乾報表的企業版便宜許多;而國內產品博易智軟與和勤都有較強烈的 BI 色彩,國外產品 crystalreport (水晶報表)的 BI 色彩則不太濃( BO 公司有更適合於主打 BI 的產品)。
另外,國外產品是從簡單的西方報表模型抽象出來的,處理中國複雜報表的能力都較差,而且一般不會提供任何變通的手法,而國內產品中無論自創的還是抄國外的,大多數對複雜報表解決也不夠好,但針對個別問題一般都會有些變通手法,因此對國內應用適應性更強一些;國外產品的曆史大都很久,做工非常精細,除了模型演算法不太適應國內需求外,常識性的細節都會搞得很好(如編輯器中的 UNDO 、統計圖繪製的美觀度等),而國內產品曆史積累較短,個別廠商技術能力也較差,導致產品較粗糙和細節不完整。
2. 實現技術及原創程度
目前 J2EE 技術在國內的 B/S 應用開發中佔主導地位,對 JAVA 的支援也是報表工具的一個重要考查指標。從這個意義上講,報表工具可以分為 純 JAVA 和 非純 JAVA 兩種 ,注意所有聲稱支援 B/S 應用的報表工具都能支援 JAVA ,所以不必再區別這一點。
相比之下,純 JAVA 產品具有明顯的優勢。產品能夠與 J2EE 應用完全無縫結合以達到最高的運行效率、安裝部署很輕鬆簡單(其機制與應用本身完全一致);同時還可充分利用 J2EE 應用伺服器強大的叢集平衡負載及共用管理的能力,適合支援使用者數眾多的大型應用系統;由於 JAVA 的跨平台能力,還能讓整個應用系統輕鬆地從低端體系向高端體系遷移,系統容量變大時只要更換硬體、作業系統及資料庫等系統組件而無需或很少需要重寫軟體。
而非純 JAVA 產品則相反,經常只能在 Windows 下運行(個別國外產品宣稱支援 UNIX 但部署極為複雜,和不能用差不多)、同樣的應用在不同規模下可能需要兩套解決方案,或在大型應用中除了 UNIX 主伺服器外還必須專門部署 Windows 作為報表伺服器 , 顯得體繫結構非常古怪;產品也不能和 J2EE 的應用無縫結合、溝通需要溝通額外的網路通訊協定導致運行效率較低,而且由於不能享受應用伺服器的叢集機制(國外產品常常有自己的叢集機制但顯然沒有 J2EE 應用伺服器搞得專業),難以支援多使用者的大型應用。
國外產品中 stylereport 是純 JAVA 的,而常見的 crystalreport (水晶報表) , bo, brio, cognos, mstr, actuate 都不是純 JAVA 的,開源產品 jasperreport 也是純 JAVA 的。國內產品中潤乾報表、博易智軟、和勤、傑表是純 JAVA 的,而如意報表、數巨報表、中創 InforReport 、用友華表都不是純 JAVA 的。
除了採用的技術外,其技術的原創程度也是個較重要的指標,它能夠在某種程度上體現公司的研發能力以及產品的後續升級能力。手中不掌握原創技術的廠商無法對產品有完全的控制,其產品發展將嚴重受制於人,顯然不適合與之長期合作。
所有國外產品都是原創技術的,國內產品中潤乾報表、中創 InforReport 、用友華表都有原創技術,可以放心長期應用;和勤是引進的技術,但應已消化吃透,也基本沒大問題;但如意報表和數巨報表則是採用了第三方控制項,長期合作則可能有技術風險。
3. 繪製方案
從繪製方案上分一般有 網格式 和 控制項拖拽式 兩種,前者採用和 EXCEL 類似的方案,用網格線圍出報表;而後者則是用矩形框等元素拼出報表。
國內報表對樣式要求非常複雜而且嚴格,繪製方案是報表工具相當重要的指標,它決定了報表樣式的複雜度和繪製效率,以及匯出 EXCEL 的能力(這是使用者很強調的功能)。
網格式在這方面有明顯的優勢,能夠畫出樣式很複雜的報表,繪製效率也比控制項拖拽式高出 10 倍以上,而且匯出 EXCEL 時格式上不會失真,個別產品還可以直接讀入 EXCEL 畫好的表以進一步提高效率。相反,控制項拖拽式則顯得非常笨拙,表格線需要靠矩形邊框重合擺放拼接出來,常見的複雜多層表頭畫起來非常繁瑣,資料區某些縱向合并格甚至無法繪製出來,拼出的格線還與解析度相關,螢幕上對齊的表在列印時或在 WEB 上顯示時又可能不整齊,產生 EXCEL 時經常喪失格式或導致格線太多太細而無法應用,讀入 EXCEL 格式則更是完全不可能有的功能。
國外產品中除 actuate 中提供的 spreadsheet 是採用網格式外,其它全部採用控制項拖拽式(從另一側面能反映國外產品對國內需求的不適應),開源產品 jasperreport 也採用控制項拖拽式。國內產品中潤乾報表、中創 InforReport 、傑表、用友華表、久其報表採用網格式,而博易智軟、和勤、如意報表、數巨報表則採用控制項拖拽式。
4. 資料統計模型
資料統計模型則是報表工具最重要的指標,它決定了報表工具的製表能力和效率,一般可分作 試算表 和 傳統工具 兩類, 潤乾報表 則不屬於任何一類,是新一代報表模型。
試算表類工具完全類比 EXCEL ,沒有真正意義的資料統計模型,資料須由程式員自行編程取出並運算後寫入表格中,也就是沒有任何自動化處理的能力,嚴格意義上講試算表類產品並不能稱作報表工具,但有時也會混在一起討論。用友華表是試算表類產品的優秀代表作,幾年前還有個國外的 formula1 比較流行,後來被 actuate 收購後改造成 spreadsheet 後擁有了資料處理能力。
傳統工具目前還是報表市場上的主流,其基本特徵是單資料來源、條帶式編輯與統計方案,在不編碼的情況下只能完成簡單地行式(分組)報表和單片交叉報表,稍有複雜的中國報表都需要另行編寫代碼準備資料,導致報表製作效率低下甚至不能完成,這一點可參見 " 新一代報表工具的標準 " ,其中較詳細地闡述了傳統工具處理中國複雜報表時遇到的困難。
除上述提到的試算表類以及潤乾報表和中創 InforReport 外,其它產品,無論控制項式還是網格式,都採用同樣的資料統計模型,都是傳統工具,處理中國報表時都會有類似困難。
潤乾報表採用了完全不同的資料統計模型,比較徹底地解決了中國複雜報表中的多源分區、不規則分組、動態格間運算和行列對稱等困難問題( " 新一代報表工具的標準 " 中有述),比傳統工具的製表能力和效率有大幅度提高。
中創 InforReport 要另類一些,從表面上看起來也是採用了自己獨特的資料統計模型,比某些其它傳統工具處理複雜報表時有優勢,但仔細深究,其實是傳統工具是另一種變形,並沒有從根本上解決了上述中國報表的困難。但考慮到其獨特性,會專門再對此進行討論。
5. 前端展現方案
在瀏覽器中展現一般有 HTML 和 控制項 兩種方案,某些產品兩種方案都提供。有時還可以 EXCEL 和 PDF 的方式嵌入在瀏覽器中展現,但不是重點,這裡不作討論。
HTML 的優勢是用戶端完全無須安裝程式,也不會有安全(病毒或泄密)問題,但由於 HTML 的先天不足,其互動操作和精確列印能力性要弱一些;控制項則彌補了這方面的不足,但又需要下載從而帶來安全問題(病毒等木馬),而且只能支援 IE ,某些應用環境直接不允許安裝任何控制項。
HTML 方案還可再分為 純標準 HTML 和 支援 IE 的 DHTML 兩種,前者可以展現在任何瀏覽器上( IE 和 Netscape ,這樣用戶端可以是 Linux ),後者則只能在 IE 上工作。
統計圖的展示也是個需要關注的環節,一般可分為 純 HTML 圖片 和 控制項 兩種形式,有些工具雖然可以提供 HTML 的報表展現,但統計圖部分卻只能採用控制項,這裡需要特別關注的。 HTML 圖片方式應用非常簡單,但互動能力略差,控制項則反之,互動能力強些但有下載等安全類問題。
另外,列印是個非常重要的展現環節,一般會有 HTML 列印 、 控制項列印 、 JavaApplet 列印 和 產生 EXCEL/PDF 列印 幾種方式。 HTML 列印不夠精確,一般用於資訊輸出是可以,但很難用作正式格式的檔案;控制項和 JavaApplet 都能夠實現精確列印,與控制項相比, JavaApplet 從協議上沒有安全問題,但又不能一次下載,若不大還可接受,否則也很不方便;產生 EXCEL/PDF 再列印能保證精確度,但要求用戶端事先安裝好相應程式,解決方案也不一致,有時也不是很方便。
所有的純 JAVA 產品(無論國內國外的)都提供 HTML 報告展現、 HTML 圖片的統計圖方案和 JavaApplet 印表機制;國外產品中除 stylereport (純 JAVA 的)都能提供 HTML 和控制項兩種形式展現和列印形式,但幾乎全是僅支援 IE 的 DHTML ,某些產品(如 bo )的統計圖還只能以控制項形式提供;國內產品中,如意報表、資料報表可提供僅支援 IE 的 DHTML 和控制項兩種,但 DHTML 實際上很少用,用友華表和中創 inforreport 只提供控制項。
6. 後台整合方案
後台整合方案主要有 完全嵌入 、 獨立伺服器 和 控制項資料服務 三種。
完全嵌入指報表運算服務不單獨存在、而與使用者應用程式結合成一體,主程式對報表格服務的無縫調用,這樣可以達到最高的運行效率和最深入的控制,同時可以享受應用系統的叢集部署與資料連線共用能力以及不必專門處理許可權門戶的事務,是最經濟高效的整合方案,但必須是報表工具與應用程式基底於同種技術實現才可以做到。
獨立伺服器指報表運算在物理上獨立存在(有時甚至會是一台專門的機器),使用者應用程式通過網路通訊協定調用報表格服務,效率受到影響且控制力度不深,並且不能共用應用系統的叢集和Server Load Balancer能力,還迫使應用程式必須採用報表伺服器的門戶許可權機制,導致多餘的工作量。獨立伺服器的優點在於對宿主應用程式的技術體系沒有要求,採用不同技術的應用可以同樣的方案整合起來。
控制項資料服務則專指以控制項作為前端方案的產品在背景整合方案,運算介面都在前端的控制項中,需要把複雜的程式寫到頁面的 JavaScript 中;後台則幾乎沒有運算,只是將資料取出送給前端,程式簡單可完全嵌入但並沒什麼介面,這種方式無法發揮後台伺服器的強大計算能力,而且有關處理代碼將在前端暴露出來造成安全隱患,不適合大型應用。
除了報表運算本身的整合外,還要考查有產生的統計圖(及 EXCEL/PDF )等位元據的引用方案,一般有 資料流服務 和 臨時檔案 兩種。前者是將這類運算在後台組織成一個服務(在 J2EE 中是 servlet ),將結果以資料流(如 JPG 映像流)的形式返回給最上層顯示或下載,後台伺服器上並不會真地產生一個檔案;而後者則會將統計圖(或 EXCEL/PDF )物理地在後台伺服器中產產生一個臨時檔案,瀏覽器上的圖片或下載連結指向該檔案,採用最傳統的 http 機制完成圖片顯示和下載檔案。
相比之下臨時檔案方案有明顯的劣勢,必須作業系統放開對硬碟某處的寫入權限(這在某些系統下可能導致是嚴重的安全問題),建立臨時檔案會佔用硬碟空間而且降低訪問速度,而且這些檔案的命名(不得重名)及刪除都需要較複雜的管理(有些產品只會建立而不會自動刪除)。
純 JAVA 的產品在 J2EE 機制下理論上都可提供出完全嵌入的方案,但 stylereport 、博易智軟、和勤等產品仍以獨立伺服器方式提供,潤乾報表和開源的 jasperreport 均提供完全嵌入的方案;而在非 J2EE 機制下,這些 JAVA 產品都只能以獨立伺服器方式存在。除 stylereport 外,其它國外產品在任何環境下都僅提供獨立伺服器方式。國內以控制項為展現方式的產品均只有控制項資料服務方式,如數巨報表、如意報表、用友華表。
純 JAVA 產品均可提供資料流服務來引用位元據,而非 JAVA 的獨立伺服器產品(都是國外產品)大多採用古老的臨時檔案方案提供這項服務。
7. BI 色彩
事實上,有許多作為報表工具銷售的產品其實是 OLAP 前端工具,並非純正的報表工具。這些產品雖多少有些報表的功能,但處理得很不專業,處理複雜的中國報表固然差得很遠,就算是簡單的西方報表也在細節處理上大不如人意,其繪製方案、整合方案、展現方案等都很不適合國內報表的需求。但由於國內市場上 OLAP 的應用面尚比較狹小,這些產品憑藉自己在 BI 領域的聲望也來搶奪客戶。
國外產品中 crystalreport 和 stylereport 是主要為報表格服務的,其它產品如 bo 、 brio 、 cognos 、 mstr 、 actuate 則都是 BI 類產品。 actuate 的 spreadsheet 可算作報表工具, cognos 最近推出的 reportnet 也加強了報表的能力。國內產品中博易智軟與和勤都是 BI 類的產品,其它如潤乾報表、傑表、如意報表、數巨報表等都是純正的報表工具。
8. 填報能力
填報是國內報表應用中非常關注的能力,有時甚至是必不可少的關鍵功能。但絕大多數報表工具完全沒有填報的能力。所有國外產品、有 BI 色彩的產品、採用傳統資料統計模型、控制項式編輯的產品一律沒有填報功能,產生的報表只能顯示,不能填寫。支援填報的產品非常少,常見的有潤乾報表、用友華表、武漢新連線、久其報表幾家,而用友華表由於沒有資料模型,表格可以填寫,但需要大量編程才能完成資料入庫的工作;久其報表和武漢新連線的資料模型過於死板簡單,只能填出固定的資料結構,對於複雜的入庫要求依然需要編碼完成。潤乾報表的填報方案則相對完整,可參見 " 新一代填報方案的標準 " ,其中更詳細地描述了填報產品應當具備的資料處理能力。
9. 價格與商業模式
大多數報表工具都是以收取 授權使用 費用形式銷售的,即應用部署一次即收取一次費用。產品的價格大體可分成 高端 和 低端 兩類。
高端產品一般會按伺服器 CPU 或使用者數 (name user ,不是並發使用者 ) 計費,其價格很不透明,很難給出明確價位,一般在幾萬元至十幾萬元之間,以前還有高達幾十萬上百萬的銷售記錄,但近期由於競爭的激烈已經比較少了,有時附加上 BI 功能後仍可能賣得很高;低端產品一般在幾千元( 3000-6000 )左右,一般只按裝機量計費。
所有國外產品和有 BI 色彩的產品都可以算是高端產品,國產的潤乾報表(除普及版)也是高端產品;如意報表和數巨報表、傑表和潤乾報表普及版則屬於低端產品。有些產品的產品線較長,在詢價時要確定地知道需要的版本和組件,否則差距可能非常大,如 crystalreport 的單機版只有幾千元、而企業版(全面支援 WEB 功能)很可能要十幾萬甚至更多, stylereport 的報表部分只有兩三萬元、但加上部分 BI 能力了就會高達十幾萬元,潤乾報表的普及版報價只有 3000 元、但企業版則要 25 萬元, ... 。
還有的產品是以 開發工具 方式銷售的,即使用者一次購買後就可以無限重複使用,對於有較多次重複應用開發的開發商而言顯然是最便宜的方式。活躍產品中目前只有用友華表採用這種商業模式,還有個國產報表 finereport 也採用這種方式,但很少有應用。
除了作為獨立產品銷售的,而在國內市場上還有一類報表產品是以專案服務形式提供的,比較著名的有廣州菲奈特的 BI.Office 和久其報表,不知是產品化程度不夠還是對這種商業模式偏號,這些產品一向很少由第三方開方商採用,而都是由自己直接承接相關項目,把產品在項目中應用起來,近一兩年內菲奈特的產品才開始有些第三方採用,但仍不多。這些產品在業界的名聲尚可,在終端客戶的投標中很可能碰到,但在開發商選型時卻幾乎從不出現。