[討論] BIRT報表深度解析之——BIRT中國企業級用戶流失之謎

leohope

BIRT報表軟體算是比較常用的報表開發工具,但是近年來,BIRT報表在企業中的使用率卻遠遠低於FineReport報表,那麼這是出於什麼原因呢?通過對BIRT的學習途徑、報表功能和技術支持等方面的各項熟悉,我們來一起探索這個問題的答案。
BIRT

百科對BIRT上對BIRT的解釋如下:BIRT報表軟體是一款非常流行的開源報表管理系統工具。擁有和Dreamweaver一般的操作界面,可以像畫table一樣畫報表,生成圖片,導出word,html分頁樣樣齊全,樣式和script設置簡單。
BIRT的安裝
birt project的安裝分為兩種,一種是下載已經安裝好birt的eclipseIDE環境,配置環境變數之後使用; 另外一種是插件安裝方法,需要配置環境變數,下載eclipse環境以及下載birt所需要的插件,將插件安裝到eclipse中使用。安裝相對負責,相對而言,FineReport的安裝包是一個exe【Mac系統為dmg格式安裝包】,無需配置環境,雙擊即可安裝。
如何學習BIRT
一般企業級用戶比較多的產品都有相對豐富的產品學習資源和學習途徑,反觀報表工具FineReport、商業智能工具FineBI都是如此,有非常詳細的幫助文檔、教學視頻,活躍度很高的技術報表交流論壇、以及及時響應用戶需求的在線技術支持人員。
反觀BIRT,在學習資源、學習途徑和技術交流平台上的表現卻很差強人意:谷歌搜索BIRT的學習資源,發現供國內BIRT使用者使用的資源很少,比較容易獲得的資源是一個網友自己翻譯成中文的BIRT開發手冊【各種錯漏就不必說了,關鍵是資料不齊全】;視頻資料更少,官方視頻是老外錄的Flash格式的視頻【由於英語不太好,又沒有字幕,基本上聽不懂在說什麼】。國內沒有BIRT的官方技術交流平台和技術支持人員,僅有的幾個網友自發組件平台上,問題的更新還停留在2012年以前,活躍度很低。
BIRT具體功能解析
數據源
以FineReport為例,看看企業需要的數據源支持:
資料庫數據集:以JDBC或者JNDI的方式來連接資料庫,FineReport中內置了主流資料庫的JDBC驅動,包括oracle,mysql,sqlserver,sybase等等。
EXCEL數據集:Excel數據集。
文本數據集:存儲在文件中的數據
XML數據集:數據源是一系列的XML文件。
程序數據集:因為FineReport是通過AB/StractTableData介面來讀取數據源的,而上述所有的數據來源都實現了該介面,因此用戶只要實現了AB/StractTableData介面,也就可以用自定義類型的數據源(程序數據集),FineReport報表軟體引擎就能夠讀取自定義的數據源作為報表數據源使用。
內置數據集:FineReport內置數據集
SAP數據集:通過JCO方式連接SAP系統,通過調用BAPI FUNCTION來直接取數。
多維資料庫:多維資料庫
BIRT支持數據源:
Classic Models Inc.Sample DataBase ———BIRT樣本資料庫。
Flat File Data Source ———從CSV、SSV、TSV、PSV四種格式的文件獲取數據源,不支持XLS格式文件
JDBC Data Source ——— 通過配置jdbc連接資料庫,連接時需要添加驅動
Script Data Source ——— 通過編寫腳本獲取數據源。
Web Services Data Source ——— 通過web service方式獲取數據源。
XML Data Source ——— 從xml文件獲取數據源。
通過以上對比可知,BIRT對很多數據源支持度不夠,而隨著企業對於信息化的要求提高,系統中所存儲的數據格式複雜度也會更加增高,對報表工具的數據源支持度要求會越來越高,BIRT在這方面遠遠達不到很多企業的要求。
報表具體布局對比
企業在選擇報表解決方案時,不僅要考慮報表工具的功能和服務,還要考慮它是否易學、易用。國內用戶都非常熟悉Excel,也經常用它做些簡單的報表。
FineReport的報表設計如下:

FineReport報表軟體的設計風格和Excel相似(當然二者本質並不一樣),整個設計窗口是格子式的可視化編輯界面。用戶可以藉助這個界面所見即所得的設計出任意複雜的表樣,免去了傳統條帶式設計數據對齊的繁瑣。
BIRT的報表軟體設計界面如下:

