嚴海濤 袁琳 紀芳 劉健勇 周曉琳



摘? 要:該文詳細介紹60萬kW高溫氣冷堆示范工程設計接口管理系統(tǒng)底層架構搭建過程中所使用的ABP框架、ASP.NET MVC等關鍵技術,在闡述ABP框架的每一層結(jié)構作用及MVC分層優(yōu)勢的基礎上設計和規(guī)劃了整個系統(tǒng)的架構層次。最后,該文向讀者展示設計接口管理系統(tǒng)架構的工程實現(xiàn),簡單介紹所建ABP框架每層提供的系統(tǒng)功能,并以此體現(xiàn)該文所述架構層次的優(yōu)越性。
關鍵詞:ABP框架? ASP.NET MVC? 基礎架構? 分層開發(fā)? 設計接口管理
中圖分類號:TP311.5? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? 文章編號:1672-3791(2020)09(b)-0024-04
Design Interface Management System Architecture Construction Technology Application Research
YAN Haitao1? YUAN Lin1? JI Fang1? LIU Jianyong1? ZHOU Xiaolin2
(1.Information and Documentation Department, ChinergyCo., Ltd., ; 2.College of Information Science and Technology, Beijing University of Chemical Technology, Beijing, 100029? China)
Abstract:This paper introduces the ABP frameworkASP.NET MVC and other key technologies used in the construction of the bottom structure for the design of the 600000kW High temperature gas cooled reactor demonstration project,on the basis of elaborating the function of each layer of the ABP framework and the advantages of MVC layering, the architecture level of the entire systemis designed and planned. Finally, this paper shows the reader the engineering implementation of the design interface management system architecture, briefly introduces the system functions provided by each layer of the ABP framework, and reflects the advantages of the architecture level described in this paper.
Key Words: ABP framework; ASP.NETMVC;Infrastructure; Layered development; Design interface management
核電站設計工作是一個多專業(yè)、多階段的綜合性作業(yè),涉及面廣,內(nèi)外關系比較復雜。為了符合當前數(shù)字化管理的趨勢,由聯(lián)合設計機構牽頭,中核能源科技有限公司信息文檔部開發(fā)了60萬kW高溫氣冷堆示范工程設計接口管理系統(tǒng)(以下簡稱“設計接口管理系統(tǒng)”)軟件,實現(xiàn)對公司核電工程質(zhì)保、安全管理信息化的目標,以及設計接口資料單的電子化流程,規(guī)范設計接口活動。
該文將詳細介紹設計接口管理系統(tǒng)底層架構搭建過程中所使用的ABP框架、ASP.NET MVC等關鍵技術。設計接口管理系統(tǒng)架構搭建使用的是基于MVC的ABP框架模型,這是一套搭建好了的基礎架構,完美的設計和規(guī)劃了整個系統(tǒng)的架構層次。基于這個框架,開發(fā)者可以很好地來劃分任務,進行單元測試等,大大降低了軟件出現(xiàn)BUG的幾率。
1? 設計接口管理系統(tǒng)架構搭建過程關鍵技術研究
隨著Web應用軟件復雜度的不斷提升,用戶期望添加的功能越來越多,傳統(tǒng)的三層架構已力不從心,尤其需要進行多系統(tǒng)的持續(xù)集成開發(fā)。
實際上,有一定積累的公司或單位經(jīng)過多年的沉淀都形成了自己內(nèi)部的軟件架構,開發(fā)時只需要從基礎平臺搭建即可。如此不僅提高開發(fā)效率且明確分工,所以一套穩(wěn)定成熟的基礎開發(fā)架構和完善的工作流程是至關重要的。目前.NET上有不少開源框架,比如非常活躍的ABP框架。
1.1 ABP框架
ABP是“ASP.NET Boilerplate Project (ASP.NET樣板項目)的簡稱。ASP.NET Boilerplate為開發(fā)Web應用程序提供最新技術,它意在成為一個通用的Web應用程序框架和項目模板。為了減少代碼的復雜性以及提高代碼的可用性,分層架構是常用的技術[1-3]。ABP框架將系統(tǒng)分為5層,分別為:展現(xiàn)層(Presentation)、應用層(Application)、領域?qū)樱―omain)、持久化層(Persistence)以及基礎設施層(Infrastructure),設計接口管理系統(tǒng)分層架構如圖1所示。
其中展現(xiàn)層主要包括ASP.NET MVC及ASP.NET Web API,為客戶端提供頁面視圖和數(shù)據(jù)支持,實現(xiàn)用戶交互操作。應用層是展現(xiàn)層與領域?qū)又g的橋梁,應用服務調(diào)用領域?qū)觼硗瓿捎脩粽埱螅⑺钄?shù)據(jù)返回給展現(xiàn)層。領域?qū)邮菓贸绦虻暮诵膶樱I(yè)務對象和業(yè)務規(guī)則,同時該層還定義了倉儲接口來讀取和持久化實體數(shù)據(jù)到數(shù)據(jù)庫。持久化層實現(xiàn)倉儲接口,并以此與數(shù)據(jù)庫進行數(shù)據(jù)交互。基礎設施層提供眾多服務組件,例如日志記錄、異常處理、緩存管理等組件,可以直接調(diào)用,減少開發(fā)工作量。
ASP.NET技術模型是一種基于Web前端開發(fā)技術所設計的模型。通常在進行該技術模型設計時,會使用MVC的設計模式對其進行設計,能夠有效搭建起一個較為高效的系統(tǒng)運行框架[4]。ABP框架在服務器端使用了ASP.NET MVC技術,也就是對應項目工程中的展現(xiàn)層。這是ABP分層模式的重要技術,該文將在下一小節(jié)中詳細介紹MVC分層技術及優(yōu)勢。
1.2 MVC分層技術及分層優(yōu)勢
MVC作為一種非常經(jīng)典的軟件架構分層模式,在系統(tǒng)架構設計中擔當著不可替代的角色。MVC用于分層開發(fā),從設計的角度來看,該模式不僅個性化地實現(xiàn)界面及用戶交互,并且把交互分配到3個不同角色中[5-6]。其主要有3個核心部件:模型(Model)、視圖(View)、控制器(Controller),如圖2所示。
在一個MVC應用程序中,視圖用來顯示信息,并且僅此一項功能,控制器處理用戶的輸入輸出響應,并將處理的值傳遞給模型,模型進行數(shù)據(jù)加工,然后返回給控制器。由此實現(xiàn)輸入、處理和輸出分開。另外模型,經(jīng)常調(diào)用業(yè)務邏輯層獲取數(shù)據(jù)、存儲數(shù)據(jù)。例如:一個產(chǎn)品對象,通過Model調(diào)用業(yè)務邏輯層獲取產(chǎn)品對象的信息,然后進行對產(chǎn)品對象進行操作,最后回寫到數(shù)據(jù)庫中。Model是數(shù)據(jù)狀態(tài)的載體和業(yè)務邏輯處理的發(fā)起者。
MVC是一種設計模式,它能夠有效降低模塊間的耦合,降低系統(tǒng)開發(fā)周期與難度[7]。MVC分層對于實現(xiàn)復雜的應用程序有極大優(yōu)勢,開發(fā)人員只需關注某一方面即可,同時也讓應用程序的測試更加容易。其具有低耦合性、分工明確的優(yōu)點,并且框架具有很強的擴展性。
2? 設計接口管理系統(tǒng)系統(tǒng)架構工程實現(xiàn)
根據(jù)ABP分層架構,建立設計接口管理系統(tǒng)項目工程,工程模塊如圖3所示。
其中:
Abp.MongoDB 持久化層;
InterfaceManagement.Data 領域?qū)?
InterfaceManagement.Core 這個是筆者建立的核心層;
InterfaceManagement.Application 對應應用層;
InterfaceManagement.Web 對應展現(xiàn)層;
InterfaceManagement.Web.Api 這個是筆者建立的,提供WebApi服務;
InterfaceManagemnet.WorkFlow 這個是筆者建立的,提供工作流引擎服務。
上文提到,系統(tǒng)使用的ASP.NET MVC技術對應展現(xiàn)層,展現(xiàn)層工程實現(xiàn)如圖4所示。
從圖4可以明顯的看到MVC的3個層次:模型(Model)、視圖(View)、控制器(Controller),項目工程具體實現(xiàn)如圖5所示。
3? 結(jié)語
該文詳細介紹了ABP框架、ASP.NET MVC等關鍵技術,并且向讀者展示了整個系統(tǒng)的架構層次及工程實現(xiàn)。經(jīng)過筆者多年的開發(fā)經(jīng)驗及實踐研究,該文介紹的技術可行有效,并且已經(jīng)廣泛運用到中核能源科技有限公司各大集成管理系統(tǒng)的開發(fā)中。在此基礎上,經(jīng)過不斷的優(yōu)化創(chuàng)新,系統(tǒng)綜合性能及用戶體驗均得到有效提升。
參考文獻
[1] 陳浩.ABP框架的體系結(jié)構及模塊系統(tǒng)分析[J].電腦知識與技術,2016,12(32):45-46.
[2] 王素芳,胡必波.基于多層架構的ASP.NET4MVC框架研究[J].電腦與電信,2015(10):64-66.
[3] 郝樹青,武彤.ABP框架及其在Web項目開發(fā)中的應用[J].計算機技術與發(fā)展,2019,29(4):19-23.
[4] 肖洋.基于ASP.NET的MVC框架的應用開發(fā)模式研究[J].電子技術與軟件工程,2016(2):63.
[5] 劉桃麗,曾志超.MVC架構下網(wǎng)站的設計與實現(xiàn)[J].計算機技術與發(fā)展,2020,30(2):188-191.
[6] 馬麗,封蕾.基于MVC三層架構的美術資源庫的設計與實現(xiàn)[J].電子設計工程,2016,24(15):85-87.
[7] 滿高媛.MVC設計模式在ASP.NET框架中的應用研究[J].軟件導刊,2016,15(4):149-151.