◆高立兵
(甘肅有色冶金職業技術學院 甘肅 737100)
基于.Net的機務管理信息系統框架的研究
◆高立兵
(甘肅有色冶金職業技術學院 甘肅 737100)
本文討論了現有鐵路機務行業信息系統的不足并指出了建立機務管理信息系統框架的必要性,進而闡述了框架的概念,明確了研究框架所屬的框架類型。通過這些實際需要完成的任務,對鐵路機務管理系統進行了較高層次上的模型提取。通過AOP技術,解決了在各個子系統中共同存在問題,減少了系統中代碼的數量。同時,用同一段代碼處理不同子系統中的相同問題(即橫切點),有利于提高系統的安全性和穩定性。
鐵路機務管理;框架;設計模式;MVC;O/R Mapping;AOP
近年來,我國在鐵路管理維護上投入了大量的經費,尤其是在機務段、車輛段等大修工廠投入尤為突出。為此,對目前的維修進行科學規劃,科學管理就顯得尤為重要。其一,列車的安全運行離不開科學的管理與監督,其二,科學的管理也可以減少投入,節省人力物力,甚至可減輕環境負擔。鑒于此,對鐵路原有管理信息系統開發是目前亟需解決的問題。
作為行業應用框架,需要架構在一定的基礎結構之上,在本文的框架中,我們采用微軟的.Net作為基礎結構。
1.1 什么是.Net框架
Microsoft.Net框架是基于標準協議的應用程序平臺,它具有部署應用程序和操作靈活的特點,在現有投資和應用程序上得到了廣泛的應用[3]。它是一種簡化了的,新的計算機平臺,尤其使開發變得更為容易。
1.2 Net框架用到的幾種重要技術
(1)用戶界面層實現技術
.NET Framework有兩種編程的模式供用戶使用,分別是Web Forms和Windows Forms。
(2)分布式處理技術
DCOM是在COM的基礎之上,以不可見的方式對其進行了構架的組建,其可實現完整的功能,可以不同計算機之間進行通訊,包括局域網,廣域網及Internet。近年來,隨著.NET框架的廣泛應用,目前出現了不同的應用方案,其中最為典型的兩種分別是XML Web Service和.NET Remoting。Web Service是目前較為理想的一種方案,其構建包括了跨越語言,平臺及系統。.NET Remoting是基于DCOM建立起的一種新的平臺,其實質是在CLR上進行通信,具有容易實現,容易配置,更安全,更可靠的優點。
(3)數據訪問技術
.NET 數據提供對象種類較多,也是訪問數據庫的前提。從目前來看,Connection對象應用較為廣泛,其數據實現由Connection執行。DataSet對象作為另外一種類型,在現實中應用也得到了廣泛的發展,其數據的實現由DataAdapter來完成。
2.1 機務管理信息系統
本文通過構建多層分布的構建,組建了一個具有很多優點的多層分布式構架,其具備效率高,可靠性高的特點,被廣泛應用于綜合辦公系統、機車檢修計劃生成系統、小輔修檢修質量管理系統、動檢中心網上提票系統為重點,綜合考慮到機車統計信息、燃油信息管理系統、乘務捆綁計件管理系統等環節,充分體現了系統間相互配合,重點突出,有機聯系的特點。系統包括綜合辦公系統、小輔修檢修質量管理系統、動檢中心網上提票系統、燃油信息管理系統、乘務捆綁計件管理系統。
2.2 模型的建立
機務信息管理系統是一個應用系統龐大而復雜的系統,主要特點是信息量大、種類繁多,信息來源渠道廣泛,遍及各工廠、各段級單位。信息收集、加工和處理的工作量十分繁重,為實現信息系統網絡信息交換和數據共享,提高信息傳遞的正確性、信息處理速度和網絡系統的使用效率,提高經濟效益有著重要的意義。同時,機務信息管理系統又是一個相對典型的管理信息系統,在開發中采用了典型的層模式,其中包括了用戶前端,中間層業務服務器以及數據庫等。
B/S體系結構一般分為三層,即:數據層、邏輯層,表現層[7]。三層技術在實現數據層方面的技術己經很成熟,如各種編程平臺上的數據訪問組件,java的JDO,.NET上的ADO.NET等,甚至不少的O/R-Mapping開源軟件使得構架數據訪問層前所未有的簡單和高效[7]。正是由于B/S體系中零部署的這一優點導致了其表現層的設計復雜性。客戶體驗遠不如采用傳統的C/S設計的用戶界面的效果,對于表現層的編程人員來說,表現層的設計繁瑣不說,表示界面的需求變化比起業務邏輯,它是經常變動,MVC(Model-View-Controller)模式為解決表現層與邏輯層的解耦問題給出了很好解決方案。
4.1 AOP概念的引入
AOP是Aspect Oriented Programming地簡寫,中文通常譯作面向方面編程,其核心內容就是所謂的“橫切關注點”AOP為開發者提供了一種描述橫切關注點的機制,并能夠自動將橫切關注點植入到面向對象的軟件系統中,從而使橫切關注點得以實現。Aspect的劃分,使得橫切關注點變得容易實現,尤其是開發者可以在任意時刻進行編譯。更重要的是,AOP 可能對軟件開發的過程造成根本性的影響。
4.2 AOP實現的方法
實現AOP的關鍵,是攔截正常的方法調用,將需要額外附加的功能透明的織入這些方法中,以完成一些額外的要求。我們在框架中探討使用裝飾者模式和代理模式來實現方法的攔截。
(1)使用裝飾模式
所謂裝飾(Decorator)模式,是指在不改變對象的前提下,動態增加其功能,即不希望改變原有的類,或采用創建子類的方法增加功能。
(2)使用代理模式
在軟件系統中,由于存在跨網絡等障礙,使得某些對象不能夠直接被訪問,給程序帶來了一定的麻煩。為了克服這一困難,可以在客戶程序與目標程度之間加一個中間層,其可實現某些對象的直接訪問。.Net中的RealProxy類是代理必須繼承的 abstract基類。
客戶端在跨任何類型的遠程處理邊界使用對象時,對對象使用的實際上是透明代理。透明代理使人以為實際對象駐留在客戶端空間中。它實現這一點的方法是:使用遠程處理基礎結構將對其進行的調用轉發給真實對象。
透明代理本身由RealProxy類型的托管運行時類的實例收容。RealProxy實現從透明代理轉發操作所需的部分功能。請注意,代理對象繼承與托管對象(如垃圾回收、字段和方法支持)關聯的語義,并且可以擴展以形成新類。該代理具有雙重特性:它作為與遠程對象(透明代理)相同的類的對象,同時其本身是托管對象。
當前,我國在鐵路維護管理中投入了大量的資金,且其效率較低,管理效果不夠明顯。鑒于此,對原有鐵路構建的開發是十分必要的。本文首先描述了相關的概念,如軟件復用,框架,模式等等,然后對現有的機務檢修管理信息系統進行了模型建立,對其中需要解決的幾個高層的重要問題予以了分別的闡述和試著給出解決方案。
[1]Wolfgang Schult,Andreas Polze,Speed vs.Memory Usage - An Approach to Deal withContrary Aspects.The Second AOS D Workshop on Aspects,Components,a-nd Patternsfor Infrastructu re Software.International Conference onAspect-Oriented Software Development,Boston,Massachusetts,March 17 - 21,2005.
[2]邵維忠,楊芙清.面向對象的系統分析[M].北京:清華大學出版社,1999.
[3]Michael Cherry.NET開發平臺研究[Z].微軟公司技術白皮書.
[4]艾迪明.NET框架體系結構[J].計算機工程與應用,2005.
甘肅省科技計劃資助(1304GKCC044);甘肅省高等學校科研項目(2015B—198)。