摘要:本文結合Struts框架、Hibernate框架以及Spring框架這三種框架的特點,借助Extjs框架的界面美觀優勢,對油田物資管理系統進行了開發設計。多層架構的應用在很大程度上提高了油田物資管理系統的穩定性,解決了可移植性及代碼復用等問題,既實現了油田數據的共享,又方便了對油田的協同管理。
關鍵詞:多層架構 油田物資管理系統 框架 系統設計
近年來,隨著我國石油業的發展,眾多石油企業在得到了更大發展機遇的同時,也面臨著更多的挑戰。油田物資管理是石油企業管理控制的核心,科學的油田物資管理系統有助于提升石油企業的綜合競爭力。隨著信息網絡技術的發展,傳統系統架構中的種種問題和缺陷不斷顯現出來,在此背景下,基于B/S的多層架構受到了人們的廣泛重視。以B/S模式為基礎的MVC設計模式實現了數據的控制與表現的分離,從而更加適應多層Web應用系統的復雜設計要求。應用Struts+Hibernate+Spring三大框架及Extjs框架結合所形成的多層框架能夠有效降低傳統系統架構的缺陷,提高代碼的可移植性和可重用性。
一、相關框架簡介
1. Struts框架
Struts框架是MVC框架的一種常見類型,該框架主要應用了Servlet技術和JSP技術,利用它無須再通過自己編碼對MVC模式進行編寫,就能夠完成相關開發,可謂既省時又省力。MVC模式主要包括了三種層,分別是:模型層、視圖層及控制層。其中,模型層主要為JavaBean,視圖層主要為JSP、ext等,控制層則主要為核心控制器和用戶實現的業務邏輯控制器。
2. Hibernate框架
Hibernate框架具有強大的對象關系映射功能,并且它的源代碼是開放的。該框架對JDBC進行了極其輕量級的對象封裝,從而通過一種對象編程思維,實現了對數據庫任意的操控。同時,通過HSQL也實現了對數據的簡單增、刪、改、查,從而在很大程度上簡化了操作程序,節省了人力和時間。Hibernate框架的基礎代碼主要有HBM映射文件、POJO類以及數據庫定義,在任何場合中,只要使用了JDBC,就可以應用Hibernate框架。
3. Spring框架
Spring框架的核心是輕量級容器,它是一種以控制反轉為基本原則的低入侵性輕量級的開放源代碼框架,主要目標是實現全方位的整合框架。該框架總共由七個模塊組成,七個模塊雖然均構建在核心容器之上,但是每個模塊都是可以單獨存在的,并且還可以與其他模塊聯合進行應用。另外,通過setter的方法,Spring框架可以根據配置文件對其它對象的引用進行設定。由于依賴注入機制的存在,使得無須對調用者與被調用者做出任何要求就能夠輕易實現,同時還更加便于管理POJO之間的依賴關系,從而大大降低了組合之間的耦合,以及令代碼變得可重復使用。
4. Extjs框架
Extjs框架是一種以HTML為控件的骨干、以CSS為樣式的表現以及以JavaScript為粘合語言的AJAX UI組件庫,它可以應用于IE等各種瀏覽器之上。Extjs框架最大的特點是界面美觀,利用該框架所設計開發出來的客戶端外觀極其大方、美觀、華麗。另外,利用Extjs框架還可以定制一些用于裝點用戶界面的小部件,以及設計一些漂亮直觀的組成部件模型和應用程序接口,從而輕松地打造出功能更加強大、界面更加美觀的客戶端及網頁。
二、基于多層架構的油田物資管理系統的設計
1. 功能模塊設計
通過調查各石油企業物資供應部門的需求,根據實際情況,確定該油田物資管理系統主要包括計劃管理模塊、采購管理模塊、合同管理模塊、物資編碼管理、倉儲管理模塊、審批管理模塊、質量管理模塊、供應商管理模塊、價格管理模塊、勞保管理模塊、廢料管理模塊、結算管理模塊、綜合查詢模塊、綜合統計模塊以及系統管理模塊等幾大功能模塊。
2. 系統總體架構
Struts框架的應用增強了系統的維護性與靈活性,但是卻對模型的支持尚有不足。Hibernate框架實現了對象關系映射及對JDBC的輕量級的對象封裝,但缺點在于其無法有效分離流程控制與視圖,從而使系統的耦合性較高。而Spring框架則是一個具有松耦合特點的框架,利用它可以在多層架構系統中起到穿針引線之作用。簡單來說,利用Struts框架降低MVC的耦合性,利用Hibernate框架降低開發難度,利用Extjs框架設計美觀的界面外觀,最后再利用Spring框架直接集成Hibernate,即可完成整個油田物資管理系統總體架構的設計。
3. 多層架構設計
該油田物資管理系統的多層架構主要包括表現層、業務邏輯層、數據持久層以及域模型層。其中,表現層的主要功能是對用戶請求進行管理及做出相應的響應和顯示;業務邏輯層是整個油田物資管理系統的核心所在,其主要功能是處理系統的業務邏輯;數據持久層的主要功能是實現數據的持久化和對象關系的映射;域模型層由實際需求中的業務對象所組成,主要功能是提高系統的性能。
三、基于多層架構的油田物資管理系統的實現
結合JSP技術與ExtJS技術,在視圖層頁面中進行表現層視圖的創建。利用ExtJS組件,能夠完成處理多列表聯動查詢、樹狀結構顯、多頁顯示等操作,而再結合css樣式表,可以將顯示變得更加大方美觀。Spket IDE是一種非常出色的支持ExtJS的IDE,在應用ExtJS之時,一般需要先引入ExtJS的樣式和庫文件,其中,樣式文件為resources/css/ext-all.css ,庫文件為adapter/ext/ext-base.js,完成以上兩種文件后再進行ExtJS的操作。業務邏輯層的實現需要先引用 ITermInfoDAO 接口,而該接口的引用則是通過調用findBean來實現的。為了保證松散耦合,接口 ITermInfoDAO 的實現由 Spring 框架通過設值注入來進行動態加載。對于數據持久層,首先要建立數據庫表與對象的映射關系,同時要實現持久化 ITermInfoDAO 。通過Hibernate Template模板類可免除顯式打開和關閉HibernateSession,只需獲得SessionFactory的引用即可。在域模型中,通過@Entity 來標識此類需被Hibernate 框架持久化,通過“name”來指明此域模型對應數據庫中的 HT_CONTRACTINFO 表,而id是其的主鍵。
綜上所述,當前我國正大力促進石油業的信息化發展,油田物資管理系統的設計是首要問題。基于多層架構的油田物資管理系統可以解決傳統油田物資管理的種種問題,從而實現管理的高效化。因此,我們必須要進一步加強對油田物資管理系統的研究,爭取更好地實現系統的架構。
參考文獻
[1]王建文,韓李鵬,張俊明.基于多層架構的油田物資管理系統設計與實現[J].計算機工程與設計,2011(1):162-165,292
[2]羅曉彤.基于多層架構的物資管理系統設計與實現[J].物流技術,2015(14):174-177
[3]甘臘梅.某油田物資管理信息系統的設計與實現[J].中國石油和化工標準與質量,2012(2):197
[4]劉改玲.淺議油田物資管理信息系統建設[J].經濟師,2012(11):237,239
作者簡介:俞洋,1983—,男 浙江紹興人,經濟師,本科,主要從事油田的計劃采購工作。