哪款報表工具更適合行業軟體開發商?

bubblegum發表於2020-08-05

行業軟體開發商(以下簡稱開發商)是我國最常見的軟體公司了,其本身具備較強的技術能力,而且每年都會承接很多專案,在選擇報表工具時的關注點與技術能力不強(大部分)、且在較長時間內只選購一次產品的行業終端使用者有很大不同。

開發商關心報表工具,以及一切工具性產品,主要都是兩條:

1. 可用性。功能再多再強,如果在自己的體系下不可用,那沒有意義。

2. 低成本。在可用的提前下,要選擇成本儘量低的方案。這裡的成本是指整體成本,不只是構成產品的成本,還包括要各種其它配套事務的成本,如需要自身投入的人員成本。

對於報表工具而言,可用性主要是指整合性。開發商向使用者提交的是自己的解決方案,報表是其中一部分,甚至是某些頁面的部分。整合性不僅包括整合報表工具,還包括報表工具提供的 API 甚至開源以供進一步開發。任何產品都不可以解決一切問題,某些情況還必須要自己開發特定功能以補充,如果缺乏 API 介面,即使功能很全的報表工具也可能被一件很小的事卡住而不能在某專案中使用。

低成本又有分為兩個方面,功能全面和產品價格。功能不全面,就經常要動用人員再去補充功能,經常會造成更多的成本;產品價格當然很容易理解了,這是直接的成本。

目前市場主流報表工具可以分成這樣幾類:開源產品、國外商用產品、國內商用產品,其中國內商用產品又可以按照產品誕生時功能側重點分為國內報表產品和國內 BI 產品。下面我們就從整合性和使用成本等方面來比較一下這幾類報表產品有哪些適合開發商使用。

整合性

如前面提到的,整合性對開發商非常關鍵,報表需要整合嵌入到系統中作為系統的一部分使用。這要求報表工具提供非常強的嵌入的方式和豐富的 API。

在整合性方面,顯然開源產品是最好的。因為提供原始碼,報表可以根據需要任意修改使用。雖然有時修改原始碼並不是一件簡單的事,但畢竟“原始碼在手,天下我有”。

對於國外商用產品,在整合性方面表現就很差了。國外產品通常只能以獨立部署甚至 SaaS 方式使用,基本無法嵌入已有系統。這也正常,國外產品向來不以整合性見長,這是由其產品在世界範圍內的使用習慣決定的。

國內 BI 產品的情況跟國外產品類似,因為通常都是以一個完整系統獨立交付給使用者使用,很難將產品中的某些功能嵌入系統,當然也無法將其他業務功能再加到 BI 系統中。這樣做的好處是對支援端使用者開箱即用,但對需要整合性的開發商來說就不是一個好訊息了。

反觀國內以報表為核心功能的商用產品在整合性方面就表現很好了。一般國內報表產品都會提供 taglib 的整合方式,使用者只需要在頁面上引入標籤庫,再使用相應的 tag 就可以釋出報表,這樣就可以非常方便地在應用中引用報表,甚至將其作為頁面的一部分使用。

在整合性方面,國內大多數報表產品表現都很不錯,如果單從整合性來看,開發商的選擇範圍很廣。而在眾多國內報表產品中,潤乾報表的整合性表現最佳。原因是由於潤乾報表定位於純粹的中介軟體工具(主要用來被整合)。所以我們看到在潤乾報表中看到很多整合方式,多種 tag 以及豐富的 API,甚至其產品體系內提供的 BI 相關功能都能被整合到應用頁面中。另外,潤乾報表還提供了開源的 BI 分析前端以及開源的報表中心,這對開發商來說就非常便利了。

潤乾報表的缺點是不合適開箱即用(這正是其他產品的優點),需要整合使用,對於沒有技術能力的終端使用者而言潤乾報表並不是一個好選擇,但對於開發商來說良好的整合性非常重要。潤乾報表是商用產品中唯一主要面向開發商的產品。

