所謂的無編碼搭建web報表系統(tǒng),嚴格意義上來說,應(yīng)該包括從報表軟件的安裝,配置,報表的設(shè)計,到完整的系統(tǒng)運行,都可以通過鼠標或者鍵盤操作來完成的,不需要額外編寫代碼。 一般來目前的報表系統(tǒng)很少能夠完全做到這一點,大多都是宣稱自己能夠無編碼設(shè)計報表。但是一般在項目當(dāng)中應(yīng)用的時候,往往需要將報表系統(tǒng)的組織起來,按照一定的用戶權(quán)限,最終以一個報表系統(tǒng)的形式展示給最終用戶。那么在搭建/維護這個系統(tǒng)的時候,就需要設(shè)計者/維護者了解有關(guān)報表的調(diào)用,參數(shù)的設(shè)置,頁面的設(shè)計等等多種需要手工創(chuàng)建代碼的事情。 對于一個技術(shù)水平較高的報表系統(tǒng)設(shè)計者來說,可能手工創(chuàng)建一個系統(tǒng),并不是難度太大。但如果每一次修改一個報表或者重新設(shè)計一個報表,都需要重新手工創(chuàng)建代碼,他可能不會有足夠的熱情來做這個工作。更進一步說,如果我們的報表系統(tǒng)要求讓最終用戶也可以修改發(fā)布報表,那么代碼創(chuàng)建的工作對于他來說,繁瑣且有難度。 以最終的解決辦法,應(yīng)該是有一套和報表設(shè)計器搭配的報表發(fā)布系統(tǒng)。用戶通過界面操作來配置報表發(fā)布的系統(tǒng)。為最終客戶提供一個完全可視化操作的全自動報表發(fā)布平臺。 值得欣喜的是,F(xiàn)ineReport和FineServer這兩大軟件針對這個需求做了很多工作并徹底的解決了這個問題。其解決方案簡單概括如下:1、內(nèi)置參數(shù)頁面幾乎在所有的項目當(dāng)中,報表都會用到參數(shù)控制,例如日報,周報,月報。還有例如地區(qū)產(chǎn)品銷售狀況匯總,還可能需要選擇地區(qū),選擇產(chǎn)品等等參數(shù)。內(nèi)置的參數(shù)頁面,是收集了報表當(dāng)中在任何地方定義過的參數(shù),然后用戶通過拖拽來設(shè)置參數(shù)頁面的布局。這一點,在FineReport6.1版本當(dāng)中,已經(jīng)有所體現(xiàn)。可見此功能是在為無編碼搭建系統(tǒng)鋪路。2、XML配置文件部署項目項目的發(fā)布基于XML配置文件,即所有的頁面設(shè)置信息保存于不同的XML文件當(dāng)中,只要將這些文件部署于服務(wù)器端,即可成功完成系統(tǒng)搭建。 搭建系統(tǒng)所需的XML文件主要包括數(shù)據(jù)源,權(quán)限,以及報表目錄樹的組織,以及報表系統(tǒng)的細節(jié)設(shè)置(例如首頁portal展示內(nèi)容,標題,背景等等)。 當(dāng)然,這樣的簡單的說法,并不能讓大家了解究竟是怎樣一個方法來創(chuàng)建系統(tǒng)。在后面的時間里,我會以實際的工作進程來演示如何僅僅通過報表創(chuàng)建各種系統(tǒng),例如CRM,HR系統(tǒng)等等。