国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Spring框架的煤炭企業(yè)物資管理系統(tǒng)的分析與設(shè)計(jì)

2012-01-08 08:59趙琳娜
中國(guó)礦業(yè) 2012年9期
關(guān)鍵詞:架構(gòu)設(shè)計(jì)煤炭企業(yè)分布式

張 瑋,趙琳娜

(1.華北科技學(xué)院教務(wù)處,北京 101149;2.華北科技學(xué)院外語(yǔ)系,北京 101149)

1 概述

煤炭生產(chǎn)是關(guān)系到國(guó)家經(jīng)濟(jì)、人民生活的重要產(chǎn)業(yè)。由于煤炭企業(yè)的特殊作業(yè)方式,其突發(fā)事件多,供應(yīng)過(guò)程中急用料多,給煤炭企業(yè)的物資管理帶來(lái)了很大的困難。煤炭企業(yè)的物資管理部門,必須要及時(shí)與生產(chǎn)一線進(jìn)行信息交換,及時(shí)將物資消耗信息與生產(chǎn)工程進(jìn)度、安全、質(zhì)量等過(guò)程的信息進(jìn)行比較、分析,從而做到生產(chǎn)資料全過(guò)程、全方位的管理與監(jiān)控。如圖1所示。

煤炭企業(yè)的物資管理系統(tǒng)涉及的部門多、人員廣,從物資采購(gòu)部、物資儲(chǔ)存部,一直到一線生產(chǎn)礦井。通過(guò)分布式的物資管理系統(tǒng),能夠及時(shí)了解煤炭企業(yè)內(nèi)部所有物資的進(jìn)貨渠道、價(jià)格、庫(kù)存、消耗情況。同時(shí),對(duì)于超過(guò)采購(gòu)計(jì)劃的物資、數(shù)額以及庫(kù)存不足的物資能夠及時(shí)警告,從而在保證企業(yè)正常生產(chǎn)的前提下,做到控制成本,減少庫(kù)存積壓。同時(shí),也對(duì)物資管理系統(tǒng)的分布性、并行性提出了更高的要求。

鑒于這種復(fù)雜性和高要求,本文從煤炭企業(yè)物資管理的需求入手,提出了以J2EE技術(shù)平臺(tái)為基礎(chǔ),基于Spring框架為核心的分布式物資管理系統(tǒng)的解決方案。

2 煤炭企業(yè)物資管理的需求分析

煤炭企業(yè)的物資管理涉及到兩個(gè)主要環(huán)節(jié):生產(chǎn)資料企業(yè)外采購(gòu)、生產(chǎn)資料企業(yè)內(nèi)流動(dòng)。

圖1 煤炭企業(yè)物資管理中信息的流動(dòng)

生產(chǎn)資料企業(yè)外采購(gòu)環(huán)節(jié)主要由采購(gòu)部門負(fù)責(zé)進(jìn)行。采購(gòu)部門根據(jù)庫(kù)存量和生產(chǎn)進(jìn)度,及時(shí)、保量的完成一線生產(chǎn)所需的各種原材料,以保證整個(gè)企業(yè)的正常生產(chǎn)?;緲I(yè)務(wù)流程如圖2所示。

圖2 生產(chǎn)資料企業(yè)外采購(gòu)流程圖

生產(chǎn)資料企業(yè)內(nèi)流動(dòng)環(huán)節(jié)主要由倉(cāng)庫(kù)部門負(fù)責(zé)。倉(cāng)庫(kù)部門管理整個(gè)煤炭企業(yè)的物資存儲(chǔ),包括原材料、維修配件、生產(chǎn)消耗品等。物資存儲(chǔ)直接面向生產(chǎn)一線,解決企業(yè)生產(chǎn)中遇到的物資消耗和物資采購(gòu)間的不同步,以保證煤炭企業(yè)生產(chǎn)的連續(xù)性,起到物資需求緩沖帶的作用。基本業(yè)務(wù)流程如圖3所示。

圖3 生產(chǎn)資料企業(yè)內(nèi)流動(dòng)流程圖