產品功能

這點很好理解,功能越豐富使用越省勁,也不會帶來額外的開發成本。那麼哪些報表功能是開發商關注的?

中國複雜報表支援

複雜報表包括常規的斜線表頭、動態拉伸、行列對稱、不規則分組、多源分片等,還有動態列、摺疊報表、動態合併格等(啥是複雜報表: )。報表工具對複雜報表的支援程度恐怕是所有國內報表使用者最關心的一點了,由於中國報表的特殊性,包括開源報表在內的國外產品都不支援,因此也做不出來這類報表。而國內報表產品大都支援這類報表,其中以潤乾報表和帆軟報表支援得最好。潤乾是最早提出解決中國複雜報表方案的廠商,其提出的“非線性報表模型”至今仍然是解決中國複雜報表的利器,這個模型也成了國內報表行業的通用標準。

匯出列印、圖表呈現等通用功能

除了複雜報表,報表中常用的功能也同樣重要。匯出 PDF、WORD、EXCEL 等;可以根據報表、文字、圖片等內容生成完整 WORD 報告;提供 Flash、PDF 等多種列印方式,支援套打、批次列印、不預覽直接列印。支援圖表混合呈現,能夠對接第三方圖形(如 ECharts,D3)以實現更酷炫的呈現效果;提供了 DashBoard 可用於 PC 或大屏端圖表組合呈現;支援 H5 適配移動端……

這些通用功能仍然是國內報表工具支援的最好,不過國內各家產品的差異性並不大。

多樣性資料來源支援

報表作為常用的分析型應用形式,涉及的資料範圍可以很大,需要對接的資料來源種類也會很多。因此報表工具對各類資料來源的支援尤其重要,否則開發商每遇到一種資料來源就要開發介面成本會很高。目前除開源報表外,各家商用商品或多或少都提供了多樣性資料來源支援,這方面還是潤乾報表支援的種類比較豐富,除常規的 RDBMS,NoSQL、Hadoop、本地檔案等全部提供支援。

哪款報表工具更適合行業軟體開發商?

擴充套件閱讀:

效能

效能包括兩方面,一是報表引擎的效能,包括報表解析計算速度、HTML 渲染速度等;二是對大資料量的支援,是否支援基於海量資料的快速呈現。在引擎效能方面,潤乾報表表現更優,這得益於其理論模型的先進性。

海量資料支援方面,各產品都提供了相應特性,但絕大部分都採用資料庫分頁機制來實現,這會導致翻頁效率差(尤其是頁碼大的時候),還可能出現資料不一致(分頁查詢時伴隨資料刪除)。另外由於依賴資料庫進行分頁,如果資料來源是文字或其他型別就不支援了。在這方面,潤乾報表提供了一種大報表的支援,將取數和呈現執行緒分開,呈現執行緒在讀取第一份快取資料後就立刻呈現,這樣前端就可以快速得到查詢結果;取數執行緒則在後臺慢慢快取資料,這樣就可以解決上面提到的問題。在其他國內外產品中尚未發現這類機制。

擴充套件閱讀:

安全性

對於獨立系統,如果要和現有系統進行互動,需要實現跨系統呼叫,這樣會存在安全隱患,為了消除安全隱患就要投入很大的精力進行管控,對於開發商來說成本並不低。而整合嵌入就不存在這樣的問題,報表作為嵌入整個應用的一部分可以遵循工程內安全保證機制,這樣就不存在額外的管理成本,這是整合性在安全性方面提供的幫助。另外,報表工具本身是否提供諸如防 SQL 注入等安全機制也非常重要。

從功能的全面性來看,開源報表的功能最簡單,因此在這方面表現最差;國外商用產品和國內 BI 產品對複雜報表支援和一些通用功能(如各種列印)上的欠缺對於開發商來說也不是好選擇。最適合開發商使用的是國內報表產品,其中潤乾報表又是最突出的一個。

