程兆全
摘 要 錄井解釋成圖圖制圖平臺研制主要在業務數據管理的基礎上實現錄井成果圖的繪制,錄井成果圖的計算機制圖大大提高的工作效率和制圖的精度。基于界面層、業務邏輯層、數據層三層架構,搭建制圖平臺,實現了業務邏輯與數據邏輯的分離,并且可以支持數據一體多面的表達形式。
關鍵詞 錄井解釋 三層架構 業務層
中圖分類號:TP311文獻標識碼:A
1概述
“數字油田”是油田信息化建設的重要目標,錄井技術的發展趨勢是資料采集向數字化、一體化、標準化、信息化方向發展。在錄井資料數字化的基礎上,實現錄井圖計算機處理是勘探數據地質圖件信息化技術的重要內容。錄井解釋成圖圖制圖平臺的設計與開發包括UI層、BLL層、DAL層,各層次有明確的功能和任務,區分層次的目的即為了滿足面向對象開發設計過程中“高內聚低耦合”的需求。在軟件體系架構設計中,分層式結構是最常見,也是最重要的一種結構。概括來說,分層式設計可以達至如下目的:分散關注、松散耦合、邏輯復用、標準定義。
2平臺設計
松散耦合的好處是顯而易見的。如果一個系統沒有分層,那么各自的邏輯都緊緊糾纏在一起,彼此間相互依賴,誰都是不可替換的。一旦發生改變,則牽一發 而動全身,對項目的影響極為嚴重。降低層與層間的依賴性,既可以良好地保證未來的可擴展,在復用性上也是優勢明顯。每個功能模塊一旦定義好統一的接口,就 可以被各個模塊所調用,而不用為相同的功能進行重復地開發。
進行好的分層式結構設計,標準也是必不可少的。只有在一定程度的標準化基礎上,這個系統才是可擴展的,可替換的。而層與層之間的通信也必然保證了接口的標準化。
三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用劃分為:界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。
三層體系結構是在客戶端與數據庫之間加入了一個“中間層”,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不僅僅有B/S應用才是三層體系結構,三層是指邏輯上的三層,即把這三個層放置到一臺機器上。
三層體系的應用程序將業務規則、數據訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數據庫進行交互,而是通過COM/DCOM通訊與中間層建立連接,再經由中間層與數據庫進行交互。
3表示層設計
表示層(UI)位于最外層(最上層),最接近用戶。用于顯示數據和接收用戶輸入的數據,為用戶提供一種交互式操作的界面。
4業務邏輯層
業務邏輯層(Business Logic Layer)無疑是系統架構中體現核心價值的部分。它的關注點主要集中在業務規則的制定、業務流程的實現等與業務需求有關的系統設計,也即是說它是與系統所應對的領域(Domain)邏輯有關,很多時候,也將業務邏輯層稱為領域層。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一書中,將整個架構分為三個主要的層:表示層、領域層和數據源層。作為領域驅動設計的先驅Eric Evans,對業務邏輯層作了更細致地劃分,細分為應用層與領域層,通過分層進一步將應用邏輯與領域邏輯的解決方案分離。
業務邏輯層在體系架構中的位置很關鍵,它處于數據訪問層與表示層中間,起到了數據交換中承上啟下的作用。由于層是一種弱耦合結構,層與層之間的依賴是向下的,底層對于上層而言是“無知”的,改變上層的設計對于其調用的底層而言沒有任何影響。如果在分層設計時,遵循了面向接口設計的思想,那么這種向下的依賴也應該是一種弱依賴關系。因而在不改變接口定義的前提下,理想的分層式架構,應該是一個支持可抽取、可替換的“抽屜”式架構。正因為如此,業務邏輯層的設計對于一個支持可擴展的架構尤為關鍵,因為它扮演了兩個不同的角色。對于數據訪問層而言,它是調用者;對于表示層而言,它卻是被調用者。依賴與被依賴的關系都糾結在業務邏輯層上,如何實現依賴關系的解耦,則是除了實現業務邏輯之外留給設計師的任務。
5數據訪問層
數據訪問層有時候也稱為是持久層,其功能主要是負責數據庫的訪問,可以訪問數據庫系統、二進制文件、文本文檔或是XML文檔。主要是對非原始數據(數據庫或者文本文件等存放數據的形式)的操作層,而不是指原始數據,也就是說,是對數據庫的操作,而不是數據,具體為業務邏輯層或表示層提供數據服務。
簡單的說主要實現對數據的增、刪、改、查。將存儲在數據庫中的數據提交給業務層,同一時候將業務層處理的數據保存到數據庫。(當然這些操作都是基于UI層的。用戶的需求反映給界面(UI),UI反映給BLL,BLL反映給DAL,DAL進行數據的操作,操作后再一一返回,直到將用戶所需數據反饋給用戶)。
6結語
在三層架構的錄井解釋成圖圖制圖平臺的開發設計中,引入分層的設計思想,可以更加明確開發任務的分工。一旦定義好各層次之間的接口,負責不同邏輯設計的開發者就可以分散關注,并行工作。例如 UI開發者只需考慮用戶界面的體驗與操作,領域的設計者可以僅關注業務邏輯的設計,而數據庫設計者也不必為繁瑣的用戶交互而頭疼了。每個開發人員的任務得到了確認,開發進度就可以迅速的提高。
參考文獻
[1] 劉瑩.鉆錄井數據整合平臺技術研究[J].錄井工程,2019,30(01):88-92+101+140.
[2] 徐敬淇.淺析地化錄井技術的發展及應用現狀[J].信息系統工程,2019(03):41.