BIRT的報表設計界面是傳統的條帶式界面,在設計報表樣式,需要的行和列需要畫出;對錶頭比較複雜的中國式報表來說,各種行列對齊也比較複雜;不支持excel的行列無限擴展,表現之一是不支持XLS,這對習慣了excel的用戶不甚友好。
許可權功能模塊
BIRT沒有許可權方面的輔助功能,想要實現許可權,需要費力氣自己寫實現語句。一般對企業級用戶來講,出於文件機密性的考慮,在企業員工訪問企業平台時,需要通過角色對員工的許可權進行限制。在BIRT中,這個功能實現起來比較困難。
移動端
蘋果Ipad、iphone、 Android的流行加速了移動互聯網時代的到來,人們用在移動端的時間越來越多,觸摸式手機、平板電腦,使用手機、平板電腦進行商務處理已經成為了一種不可阻擋的趨勢,報表的移動化也成了一個必然的企業用戶需求。
FineReport基於此提出了移動決策平台的概念,並取得了一些不俗的成果,使得報表可以在手機上進行展示,方便快捷:FineReport移動端採用原生渲染技術,專為移動處理器加速優化,相比傳統的HTML報表,渲染的速度、交互操作的流暢度均有大幅提升。支持IOS、Android,可以進行設備管理。移動端動態效果好,美觀度高,可根據不同屏幕解析度、不同類型的設備自適應布局顯示,支持數據填報和校驗,支持縮放、聯動、鑽取、翻頁等交互效果。支持二維碼掃描添加伺服器。
相對於FineReport成熟的移動端,BIRT至今為止未開發出移動端平台。
填報
FineReport作為國內企業最親睞報表產品,對填報的支持度則非常高:FineReport支持表單補錄、回填、導入自匹配、行式添加刪除、非行式添加刪除、批量增加刪除、綜合報表增刪改、數據補錄匯總(即時計算)等樣式,支持Excel導入、數據批量導入、在線錄入、離線錄入。可以進行及時校驗、提交校驗、強制提交和js校驗。
BIRT作為國外報表產品,更多的側重點在數據的展示上面,沒有填報功能。而在國內,在國內的企業級用戶匯總,沒有填報功能的報表產品基本上無法使用。
列印
眾所周知,多數報表展現瀏覽之後是需要列印出來的,列印報表需要調整比例、水平對齊方式、分欄數、列印頁和列印縮放等等功能。
FineReport提供了直接列印的功能,很好的解決了各種列印的可視化配置,讓用戶可以隨心所欲的列印出需要的紙面報表。FineReport的列印功能是相當強大的,獨創Flash列印,並且支持PDF、Applet、Activex等多種列印方式。其中由於目前幾乎所有的網頁都安裝了flash插件,所以幾種列印方式中,Flash顯得尤為便捷。
BIRT做為開源報表工具,出於工作量等等考慮,只提供間接的pdf方式列印。這樣的問題是客戶端還要安裝pdf軟體,而且用戶定製、自由配置列印的需求基本不太可能實現了,讓BIRT的易用性大打折扣。
中文支持
對於報表工具,對於中文的支持不僅表現在支持中文資料庫和中文報表,也表現在設計器對於中文的支持。
FineReport是國內廠商的產品,對中文數據、報表的支持沒有任何問題,設計器對中文的支持也很完美。而BIRT做為國外開發的開源報表工具,雖然提供了中文插件的補丁包,還是難免會有細節上的瑕疵。
比如說,BIRT報表和快逸報表都提供了表達式編輯器,但是BIRT報表表達式編輯器對中文的支持卻有些問題。當我們輸入concat(」訂單狀態」,dataSetRow[“STATUS”])這樣的表達式,保存之後再打開表達式編輯器的時候,卻變成了亂碼,如下圖:
這樣的細節會給報表軟體用戶帶來很大的不便:簡單的表達式還好,複雜的表達式有上百上千個字元,面對一堆亂碼如何是好?
技術服務支持
FineReport報表系統廠商為帆軟軟體有限公司,總部在南京,服務網路遍及全國,設有如下服務網點:京津區:北京、天津;東北區:瀋陽、長春、哈爾濱;蘇皖區:南京、無錫、蘇州、合肥;華北區:濟南、青島、太原、鄭州、石家莊;上海區:上海;華中區:武漢、長沙;西北區:西安、烏魯木齊、銀川;閩浙區:杭州、福州;西南區:成都、昆明、貴州;華南區:深圳、廣州、南寧。線下定期還會有免費培訓。
線上則有免費騰訊課堂培訓、QQ技術支持、技術論壇【即帆軟論壇】、報表交流群【I群370362224,Ⅱ群166295690,Ⅲ群165887890,在線培訓群30515661】。
BIRT由於是國外開源產品,國內只有代理,無直接技術支持服務。
FineReport報表系統——零編碼做報表、多維圖表、多源填報、許可權管理,完美兼容excel。報表免費下載:http://www.finereport.com/tw/

原文網址:https://t17.techbang.com/topics/35106-birt-report-loss-of-depth-of-birt-enterprise-class-users-in-china-mystery?page=1