期刊VIP學(xué)術(shù)指導(dǎo) 符合學(xué)術(shù)規(guī)范和道德
保障品質(zhì) 保證專業(yè),沒有后顧之憂
來源:期刊VIP網(wǎng)所屬分類:計算機網(wǎng)絡(luò)時間:瀏覽:次
摘要:隨著知識經(jīng)濟時代的到來。國內(nèi)外企業(yè)都非常重視自己員工職業(yè)技能綜合素質(zhì)培養(yǎng),近年來,石油企業(yè)對員工的專業(yè)知識以及技能操作水平的要求越來越高,通過定期對員工的培訓(xùn)考核提升石油工作人員的整體素質(zhì),以適應(yīng)油田未來建設(shè)和發(fā)展的需要。
1 J2EE 體系結(jié)構(gòu)及核心技術(shù)簡介
J2EE英文全稱Java 2 Platform Enterprise Edition,是Sun公司推出的為支持java語言服務(wù)器端部署而提供的與平臺無關(guān)的可移植,多用戶,安全和標(biāo)準(zhǔn)的企業(yè)級平臺[1]。它提供了一個多層結(jié)構(gòu)的分布式應(yīng)用程序模型,不僅克服了傳統(tǒng)Client/Server模式的弊病,而且迎合了Browser/Server架構(gòu)的潮流。簡化和規(guī)范了多層分布式系統(tǒng)的開發(fā)和部署,是企業(yè)級分布式應(yīng)用程序的首選平臺。J2EE規(guī)范定義了以下種類的組件:應(yīng)用的客戶組件、Javabean組件、Servlets及JSP頁面組件、Applets。應(yīng)用邏輯根據(jù)功能被劃分為不同組件,既可以在同一個服務(wù)器,也可以在不同服務(wù)器上安裝,應(yīng)用組件安裝的位置由該組件屬于J2EE環(huán)境中的那一層來決定,這些層分別為:客戶層、表示層、業(yè)務(wù)邏輯層、系統(tǒng)數(shù)據(jù)層,各層的具體功能如下[2]:
客戶層:主要負(fù)責(zé)為系統(tǒng)提供操作界面,可以是Web瀏覽器或非Web瀏覽器的應(yīng)用程序。在一個基于Web的J2EE中, 用戶的瀏覽器在客戶層中運行, 并從一個Web 服務(wù)器上下載Web 層中的靜態(tài)HTML頁面或由JSP或Servlet等程序生成的動態(tài)HTML頁面。它通過HTTP協(xié)議或RMI-IIOP 協(xié)議來訪問系統(tǒng)的中間層。在一個不基于Web的J2EE程序中,一個獨立的客戶程序運行在其他一些基于網(wǎng)絡(luò)的系統(tǒng)中,而非HTML頁面中,在不經(jīng)過Web層的情況下訪問Enterprise Beans。
表示層:該層主要提供邏輯視圖,系統(tǒng)業(yè)務(wù)數(shù)據(jù)通過此視圖展現(xiàn)。主要由JSP,Servlet 和Java Bean等組成。
業(yè)務(wù)邏輯層:實現(xiàn)核心業(yè)務(wù)邏輯服務(wù)和對數(shù)據(jù)庫的訪問,是整個應(yīng)用的核心部分, 使用Java Bean組件來處理業(yè)務(wù)邏輯,負(fù)責(zé)接收web層傳來的請求,并對接收的請求進行處理,同時將處理的結(jié)果交給數(shù)據(jù)層進行存儲。J2EE 體系結(jié)構(gòu)的一個主要目的就是簡化企業(yè)應(yīng)用系統(tǒng)的設(shè)計和開發(fā), 使程序員將主要精力放在商業(yè)邏輯的開發(fā)上。EJB( Enterprise JavaBeans) 就是基于這種思想而研發(fā)的服務(wù)器端技術(shù)。EJB其實也叫Enterprise JavaBeans,企業(yè)級的Java Bean.它是J2EE體系結(jié)構(gòu)的核心, 其本身也是一種規(guī)范, 該規(guī)范定義了一個可重用的組件框架來實現(xiàn)分布式的、面向?qū)ο蟮纳虡I(yè)邏輯。EJB在功能上分為會話Bean( Session Bean) 和實體Bean( Entity Bean) 。會話 Bean 實現(xiàn)業(yè)務(wù)邏輯和業(yè)務(wù)規(guī)則它代表一種業(yè)務(wù)操作,是具有事務(wù)過程邏輯的可重用組件。實體 Bean 是標(biāo)準(zhǔn)的EJB組件,它將底層數(shù)據(jù)以對象的形式映射到內(nèi)存中, 供其他組件使用。這種將事務(wù)邏輯與底層數(shù)據(jù)分離的做法, 使設(shè)計者只需關(guān)心商業(yè)邏輯,通過EJB 容器來實現(xiàn)目錄服務(wù)、事務(wù)處理、持久性、安全性等底層系統(tǒng)邏輯, 從而使應(yīng)用可以適應(yīng)不同操作系統(tǒng)的需求, 增強了系統(tǒng)的可移植性和可擴充性。為會話 Bean訪問業(yè)務(wù)數(shù)據(jù)提供接口。
系統(tǒng)數(shù)據(jù)層:即后臺數(shù)據(jù)庫層,該層用來存放系統(tǒng)業(yè)務(wù)數(shù)據(jù)及系統(tǒng)支持?jǐn)?shù)據(jù),系統(tǒng)數(shù)據(jù)庫層配置了一個連接池。連接池采用的標(biāo)準(zhǔn)是SUN 的JDBC,以保證業(yè)務(wù)與數(shù)據(jù)庫的連接的高效性。J2EE體系結(jié)構(gòu)圖如圖1所示[3]。
2 基于J2EE平臺分布式運銷系統(tǒng)分析與設(shè)計[4]
在我國大型的煤炭企業(yè)由于產(chǎn)銷量大,用戶分布范圍廣泛的特性,決定了其銷售方式幾乎離不開鐵路和港口運輸。但由于運輸和銷售業(yè)務(wù)量繁多,大多數(shù)企業(yè)通過在主要的鐵路中轉(zhuǎn)站和港口設(shè)置運銷公司或分支機構(gòu)來處理運銷業(yè)務(wù)。因為地理上的分散的緣故,傳統(tǒng)的運銷模式造成了企業(yè)無法及時獲取運銷管理數(shù)據(jù)、數(shù)據(jù)共享性低和運銷成本高效率低等諸多問題。利用一套覆蓋范圍廣闊的分布式運銷系統(tǒng)來管理大型煤炭企業(yè)的運輸和銷售業(yè)務(wù),不僅能提高管理水平而且也降低了成本,適應(yīng)企業(yè)的管理和發(fā)展需求。為了保證系統(tǒng)的可行性和可擴展性,采用組件化的開發(fā)技術(shù)進行系統(tǒng)研發(fā)。Sun 公司推出的J2EE 框架體系結(jié)構(gòu)是當(dāng)前組件化開發(fā)的主流技術(shù),J2EE 分布式應(yīng)用程序以分層的方式運行在不同的計算機上。本系統(tǒng)采用包括客戶層、Web表示層、商業(yè)邏輯層和數(shù)據(jù)庫層的四層體系結(jié)構(gòu)。分布式應(yīng)用程序的客戶層以瀏覽器的形式與Web表示層進行交互,Web層在給不同的客戶端發(fā)送內(nèi)容的同時,利用商業(yè)邏輯層提供的服務(wù)管理在線的交易和服務(wù),商業(yè)邏輯層以事務(wù)的形式進行管理,確保操作的一致性和數(shù)據(jù)的完整性,而最底層的數(shù)據(jù)庫層提供了對組織數(shù)據(jù)的基本存儲和訪問. 通過調(diào)查研究和系統(tǒng)分析,我們規(guī)范了大型的煤炭企業(yè)的運銷業(yè)務(wù)和流程(如圖2所示),建立了與各部門、辦事處對應(yīng)的業(yè)務(wù)流程并在此基礎(chǔ)上開發(fā)了一個基于J2EE 標(biāo)準(zhǔn)構(gòu)建,根據(jù)分布式系統(tǒng)的工作模式以及該系統(tǒng)的業(yè)務(wù)需求,前臺采用Windows 2000 Advance Server數(shù)據(jù)庫服務(wù)器和應(yīng)用服務(wù)器,后臺采用Oracle 9i數(shù)據(jù)庫利用J2EE和BC4J 技術(shù)聯(lián)合開發(fā),最終發(fā)布在Weblogic上運行。分布式煤炭運銷系統(tǒng)按照業(yè)務(wù)需求,被分成計劃管理子系統(tǒng),合同管理子系統(tǒng),調(diào)運管理子系統(tǒng),銷售管理子系統(tǒng),銷售信息處理子系統(tǒng),銷售財務(wù)處理子系統(tǒng)五個功能子模塊和一個用于權(quán)限管理的系統(tǒng)管理子模塊。
3 基于J2EE技術(shù)的油田專業(yè)技能考務(wù)培訓(xùn)管理系統(tǒng)設(shè)計與研究[5]
傳統(tǒng)的培訓(xùn)考核從組織授課、出題、組卷、印刷,到試卷的分發(fā),答題、收卷,再到判卷,公布成績,統(tǒng)計分析考試結(jié)果整個過程都需要人工參與,周期長,工作量大,容易出錯,還要有適當(dāng)?shù)谋C芄ぷ鳎沟谜麄€培訓(xùn)考試成本較大。無法適應(yīng)現(xiàn)代社會高效率,快節(jié)奏的工作要求。
隨著信息化技術(shù)的飛速發(fā)展,借助計算機和網(wǎng)絡(luò)技術(shù),解決這一問題有著普遍意義,對于改進油田企業(yè)培訓(xùn)考核的質(zhì)量和效率有著很大的幫助。
油田專業(yè)技能考務(wù)培訓(xùn)管理系統(tǒng)是采用J2EE體系結(jié)構(gòu)的應(yīng)用軟件。其功能目標(biāo)是完全實現(xiàn)無紙化、網(wǎng)絡(luò)化、自動化的計算機在線學(xué)習(xí)考試,具有良好的開放性和兼容性,只要提供數(shù)據(jù)庫接口就能輕易與各種應(yīng)用軟件對接。在許多細(xì)節(jié)方面均表現(xiàn)得更加人性、更加成熟、更加完善,同時結(jié)合用戶需求,滿足石油企業(yè)中各個領(lǐng)域人員的網(wǎng)上學(xué)習(xí)、網(wǎng)上考試。不但節(jié)約了大量的時間、人力、物力與財力,而且還做到了靈活性強,安全性能高的特點。
油田考務(wù)培訓(xùn)系統(tǒng)采用了采用J2EE技術(shù)、B/S架構(gòu)技術(shù),改善了傳統(tǒng)C/S模式用戶體驗差的缺陷,在產(chǎn)品的易用性、運行速度、可擴展性等方面均實現(xiàn)了重大突破。
軟件開發(fā)環(huán)境:jdk6。開發(fā)工具:eclipse ,數(shù)據(jù)庫:Oracle,應(yīng)用服務(wù)器: Tomcat。主要用到了基于MVC分層設(shè)計模式的三層架構(gòu)SSH即:Struts+Spring+Hibernate[6]。
3.1 JSP 2.0(Web 表示層)
JSP(JavaServer Pages)技術(shù)是對Servlet的進一步抽象,它由JCP(Java Community Process)開發(fā),是用于生成動態(tài)內(nèi)容的開放式的、可免費獲取的規(guī)范,也是J2EE規(guī)范的重要組成部分。JSP2.0版是對JSP1.2的升級,使動態(tài)網(wǎng)頁的設(shè)計更加容易;簡化JSP頁。
3.2 Spring 2.0(業(yè)務(wù)層)
Spring是一個解決了許多常見J2EE 問題的強大框架。許多Spring的功能也可以被運用于很多超越經(jīng)典J2EE 的Java環(huán)境中。Spring提供了一種以一致方法管理業(yè)務(wù)對象的方法,并鼓勵好的編程習(xí)慣,例如針對接口而不是類編程。Spring的架構(gòu)基礎(chǔ)是一個使用JavaBean屬性的控制反轉(zhuǎn)容器。可是,這只是Spring全貌的一部分:Spring在將IoC容器作為所有架構(gòu)層的完整解決方案的基本構(gòu)建塊方面是獨一無二的。Spring提供了一個獨特的數(shù)據(jù)訪問抽象,包括一個大大改善生產(chǎn)力并降低錯誤可能的簡單而有效的JDBC框架。Spring的數(shù)據(jù)訪問架構(gòu)還集成了TopLink、Hibernate、JDO 和其他實體/關(guān)系映射解決方案。Spring提供了唯一的事務(wù)管理抽象,這能夠在類似JTA或JDBC這樣的不同底層事務(wù)技術(shù)上使用一致的編程模型。Spring提供了一個用標(biāo)準(zhǔn)Java 寫的AOP框架,它提供了聲明性事務(wù)管理和其他用于POJO 的企業(yè)服務(wù)或者(如果你希望)也能用于實現(xiàn)你自己的自定義方面。這個框架強大到足以使很多應(yīng)用程序在享受傳統(tǒng)的EJB相關(guān)的關(guān)鍵服務(wù)的同時放棄EJB的復(fù)雜性。Spring還提供了一個可整合到整個IoC容器中的強大且靈活的MVC web框架。
目前Spring已經(jīng)被業(yè)界廣泛應(yīng)用在各類應(yīng)用系統(tǒng)之中,事實上已經(jīng)成為了應(yīng)用最廣、最受歡迎的J2EE框架之一。在本項目中將以Spring作為整個系統(tǒng)的核心框架,憑借Spring被廣泛的支撐及其強大的集成能力,將系統(tǒng)的其它的組件集成到Spring中來,構(gòu)成一個統(tǒng)一的整體。
3.3 Hibernate 3.2GA(持久層)[6]
Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序?qū)嵱茫部梢栽赟ervlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。
Hibernate是一個被廣泛使用的對數(shù)據(jù)庫進行持久化的框架。我們使用Hibernate來持久化數(shù)據(jù)庫,同時Hibernate還提供組件映射的功能,可以通過適配器持久化數(shù)據(jù)整合功能提供的數(shù)據(jù)源,建立一個統(tǒng)一的數(shù)據(jù)持久層。
3.4 Struts 1.2(Web控制層)[7]
Struts是一個基于Sun J2EE平臺的MVC框架,主要是采用Servlet和JSP技術(shù)來實現(xiàn)的。由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡單易用,敏捷迅速,在過去的幾年中頗受關(guān)注。Struts把Servlet、JSP、自定義標(biāo)簽和信息資源(message resources)整合到一個統(tǒng)一的框架中,開發(fā)人員利用其進行開發(fā)時不用再自己編碼實現(xiàn)全套MVC模式,極大的節(jié)省了時間,所以說Struts是一個非常不錯的應(yīng)用框架。
Struts做為被應(yīng)用最為廣泛的MVC框架[8]。雖然在開源框架大量涌現(xiàn)的今天,Struts的繁雜和難于控制頗受詬病,但是在Struts 1.2中有了根本性的轉(zhuǎn)變。Struts 1.2中使用Pragmatic Struts風(fēng)格可以大大降低代碼量,其簡潔程度不亞于目前的任何一個框架,同時Struts擁有大量用戶群,所以選擇其作為Web控制層框架。
4 一種基于框架結(jié)構(gòu)的網(wǎng)絡(luò)基礎(chǔ)應(yīng)用的發(fā)展[9]
電子政務(wù)的目的是讓政府和市民之間的交流變得舒適而透明。J2EE的獨特性使得它在發(fā)展任何在線網(wǎng)站方面成為一線完美的技術(shù)。這些特性表現(xiàn)在它的恒定性、易移植和構(gòu)建快速等方面。因為它推動了網(wǎng)絡(luò)應(yīng)用發(fā)展框架領(lǐng)域的新發(fā)展。許多開源構(gòu)架已經(jīng)用于網(wǎng)絡(luò)應(yīng)用開發(fā)。隨著科技和通信技術(shù)的發(fā)展,政府部門的工作也想變得現(xiàn)代化,電子政務(wù)網(wǎng)站能通過網(wǎng)絡(luò)向市民提供服務(wù)和重要的信息,它使得政府的工作方式變得更先進和高效。使得電子政務(wù)或電子商務(wù)適應(yīng)于任何政府的最主要有點是:免除了地點和供應(yīng)的限制,時間和金錢花費的減少,加強了客戶服務(wù),提供了競爭優(yōu)勢。電子政務(wù)提供了一種能幫助政府改善處理、聯(lián)系市民和構(gòu)建公民社會的方法。
5 基于J2EE技術(shù)的網(wǎng)絡(luò)實驗室運行管理信息系統(tǒng)的開發(fā)與設(shè)計
學(xué)校實驗室資源的合理利用直接影響著教學(xué)質(zhì)量與科研質(zhì)量, 而實驗室的管理水平也反映了一個學(xué)校的教學(xué)水平、管理水平乃至科研技術(shù)水平。為了解決實驗室資源緊張的問題,整合各種實驗室資源, 最大程度地實現(xiàn)資源的合理使用, 增強實驗室的綜合管理能力。針對目前實驗室管理中存在的普遍問題, 運用實驗室管理信息系統(tǒng)( LMIS) 可以在很大程度上替代以前的純手工運作, 實現(xiàn)實驗室管理自動化, 提高實驗室資源的利用率。基于 J2EE 的實驗室管理信息系統(tǒng)在繼承已有LMIS 傳統(tǒng)的基礎(chǔ)上, 采用了現(xiàn)今流行的 J2EE 架構(gòu)和AJAX 技術(shù), 以其強大的功能性、可擴展性及維護性, 很好地解決了實驗室存在的各種矛盾和問題[10]。
5.1 系統(tǒng)框架
系統(tǒng)框架的確立是整個系統(tǒng)設(shè)計的重要組成部分, 選擇一個優(yōu)秀的系統(tǒng)框架有利于系統(tǒng)以后的可擴展性和可維護性。傳統(tǒng)的web應(yīng)用程序采用同步通信交互。用戶首先向http服務(wù)器發(fā)送請求, 等待服務(wù)器的處理結(jié)果, 服務(wù)器執(zhí)行用戶的操作后返回結(jié)果, 并刷新整個頁面。在請求等待處理返回的循環(huán)過程中, 屏幕往往顯示都為空白, 用戶多數(shù)時間都處于這種等待狀態(tài)。當(dāng)網(wǎng)絡(luò)負(fù)載量處于一個較低水平時,這種網(wǎng)絡(luò)延時等待還是能夠被接受的, 但當(dāng)網(wǎng)絡(luò)負(fù)載量大時, 網(wǎng)絡(luò)延遲也就很嚴(yán)重, 大大超過用戶能夠忍受的時間范圍, 甚至因超時而無法顯示頁面。為了提高系統(tǒng)程序的可重用性、可維護性、可擴展性, 優(yōu)化整個系統(tǒng)的設(shè)計模式、提高軟件的生產(chǎn)效率, J2EE架構(gòu)是不錯的選擇。J2EE平臺提供了多層的分布式應(yīng)用模型、組件再用、一致化的安全規(guī)范以及靈活的事務(wù)控制。它引入了MVC( 模型、視圖、控制器)三層設(shè)計模式[9], 為企業(yè)級應(yīng)用提供了豐富的各類組件,成為各類系統(tǒng)的首選解決方案。它摒棄了以往程序開發(fā)人員開發(fā)的雜亂無章的程序, 即不管是頁面顯示、業(yè)務(wù)邏輯處理還是控制跳轉(zhuǎn)都寫在一個文件里面, 導(dǎo)致該文件長且復(fù)雜的缺陷, 而以三層架構(gòu)嚴(yán)格區(qū)分, 進一步實現(xiàn)了表示層與業(yè)務(wù)邏輯的分離, 從而使得系統(tǒng)開發(fā)更趨于靈活, 大大提高了系統(tǒng)的維護性和重用性。本系統(tǒng)采用的J2EE三層架構(gòu)。用戶通過瀏覽器訪問系統(tǒng), 形成一個事件請求, 并到達控制器。控制器是應(yīng)用程序的行為, 把用戶的請求操作轉(zhuǎn)化成對模型的存取、更新等操作, 同時選擇合適的視圖顯示。模型是應(yīng)用程序的核心部分,負(fù)責(zé)封裝應(yīng)用程序中的數(shù)據(jù)和業(yè)務(wù)邏輯, 返回視圖對數(shù)據(jù)的查詢, 并將數(shù)據(jù)的變化通知給視圖。實現(xiàn)模型的接口有多種方式, 應(yīng)用不同的方式可以連接到不同的數(shù)據(jù)源。視圖就是應(yīng)用軟件中的界面, 主要負(fù)責(zé)展示模型中的數(shù)據(jù),向控制器發(fā)送用戶的請求動作, 完成應(yīng)用程序和用戶的交互, 同時也允許控制器來選擇所要顯示的視圖。
5.2 系統(tǒng)設(shè)計
根據(jù)目前學(xué)校的實驗室管理機制, 針對其中的具體問題, 提取出共性的需求, 設(shè)計出了系統(tǒng)的具體功能模塊, 如圖3所示。
5.3 系統(tǒng)實現(xiàn)
本系統(tǒng)采用B/S模式,以Windows 2000 Server (或者更高版本)作為網(wǎng)絡(luò)服務(wù)操作系統(tǒng), 配合A pache Tomcat 5.0( 或者更高版本) web 服務(wù)平臺。因為采用J2EE 架構(gòu), 使用JAVA為主要開發(fā)語言, 輔以HTML, CSS, JavaScript等標(biāo)記、腳本語言,開發(fā)的程序清晰健壯,便于后期維護。使用開源的MYSQL作為管理數(shù)據(jù)庫,功能方面并不遜于商用的SQL SERVER 2000,伸縮性大,安全性高,有效地實現(xiàn)了數(shù)據(jù)庫的完整性訪問控制[10]。
5.4 數(shù)據(jù)庫連接
對于基于J2EE和AJAX技術(shù)的實驗室管理信息系統(tǒng)大部分功能通過操作數(shù)據(jù)庫來實現(xiàn),而數(shù)據(jù)庫連接是其中最基本的工作。為了實現(xiàn)將來維護的最大方便,將數(shù)據(jù)庫連接寫在配置文件中,開發(fā)人員在程序中調(diào)用這個配置即可連接數(shù)據(jù)庫。這樣操作的目的是最大限度地防止因為修改而必須重新編譯的情況,真正實現(xiàn)無需編譯環(huán)境即可修改維護系統(tǒng)。利用JDBC連接MYSQL數(shù)據(jù)庫,并采用Struts框架中的數(shù)據(jù)源類統(tǒng)一管理JDBC連接。
基于J2EE和AJAX技術(shù)的實驗室管理信息系統(tǒng),繼承了傳統(tǒng)LMIS的良好特點,采用了目前最流行、穩(wěn)定的框架和技術(shù),系統(tǒng)穩(wěn)定性、綜合性較好,通用性較強,易于維護。本系統(tǒng)的推出緩解或解決了目前實驗室管理普遍存在的問題,在一定程度上實現(xiàn)實驗室資源的最優(yōu)化利用,從而達到實驗室信息自動化、無紙化的目標(biāo)。
6 結(jié)束語
J2EE為搭建具有可伸縮性、靈活性、易維護性的網(wǎng)絡(luò)管理系統(tǒng)提供了良好的機制, 通過提供獨立性良好的開發(fā)平臺,J2EE降低了設(shè)計實現(xiàn)多層應(yīng)用程序的成本和復(fù)雜性,同時完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用功能,且安全性良好 [11]。因此,基于J2EE平臺的框架技術(shù)在企業(yè)級應(yīng)用軟件開發(fā)中必將得以廣泛的應(yīng)用。是目前以及未來開發(fā)網(wǎng)絡(luò)管理信息系統(tǒng)的主流技術(shù)。
參考文獻:
[1] 張嗣文.基于j2EE的系統(tǒng)集成設(shè)計[J].科技與企業(yè),2013(3):126-126.