易用性

報表工具良好的整合性和全面的功能對開發商固然重要,而開發工具易用性則會直接影響開發效率,進一步影響開發成本。

從報表開發方式來看,開源報表產品通常採用控制元件式開發方式,有時想要做一些對齊、佈局等操作都比較困難,因而在開發使用上最難上手。有些開源產品漢化不完全,中文文件和中文社群缺失也是影響使用的一大障礙。

國外商用產品要好很多,雖然操作上仍然不太符合中國使用者的使用習慣,但已經比開源產品好很多了。不過,在上手難易程度上仍然遠遜色於國內產品。

國內 BI 產品充分考慮了本土使用者的使用習慣,因此相較國外產品更近一步,只是在整合性和功能上有所缺失並不滿足開發商的需要。

國內報表產品大多采用類 Excel 設計,提供獨立的 IDE,無論在開發方式還是開發環境方面都比較迎合國內使用者習慣。其中又以潤乾和帆軟兩家報表產品最為易用。帆軟報表的易用性較突出,其在設計階段提供了很多比較精細的設計,這樣可以讓報表開發新手迅速上手。潤乾報表在這方面較帆軟要差一些,上手稍難,適合熟悉報表開發的老手來用。原因是潤乾報表為了更好的整合性犧牲了一定的易用性,不過對於重複做專案的開發商來說二者並無太大差異,但對於時間比較緊又沒有具備報表開發經驗人員的專案,帆軟更為適合。

計算層

在報表開發效率方面,除了報表呈現端的設計,報表資料準備的效率也不容忽視。

我們知道報表開發有兩個階段,首先是資料準備,就是為前端的報表呈現提供資料支援;然後才是使用準備好的資料進行圖表呈現、匯出列印等。報表呈現的資料從原始資料到報表可用還有很長的路要走,這個過程會涉及大量的硬編碼(複雜 SQL/ 儲存過程 /JAVA),帶來的工作量有時遠遠大於報表呈現模板設計。因此提升報表資料準備階段的效率對整體報表開發效率尤其重要。

主流產品仍然只在解決呈現環節的問題,而對報表資料準備無能為力。目前僅潤乾報表提供了計算層指令碼專門用於解決報表資料準備環節的效率問題。潤乾報表提供的計算層可以用來替代原來資料準備工作中使用的複雜 SQL/ 儲存過程 /JAVA 程式碼,簡單理解就是一個就是內建在報表中具備強計算能力的計算引擎。畫個簡單的結構圖大概是這樣:

哪款報表工具更適合行業軟體開發商?

提升開發效率

計算層最大的作用是大幅提升報表的開發效率。其指令碼中提供了豐富的結構化計算類庫,可以簡化資料準備演算法實現,比 SQL 和 JAVA 更簡單。不僅開發效率提高,對人員要求也進一步降低,報表開發工作就可以交給初級技術人員來做,從而有效降低成本(擴充套件閱讀: )

計算層的演算法實現指令碼是解釋執行的,這樣報表修改上傳後就可以實時生效,做到熱切換(原來用 JAVA 做資料準備的報表修改還要重啟應用才行)。支援熱切換後,在開發階段就不用每次修改報表重啟應用,大量節約開發時間,提升開發效率。(擴充套件閱讀: )

從資料庫方面來看,有了計算層以後,報表和資料庫完全解耦,多複雜的資料準備程式碼不再依賴資料庫。由於不同專案可能使用不同資料庫(這經常由業主方說了算),報表不依賴資料庫就可以做到在不同專案中複用報表程式碼,有效節約開發成本。(擴充套件閱讀: )

應對報表沒完沒了

報表沒完沒了在實際業務中很常見,在專案初期開發的報表會隨著專案的進行不斷新增和修改,即使在專案上線執行以後,報表需求仍然源源不斷。報表沒完沒了是個常態,是客戶業務不斷變化使然,所以沒辦法消除只能適應。以往為了應對這樣的問題,專案組往往會安排高階程式設計師來做,由於報表開發涉及 JAVA、儲存過程這些複雜的技術手段,普通的技術人員往往無法勝任,報表和業務其他模組以及資料來源緊耦合在一起也無法拆分獨立維護。