3 架構(gòu)設(shè)計(jì)的必要性

在開(kāi)發(fā)高效的分布式物資管理系統(tǒng)的過(guò)程中,如何同時(shí)滿足眾多參與者跨越空間、不同時(shí)效性的需求,實(shí)現(xiàn)他們各自的功能需求,是一個(gè)非?,F(xiàn)實(shí)而棘手的問(wèn)題。架構(gòu)設(shè)計(jì),就是在系統(tǒng)開(kāi)發(fā)之初,就對(duì)可能出現(xiàn)的“不一致”進(jìn)行評(píng)估、分析。力爭(zhēng)在項(xiàng)目初期,就對(duì)重要的問(wèn)題、關(guān)鍵的技術(shù)進(jìn)行統(tǒng)一的梳理、規(guī)劃。隨著功能的日益完善,整個(gè)系統(tǒng)在保證架構(gòu)一致的基礎(chǔ)上逐步構(gòu)建。

這一過(guò)程與現(xiàn)代高樓的建造頗為類似。工程師們?cè)诮ㄔ熘?,就?duì)整個(gè)大樓的地基、框架進(jìn)行了設(shè)計(jì)、建造。隨后,只需要逐層進(jìn)行少量的修改,就可以在短時(shí)間內(nèi)完成整個(gè)大樓的建造。

4 煤炭企業(yè)物資管理系統(tǒng)的架構(gòu)設(shè)計(jì)

在煤炭企業(yè)物資管理系統(tǒng)中,我們并不采用J2EE平臺(tái)中傳統(tǒng)的EJB容器,而是使用Spring框架支持的“輕量級(jí)容器”架構(gòu)。Spring框架所提供的“輕量級(jí)容器”架構(gòu),并不要求業(yè)務(wù)對(duì)象必須實(shí)現(xiàn)特定的接口,只要是合法的Java對(duì)象,都可以成為業(yè)務(wù)對(duì)象,即通常我們所說(shuō)的POJO(Plain Old Java Object)。這樣一來(lái),作為業(yè)務(wù)對(duì)象而言,就可以甩掉沉重的EJB接口,而專注于實(shí)現(xiàn)業(yè)務(wù)功能,從而達(dá)到較高的內(nèi)聚性。系統(tǒng)架構(gòu)如圖4所示。

圖4 煤炭企業(yè)物資管理系統(tǒng)架構(gòu)設(shè)計(jì)圖

用戶接口層主要是與用戶進(jìn)行交互,提供人機(jī)交互界面,可以是應(yīng)用程序也可以是網(wǎng)頁(yè)等網(wǎng)絡(luò)服務(wù)。

業(yè)務(wù)服務(wù)層主要是提供具體的業(yè)務(wù)功能,這些功能主要由業(yè)務(wù)對(duì)象來(lái)實(shí)現(xiàn)。同時(shí),該層對(duì)外提供各種業(yè)務(wù)服務(wù)接口,供用戶接口層中的各種對(duì)象調(diào)用。

數(shù)據(jù)訪問(wèn)層則封裝了數(shù)據(jù)訪問(wèn)的所有實(shí)現(xiàn),并對(duì)外提供數(shù)據(jù)訪問(wèn)接口。對(duì)于數(shù)據(jù)的使用者而言,數(shù)據(jù)訪問(wèn)對(duì)象是不存在的。數(shù)據(jù)訪問(wèn)對(duì)象根據(jù)不同的實(shí)際情況,既可以直接操作數(shù)據(jù)庫(kù)也可以和對(duì)象關(guān)系映射層進(jìn)行交互。

對(duì)象關(guān)系映射層(即Object-Relation Mapping)則完成了從對(duì)象到關(guān)系數(shù)據(jù)中表或字段的轉(zhuǎn)換。這種轉(zhuǎn)換經(jīng)過(guò)配置后是自動(dòng)完成的,并不需要對(duì)象本身進(jìn)行顯示的干預(yù)。

5 煤炭企業(yè)物資管理系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

