尚東方 畢金強 辛全波 王瑞璽
【摘要】 通過信息化手段來推動港口設施維護管理工作科學、高效的開展有著深刻的重要性,本文通過采用B/S架構,使用ASP. NET MVC及Entity Framework技術設計實現了港口設施維護管理平臺,探討了系統的架構設計及AOP技術在系統中的應用。
【關鍵字】 ASP.NET MVC Entity Framework AOP 港口設施維護 信息化
一、引言
近幾十年來,我國港口經歷了5次較大的建設高潮。在這幾次港口建設高潮中建成的許多港口設施的使用年限已超過40年,這些碼頭、堆場、倉庫等的技術狀況不容樂觀,其中很多都是帶病工作。通過信息化手段對港口設施進行高效、精細、智能化的管理對保障港口安全生產運行有重要意義。
本文通過信息化技術手段,在.NET平臺下設計與實現了港口設施維護管理平臺,對港口設施的技術臺賬、設施維護情況進行信息化管理,提高了港口管理部門、港口企業在港口設施維護管理工作中的信息化水平。
二、相關技術
2.1 Web開發架構
隨著Web開發技術發展日趨成熟,目前信息管理系統的開發越來越多地從單機模式、客戶機/服務器模式發展到采用基于瀏覽器的 B/S架構模式。而B/S架構的應用系統也不斷發展并細分,以表示層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)組成的三層Web架構被廣泛應用。其中UI層負責用戶操作界面的顯示,與用戶交互;BLL層是應用系統的關鍵,它負責接收用戶發出的請求,并進行處理,并把處理結果返回給UI層,在處理業務邏輯的過程中將要持久化的信息通過DAL層對數據庫進行操作,將數據保存至數據庫。三層架構使得系統層次劃分更加清晰,也使得各層之間的耦合度降低,利于系統的組件的重用與功能的擴展、維護。
2.2 MVC
MVC是二十世紀八十年代為Smalltalk-80發明的一種軟件設計模式,最早應用于桌面應用中。MVC中的三個重要組成部分分別是模型(Model)、視圖(View)、控制器(Controller)。其中View層負責界面顯示,其顯示的內容是由Controller控制的,Controller做為整個架構中的樞紐部分,一方面負責接收用戶的輸入,根據用戶請求控制輸出,另一方面負責與后臺Model進行交互,Model是負責系統業務邏輯操作的核心組件,當接收到Controller的命令后,執行相關的業務邏輯操作。MVC在傳統Web架構之上更加清晰的劃分出了各組件的功能職責,加大了代碼的重用性與適用性,而且更好的解決了Web應用程序難以進行單元測試的問題。
ASP.NET MVC中MVC模式在.NET平臺下的具體實現,它是由Microsoft推出的可重用功能組件,目前最高版本為5.0,其在功能、性能、安全性上有了較大保障。
2.3 Entity Framework
Enity Framework(簡稱EF)是由Microsoft開發的,目前已托管到開源社區的.NET ORM(Object Relational Mapping)中間件框架。ORM將業務對象與數據庫中數據進行映射,實現數據庫物理層次之上的抽象的同時,還提供的相應的API,使用戶不用關于如何操作數據庫,操作什么類型的數據庫,通過EF,無需創造大的數據訪問層,減少代碼量,提高開發效率; EF中分為三個層級:概念模型層(Conceptual Models)、存儲模型層(Storage Models)、映射層(Mappings),概念層對應系統中的業務模型,存儲模型層對應數據庫的具體表、視圖、存儲過程,映射層負責概念層與存儲層的關系映射,清晰的層次劃分與映射標準保證了EF對異構數據庫的支持能力,目前EF原生集成對Ms SQL Server的支持,Oracle官網也提供ODT工具來實現EF對Oracle數據庫的支持,另開源數據庫MySql,文件型數據Sqlite等也都能與EF無縫集成,只需使用不同的組件來搭建相應的存儲模型層與映射層,便能使EF支持不同的數據庫,而無需更改業務邏輯代碼,從而降低應用系統與數據庫系統的耦合。
2.4 AOP
AOP(Aspect Oriented-Programming),指面向切面的編程。其主要思想是將業務邏輯中的通用功能部分從整個系統中剝離出來,形成單獨的功能組件,并通過相應的切入點與系統中的領域業務邏輯進行關聯,從而實現通用功能組件的重用。在現有的絕大多數應用系統中,一些功能是通用且本質上是相同的,如日志記錄、用戶認證、用戶授權、異常處理、性能監視與優化等。這些功能被使用的方式是相同的,且與領域業務邏輯無關。通過AOP能很好的將這些通用功能與領域業務邏輯很好的解耦,而且能通過配置的方式動態給應用系統添加或改變特定功能。
ASP.NET MVC中有相應的技術接口來支持AOP,因此在本文中的港口設施維護管理平臺便采用了AOP技術來對應用系統中通用功能進行了切片處理,從而達到了通用功能的重用,使用開發人員更加關注領域業務邏輯,從而進一步提高開發效率。
三、系統功能設計與實現
系統的整個架構圖如圖所示。架構從下到上分別分為數據庫、Web運行時,MVC運行庫。其中數據庫采用Ms SQL Server 2008,將數據庫表分為臺賬數據庫、維護數據庫、系統數據庫等幾個邏輯庫。整個Web系統運行在.NET Framework 4.5運行時之上,通過將ADO.NET與Entity Framework相結合來實現數據庫的增刪改查,通過對ASP. NET MVC的IFilter接口進行擴展來將AOP技術進行有效融合,來實現系統的認證、授權、日志記錄、異常處理等的功能,
四、結語
本文從港口設施維護管理信息化的需求出發,通過.NET平臺的MVC技術實現了B/S架構的港口設施維護管理平臺的設計與實現,實踐證明,通過ASP.NET MVC + Entity Framework技術相結合,能很好的滿足港口設施維護管理平臺的技術架構需求,MVC架構的應用能很好的保證系統的可擴展性與可測試性,通過Entity Framework來實現數據操作層的開發,能有較好的開發效率。目前該平臺已上線運行,且運行狀態良好。
參 考 文 獻
[1] 趙立鵬,張建國等. 對港口設施維護與管理對策的思考[J]. 港工技術. 2014(2).
[2] 馬鵬烜. 基于Entity Framework數據持久化技術淺析. 電腦與信息技術[J]. 2011(8).
[3] 徐朝輝,樊銀亭. MVC設計模式在.NET三層結構開發中的研究和實現[J]. 北京電子科技學院學報. 2007(6).
[4] 董源,李培軍,許舒人. 基于AOP的數據庫應用安全控制的設計與實現[J]. 計算機系統應用. 2015(12).