透過潤乾報表提供的報表計算層,加上原來已有的呈現能力,就可以把報表模組獨立出來單獨運維。理想一點的方式是組建專門的報表運維團隊來應付沒完沒了的報表。運維人員不需要會寫 JAVA/ 儲存過程,具備一般技術能力即可,這樣成本就可以得到進一步控制。(擴充套件閱讀: )

報表計算層是潤乾報表獨有的特性,其他報表工具沒有這樣功能,自然也無法解決資料準備環節帶來的高人力成本問題了。從這一點上,可以說潤乾報表帶來的成本下降是完勝其它報表產品的。

價格體系

最後,對於商用產品來說,開發商還會非常關心產品價格。

國內商用產品大多按伺服器計費,一次性購買永久授權。但由於價格不透明,最後成交價比較依賴“砍價”本領。不過競爭下來,各家產品的成交價格差異也不是很大,一般不會低於每伺服器 10 萬元。

這裡重點說一下潤乾報表的銷售模式,因為絕對是個奇葩。

潤乾報表沒有采用傳統不透明價格的銷售 - 客戶模式,而是執行了無銷售人員的線上直銷模式,產品價格透明,直接公佈在官網上,使用者可以從網上下單採購產品,沒有現場售前交流,也沒有銷售人員跟單,全程標準化。

潤乾報表的價位比同類產品低了一個數量級。最低版本售價是 1 萬,功能已與其他國內商用產品售價 10 萬以上的版本相當,而且已經包括相對完整的開源 BI 元件;前面說的有計算層的版本也才只 2 萬;而擁有眾多獨創特色的最高版本售價也只 6 萬,各版本功能特點可以參考

針對開發商,潤乾報表還提供了年買斷方式。使用者在購買後一年內可以不限量使用產品,俗稱隨便用。這一年內取用的授權都是永久使用的,年買斷裡的“年”是指取用授權這個動作的期限。

年買斷價格從 8 萬起, 如果一年做 20 個專案,每個專案平均成本不到 5000 元,這是其它商用產品無論怎麼談判也不可能降到的價位了。

事實上,價格還可以更低。潤乾還附帶網際網路營銷推出了一系列打折的方法。官方宣傳中包括致電客服就能獲取 9 折優惠券、透過積分兌換可以獲得最低 5 折優惠券。這樣可以獲得更低的使用成本。

潤乾報表這個價格意味著什麼?

按照專業程式設計師月薪 2 萬,年薪 24 萬(不考慮社保公積金)來算,而潤乾報表的買斷價格只有 8 萬,這意味著用不到半個員工的成本就可以擁有不限量使用的報表工具,這已經低於使用開源產品的成本了,相當於擁有了一個自己的報表研發部。這樣無論什麼樣的專案都可以採用同一工具,競爭激烈時報表工具可以低價甚至免費,反正成本固定,怎麼賣都很靈活。

同時,對於開發商來說,全公司可以使用同一款報表工具,技術統一意味著更低的學習成本。這樣就可以避免因為專案大小不同需要使用不同報表工具帶來的額外學習成本。

這種價位和模式,其實其它報表工具是沒法競爭的,至少對於開發商來講是這樣。不過,其它報表工具的價格大都不透明,說不準有時也能砍出極低的價格來,那可能也合適。

潤乾這種模式也有個缺點,由於價格透明中間商很難透過轉賣賺取差價,而不透明的價格體系可以支援這種“玩法”,具體是要低成本,還是轉賣獲利,就要看開發商如何權衡了。

不過,大多數情況下使用純粹面向自己、高價效比的報表工具應該是最優選擇!

延伸閱讀:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2709311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章