根據(jù)煤炭企業(yè)的具體情況,設(shè)計(jì)其網(wǎng)絡(luò)結(jié)構(gòu),如圖5所示。

圖5 網(wǎng)絡(luò)結(jié)構(gòu)示意圖

采購(gòu)部門、倉(cāng)儲(chǔ)工作人員使用“客戶端”通過(guò)Internet或企業(yè)內(nèi)部的Intranet經(jīng)過(guò)防火墻訪問(wèn)業(yè)務(wù)邏輯服務(wù)器,直接調(diào)用各種業(yè)務(wù)對(duì)象,完成各種業(yè)務(wù)操作。

物資供應(yīng)商則使用“瀏覽器”經(jīng)由Internet,并穿過(guò)防火墻訪問(wèn)WEB服務(wù)器,查詢訂單、追蹤訂單結(jié)算等情況。

一線的生產(chǎn)礦井工作人員則通過(guò)瀏覽器、客戶端,及時(shí)了解物資儲(chǔ)備情況、本礦井隨生產(chǎn)消耗的物資情況,同時(shí)可以及時(shí)追加物資領(lǐng)取申請(qǐng)。

6 煤炭企業(yè)物資管理系統(tǒng)的實(shí)施方案

在“輕量級(jí)容器”為核心的架構(gòu)設(shè)計(jì)中,主要涉及到了兩種框架的使用。一個(gè)是由Spring提供的分布式對(duì)象框架,主要負(fù)責(zé)各種業(yè)務(wù)對(duì)象的調(diào)度,為客戶端和WEB服務(wù)器提供業(yè)務(wù)功能;另一個(gè)是由Hibernate提供的對(duì)象關(guān)系映射框架,主要負(fù)責(zé)將普通的Java對(duì)象轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫(kù)可以識(shí)別的表及表間關(guān)系,為數(shù)據(jù)的持久化提供一種透明的實(shí)現(xiàn)機(jī)制。

6.1 輕量級(jí)容器中的分布式對(duì)象框架

Spring是目前應(yīng)用較為廣泛的J2EE架構(gòu),它可以替代EJB架構(gòu)作為企業(yè)級(jí)應(yīng)用的輕量級(jí)解決方案。Spring框架的核心機(jī)制,是依賴注入和聲明式事務(wù)管理,這兩項(xiàng)技術(shù)可將最普通的Java對(duì)象(Plain Old Java Object)直接放到框架中進(jìn)行管理,從而將被管理對(duì)象的侵入程度降到最低。

Spring框架使用HttpInvoker類,將函數(shù)的參數(shù)和返回值進(jìn)行序列化,然后利用HTTP協(xié)議進(jìn)行傳輸,整個(gè)過(guò)程相對(duì)于客戶端而言是透明的。分布式處理過(guò)程的參與類圖,如圖6所示。

圖6 分布式處理過(guò)程的參與類圖

DistributedClass:是被分布處理的類,其方法可以被遠(yuǎn)程調(diào)用,簡(jiǎn)稱為“分布類”。

IDistributedClass:Java接口類型,是分布類在“本地”的代理,包含了遠(yuǎn)程服務(wù)方法的完整簽名。

DistributedClassClient:是分布類的使用者,簡(jiǎn)稱為“調(diào)用者”。

ParameterClass:參數(shù)類,在遠(yuǎn)程調(diào)用時(shí)需要被序列化,所以必須實(shí)現(xiàn)Java中的Serializable接口。

分布式處理過(guò)程中異地調(diào)用對(duì)象的序列圖,如圖7所示。

6.2 輕量級(jí)容器中的對(duì)象關(guān)系映射

Hibernate框架是近幾年逐漸崛起的O/R映射工具。在配置好Hibernate框架后,從對(duì)象到關(guān)系數(shù)據(jù)庫(kù)的映射即可自動(dòng)完成。除了最基本的增、刪、改、查外,Hibernate中也可以很好的管理事務(wù),而無(wú)需在程序設(shè)計(jì)上花費(fèi)大量的精力。Hibernate框架中,對(duì)象關(guān)系映射的參與類圖,如圖8所示。

