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