怎麼把報表模組從應用裡拆出來單獨維護?
如果報表透過報表工具開發,且報表中只涉及 SQL/ 儲存過程,拆分相對容易些,只需要整理好報表模組需要的資料庫資源即可,比如:會涉及到哪些資料來源、資料庫連線數需要分配多少等,然後將報表模組單獨作為報表應用部署維護即可。
如果報表中涉及 JAVA 編寫的內容(通常是為報表準備資料)會比較麻煩。首先因為 JAVA 程式碼要跟主程式一起打包部署,所以報表模組和主應用是緊耦合在一起的,要解耦報表模組需要另一種方式實現報表中 JAVA 實現的部分。
報表中使用 JAVA 編碼主要基於以下幾種原因:
1、資料計算涉及複雜過程和邏輯控制
為報表準備資料時涉及的計算過於複雜,或者需要做比較複雜的邏輯控制,透過 SQL 不易實現,只能透過 JAVA 硬編碼
2、涉及多樣性資料來源
報表的資料來源多種多樣,當涉及 NoSQL、文字、XML、Hadoop、時序資料庫、Webservice 等資料來源時,報表工具無法實現混合計算,需要用 JAVA 實現報表資料準備
3、方便應用擴充套件
未來業務增長需要對應用進行水平擴充套件(拆分),使用 SQL 不利於未來分庫,只能用 JAVA 實現報表資料計算
4、用於管理
為了管理需要,有時需要記錄報表訪問人、報表查詢次數、每次查詢了哪些資料等資訊,透過 JAVA 編寫監聽類實現
可以直接使用具備這些能力的報表工具完成解耦:
1. 很強的複雜計算能力,能完成較複雜的運算,還容易實現邏輯控制;
2. 多樣性資料來源支援,最好還能混合計算,如 CSV 和 DB 做 join;
3. 計算不依賴資料庫,方便擴充套件
4. 支援熱切換,修改報表不用重啟應用
可以看一下 ,介紹瞭如何使用報表工具解耦報表和主應用,畫個圖感受一下:
原來 JAVA 程式把報表和主應用緊緊綁在一起,現在可以把報表模組單獨拆分維護,解釋執行可以熱切換,修改報表可以不必重啟整個應用了。甚至還可以將報表模板單獨部署,在物理上實現分離,實現單獨維護。
工具對複雜計算的支援可以參考
對多樣性資料來源的支援參考
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2699755/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- excel混合文字提取數字公式 excel怎麼把數字單獨提出來Excel公式
- 堡壘機提供的運維報表有什麼用?怎麼簡單解釋?運維
- python getopt模組怎麼用?Python
- 怎麼用anaconda安裝模組?
- win10印表機維護在哪裡_win10印表機怎麼找到維護Win10
- 【中後臺應用】從表單抽象到表單中臺抽象
- 從模組到獨立發行的佳作,《遺忘之城》6年來經歷了什麼
- 模組化單體應用的資料隔離
- 網賭系統維護注單稽核不給提現出款該怎麼拿回來?
- [Python]OS模組應用Python
- docker 容器中單獨升級某個模組Docker
- 怎麼隱藏選單欄的應用圖示?方法在這裡!
- SAP PM IW33裡檢視維護訂單相關的維護計劃
- win10 維護怎麼關閉_win10自動維護要怎麼關閉Win10
- 表單的應用
- Linux運維應該怎麼學?去哪裡學啊?Linux運維
- 3,表單模組文件- layui-formUIORM
- 網賭注單異常出款通道維護被黑怎麼辦
- VeeValidate在vue專案裡表單校驗應用案例Vue
- PDM應用模組設計
- Web 應用防火牆:怎麼新增防護物件-域名Web防火牆物件
- 用 shelve 模組來存資料
- 想知道怎麼把電腦裡的影片轉換成mp3?用這招很簡單!
- 為什麼我們從來不去感謝開源專案維護者?
- 遇到平臺稽核維護注單異常不給提怎麼辦?
- 用於安裝和維護光纖單模和多模的光纖網路測試套件套件
- 六、【SAP-PM模組】預防性維護業務流程
- 如何做伺服器安全維護,網站安全維護怎麼做好伺服器網站
- pickle模組 collections模組在物件導向中的應用物件
- 早安打工人! 來把你的.NET程式模組化吧
- 未來系統擴充套件,報表怎麼辦?套件
- 報表怎麼動態選擇資料來源
- SAPABAP裡資料庫表的StorageParameters從哪裡來的資料庫
- MySQL入門--表維護MySql
- Angular 應用裡的 vendor.js 是用來幹什麼的?AngularJS
- 幽默:為單頁應用SPA辯護
- 怎麼區分外掛和模組
- 從module的簡單實現到模組化