PersistentClass代表了需要存儲(chǔ)在數(shù)據(jù)庫(kù)中的類,簡(jiǎn)稱“存儲(chǔ)類”。BusinessService代表了需要將存儲(chǔ)類的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)的業(yè)務(wù)服務(wù)類。PersistentClassList代表了一組“存儲(chǔ)里類”,是一個(gè)列表或組的概念。DAO 定義了數(shù)據(jù)訪問(wèn)對(duì)象必須實(shí)現(xiàn)的方法簽名,這些方法均與數(shù)據(jù)庫(kù)存儲(chǔ)有關(guān)。DAOImpl 則具體實(shí)現(xiàn)了DAO接口中定義的數(shù)據(jù)訪問(wèn)方法,封裝了訪問(wèn)關(guān)系數(shù)據(jù)庫(kù)的實(shí)際過(guò)程。

7 總結(jié)

煤炭企業(yè)的物資管理具有獨(dú)特的信息流程,所涉及到的部門、人員眾多,因此對(duì)煤炭企業(yè)的物資管理系統(tǒng)具有更多分布式的要求。我們利用J2EE平臺(tái)下Spring框架優(yōu)良的分布式處理機(jī)制和Hibernate框架,很好的解決了這一問(wèn)題,并給出了專門針對(duì)煤炭企業(yè)物資管理系統(tǒng)的架構(gòu)實(shí)施方案。

圖7 分布式處理過(guò)程中異地調(diào)用對(duì)象的序列圖

圖8 Hibernate框架中對(duì)象關(guān)系映射的參與類圖

架構(gòu)設(shè)計(jì)為整個(gè)系統(tǒng)的實(shí)現(xiàn)提供了一個(gè)一致性的基礎(chǔ)。在架構(gòu)設(shè)計(jì)的基礎(chǔ)上,便可以著手針對(duì)具體的用戶需求實(shí)現(xiàn)具體的功能。這些后續(xù)的過(guò)程,都是在項(xiàng)目架構(gòu)設(shè)計(jì)基礎(chǔ)上進(jìn)行的。

[1]O.A.Burkres and J Chen.Luterase.An Execution Environment for Heterogeneous Software System[J].IEEE Computer,1993,26(8):57-69.

[2]孫衛(wèi)琴.精通Hibernate:Java對(duì)象持久化技術(shù)詳解[M].北京:電子工業(yè)出版社,2006.

[3]王琰,朱福海.淺談煤炭企業(yè)供應(yīng)物資的管理創(chuàng)新[J].煤炭經(jīng)濟(jì)研究,2005(3):48-49.

[4]李剛.Spring寶典[M].北京:電子工業(yè)出版社,2006.

[5]Rod Johnson,Juergen Hoeller.J2EE Development without EJB[M].JavaEye譯.北京:電子工業(yè)出版社,2006.

[6]王智利.論物資系統(tǒng)構(gòu)建[J].物資科技,2004(3):8-10.

[7]A.P.Sheth,J.A.Larson.Federated Database System for Managing Distributed,Heterogeneous and Autonomous Databases[J].ACM Computing Surveys,1990,22(3):183-236.

猜你喜歡
架構(gòu)設(shè)計(jì)煤炭企業(yè)分布式
淺析工業(yè)網(wǎng)絡(luò)安全架構(gòu)設(shè)計(jì)
基于安全性需求的高升力控制系統(tǒng)架構(gòu)設(shè)計(jì)
試述煤炭企業(yè)全面預(yù)算管理的推行與有效實(shí)施
煤炭企業(yè)走好走實(shí)群眾路線的制度思考
虛擬收費(fèi)站架構(gòu)設(shè)計(jì)與高速公路自由流技術(shù)
大數(shù)據(jù)時(shí)代計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用架構(gòu)設(shè)計(jì)
分布式光伏熱錢洶涌
基于預(yù)處理MUSIC算法的分布式陣列DOA估計(jì)
分布式光伏:爆發(fā)還是徘徊
基于DDS的分布式三維協(xié)同仿真研究