李文浩郭璽
(1洛陽(yáng)有色金屬加工設(shè)計(jì)研究院,河南洛陽(yáng)471039)
(2清華大學(xué)信息網(wǎng)絡(luò)工程研究中心,北京100001)
近年來(lái),實(shí)施信息化改造正在成為制造業(yè)提高競(jìng)爭(zhēng)力的一個(gè)重點(diǎn),許多企業(yè)在實(shí)施各類管理信息系統(tǒng)方面做了很大的努力。但是,制造過(guò)程管理因缺乏必要的信息化手段以及企業(yè)的重視程度不夠,使得企業(yè)的工作效率和成本控制不能發(fā)揮出最理想的效果。實(shí)際上,在當(dāng)今激烈的市場(chǎng)競(jìng)爭(zhēng)環(huán)境中,對(duì)制造業(yè)企業(yè)尤其是裝備制造企業(yè)而言,裝備制造過(guò)程的優(yōu)化和監(jiān)控越來(lái)越成為提高企業(yè)核心競(jìng)爭(zhēng)力不可回避的環(huán)節(jié)。
作者結(jié)合實(shí)際工作經(jīng)驗(yàn),梳理了所在企業(yè)內(nèi)部生產(chǎn)計(jì)劃管理工作的業(yè)務(wù)流程、數(shù)據(jù)流轉(zhuǎn)、用戶需求等,構(gòu)建了一個(gè)基于J2EE的網(wǎng)絡(luò)管理系統(tǒng)框架,通過(guò)該系統(tǒng),實(shí)現(xiàn)了業(yè)務(wù)流程的嚴(yán)格控制,關(guān)鍵數(shù)據(jù)的高效流轉(zhuǎn),滿足了用戶多樣化的需求,并給公司管理決策提供了可靠依據(jù)。
對(duì)于生產(chǎn)計(jì)劃管理系統(tǒng),各類計(jì)劃表格無(wú)疑是管理的核心,通過(guò)對(duì)各部門的計(jì)劃表格進(jìn)行梳理,可分為主要的幾類:包括運(yùn)行控制,生產(chǎn)執(zhí)行,活動(dòng)產(chǎn)值,合同收付款等計(jì)劃表格,另外還包括人員權(quán)限、出差報(bào)銷、客戶關(guān)系等信息的管理。
隨著公司業(yè)務(wù)量的快速發(fā)展,各類表格信息呈爆發(fā)式增長(zhǎng),傳統(tǒng)的紙質(zhì)表格管理效率低下,計(jì)劃更新傳遞不及時(shí),執(zhí)行情況無(wú)法及時(shí)掌握,信息透明度不高等弊端日顯嚴(yán)重,整個(gè)公司迫切需要一個(gè)統(tǒng)一的數(shù)據(jù)管理和發(fā)布平臺(tái),為各部門和各級(jí)人員提供所需的信息處理系統(tǒng)。
本系統(tǒng)采用Browser/Web/Database的多層體系結(jié)構(gòu),如圖1所示。
圖1 多層體系結(jié)構(gòu)
為客戶端提供對(duì)系統(tǒng)的訪問(wèn)。由Web窗體和JS代碼文件組成。Web窗體只是用JSP+HTML提供用戶操作,而JS代碼文件實(shí)現(xiàn)各種控件的事件處理。
②應(yīng)用邏輯層
為客戶邏輯層提供系統(tǒng)各功能業(yè)務(wù)的處理等。
③數(shù)據(jù)訪問(wèn)層
為應(yīng)用邏輯層提供數(shù)據(jù)存取服務(wù)等。
本系統(tǒng)采用多層架構(gòu),使用戶不需要安裝任何客戶端程序,通過(guò)Web瀏覽器即可訪問(wèn)和使用本系統(tǒng)。J2EE的平臺(tái)無(wú)關(guān)性使系統(tǒng)可以應(yīng)用分布在不同的系統(tǒng)平臺(tái)上,通過(guò)分布式技術(shù)實(shí)現(xiàn)異構(gòu)平臺(tái)之間對(duì)象的相互通信,能極大地提高系統(tǒng)的可擴(kuò)展性。
通過(guò)采用模型-視圖-控制器(MVC)設(shè)計(jì)模式,可以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則,提高重用性和適用性,方便快速部署和維護(hù),有利于軟件工程化管理[1]。
本系統(tǒng)使用 J2EE開發(fā)平臺(tái),使用了開源的Eclipse[2]作為開發(fā)工具,使用了 JSP、Servlet、JavaBean,以及JavaScript等相關(guān)技術(shù),來(lái)實(shí)現(xiàn)MVC模式,如圖2所示。
圖2 映射到MVC模式的J2EE組件
①JSP(Java Server Pages)
JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。
可用一種簡(jiǎn)單易懂的等式表示為:HTML+Java =JSP。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java的,而且所有的 JSP頁(yè)面都被編譯成為 Java Servlets[3],所以JSP頁(yè)面具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫,各處運(yùn)行”的特點(diǎn)。
②Servlet
Servlet是在服務(wù)器上運(yùn)行的小程序??蛻舳税l(fā)送請(qǐng)求至服務(wù)器,服務(wù)器啟動(dòng)并調(diào)用Servlet,Servlet根據(jù)客戶端請(qǐng)求生成響應(yīng)內(nèi)容并將其傳給服務(wù)器,服務(wù)器將響應(yīng)返回客戶端。
Servlet提供了大量的實(shí)用工具例程,例如自動(dòng)地解析和解碼HTML表單數(shù)據(jù)、讀取和設(shè)置HTTP頭、處理Cookie、跟蹤會(huì)話狀態(tài)等。幾乎所有的主流服務(wù)器都直接或通過(guò)插件支持Servlet。
③JavaBean
JavaBean主要負(fù)責(zé)處理事務(wù)(如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫(kù)),將功能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和其他任何可以用Java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且可以通過(guò)內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。
④JavaScript
JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。和JSP配合可以實(shí)現(xiàn)表單驗(yàn)證、獲取控件焦點(diǎn)、觸發(fā)指定行為等客戶端操作,可以減少服務(wù)器資源的無(wú)謂損耗,同時(shí)使頁(yè)面更具客戶端實(shí)時(shí)交互性,對(duì)客戶端與服務(wù)端進(jìn)行邏輯上的分離。
通過(guò)與具體的表格編制、審批和使用人員交流,整理出一些有代表性的進(jìn)行功能開發(fā),并作為樣板功能模塊作為日后快速開發(fā)之用。
①運(yùn)行控制計(jì)劃模塊
該模塊主要是對(duì)整個(gè)項(xiàng)目的主要計(jì)劃節(jié)點(diǎn)進(jìn)行總控管理,并依此制定各部門的二級(jí)計(jì)劃,該計(jì)劃經(jīng)由兩級(jí)審核生效,并可以根據(jù)權(quán)限要求,由相關(guān)參與人員進(jìn)行瀏覽和下載等,是系統(tǒng)主要的參照模塊。
②生產(chǎn)執(zhí)行計(jì)劃模塊
該模塊主要是對(duì)專業(yè)科室的設(shè)計(jì)計(jì)劃,采購(gòu)部門的采購(gòu)計(jì)劃,質(zhì)監(jiān)部門的驗(yàn)收計(jì)劃等二級(jí)計(jì)劃進(jìn)行分別管理,有相關(guān)人員進(jìn)行編制、審核和審批生效,根據(jù)公司作業(yè)管理規(guī)定,由相關(guān)人員進(jìn)行瀏覽、填報(bào)、下載等。
③活動(dòng)產(chǎn)值計(jì)劃模塊
該模塊主要是對(duì)公司全員按計(jì)劃執(zhí)行的活動(dòng)進(jìn)行產(chǎn)值結(jié)算和統(tǒng)計(jì)管理,體現(xiàn)了對(duì)計(jì)劃執(zhí)行情況的考核,包括進(jìn)度和質(zhì)量?jī)蓚€(gè)方面。
④合同收付款計(jì)劃模塊
該模塊主要是對(duì)公司項(xiàng)目合同收款和付款計(jì)劃、進(jìn)度的管理,由專人進(jìn)行信息維護(hù),只供部分有權(quán)限的人員進(jìn)行瀏覽和查詢。
⑤人員管理模塊
該模塊主要是對(duì)系統(tǒng)的用戶和權(quán)限進(jìn)行管理,根據(jù)系統(tǒng)的動(dòng)作粒度進(jìn)行功能權(quán)限劃分,方便系統(tǒng)管理員進(jìn)行按需管理。
⑥出差管理模塊
該模塊主要是對(duì)公司全員執(zhí)行生產(chǎn)活動(dòng)時(shí)產(chǎn)生的出差信息進(jìn)行管理,并依完成情況進(jìn)行出差報(bào)銷和產(chǎn)值結(jié)算,并可按不同條件匯總統(tǒng)計(jì)項(xiàng)目出差成本,作為項(xiàng)目運(yùn)行情況考核的依據(jù)之一。
圖3 用例模型
本系統(tǒng)采用了基于J2EE的開發(fā)平臺(tái),使用開源的Eclipse作為 Java代碼開發(fā)工具,結(jié)合 JSP和JavaScript開發(fā)Web頁(yè)面,通過(guò)Bea WebLogic應(yīng)用服務(wù)器提供的連接池,訪問(wèn)Oracle數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行數(shù)據(jù)存儲(chǔ)[4-5]。
①M(fèi)VC設(shè)計(jì)模式
采用了基于MVC的設(shè)計(jì)模式,即JSP+Servlet +JavaBean實(shí)現(xiàn)了客戶層、業(yè)務(wù)邏輯層和數(shù)據(jù)層的分離,保證了系統(tǒng)的開放性、可移植性、可擴(kuò)展性和穩(wěn)定性。
②面向?qū)ο筌浖こ?/p>
把所有對(duì)象都劃分為類,作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一軟件架構(gòu),每個(gè)類都定義了一組數(shù)據(jù)和一組操作,并可以進(jìn)行繼承。
③J2EE中間件
通過(guò)采用BEA WebLogic Server,可以快速部署基于J2EE標(biāo)準(zhǔn)編寫的服務(wù)器Java代碼,使用包括數(shù)據(jù)庫(kù)連接的JDBC、用于網(wǎng)絡(luò)目錄訪問(wèn)的JNDI,也可以組成集群提供高可用性、負(fù)載均衡和容錯(cuò)能力[6],并可以支持部署在不同的操作系統(tǒng)環(huán)境中,通過(guò)基于Web的管理和監(jiān)視工具進(jìn)行系統(tǒng)維護(hù)。
J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制,基于J2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上,只需開發(fā)一次就可部署到各種平臺(tái),有效地保護(hù)了IT投資,節(jié)省了整體費(fèi)用,并有穩(wěn)定的可用性。從投入運(yùn)行后的使用情況來(lái)看,不但滿足用戶提出的使用要求,而且產(chǎn)生了一定的經(jīng)濟(jì)效益。
[1]Gregory Nyberg,Robert Patrick,精通BEA Weblogic Server——構(gòu)建與部署J2EE應(yīng)用的最佳策略,北京:電子工業(yè)出版社,2004
[2]吳越勝,李新磊,Eclipse 3.0程序開發(fā)技術(shù)詳解,北京:清華大學(xué)出版,2010
[3]譚浩強(qiáng),Java編程技術(shù),北京:人民郵電出版社,2003
[4]George Koch,Kevin Loney,Oracle 8完全參考手冊(cè),北京:機(jī)械工業(yè)出版社,1998
[5]Murphy,L.L.,Oracle9i:SQL與PL/SQL開發(fā)指南,北京:清華大學(xué)出版,2005
[6]Angela Yochem,J2EE應(yīng)用與BEA WebLogic Server(第二版),北京:電子工業(yè)出版社,2005