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