[摘要] J2EE技術(shù)是構(gòu)建基于Web系統(tǒng)的標準平臺和環(huán)境。采用組件的思想,將商務(wù)邏輯從客戶端、服務(wù)器端獨立出來,適應(yīng)于復(fù)雜多變的商務(wù)邏輯,從而帶來開發(fā)、維護和使用的方便。本文設(shè)計了基于J2EE技術(shù)的現(xiàn)代物流信息系統(tǒng)。
[關(guān)鍵詞] J2EE技術(shù)物流信息系統(tǒng)EJB組件商務(wù)邏輯
Internet技術(shù)發(fā)展加快了基于網(wǎng)絡(luò)應(yīng)用程序的設(shè)計和開發(fā)。在傳統(tǒng)的C/S模型中,表示邏輯層位于客戶端,數(shù)據(jù)邏輯位于服務(wù)器端, 而商務(wù)邏輯位于客戶端,或服務(wù)器端或同時存在于客戶端和服務(wù)器端。而J2EE技術(shù)正是基于網(wǎng)絡(luò)的Web特點而發(fā)展的,它提供了一個基于組件的方法來設(shè)計、開發(fā)、裝配以及部署應(yīng)用程序,將商務(wù)邏輯從客戶端、服務(wù)器端獨立出來,從而帶來了開發(fā)、維護和使用的便利。
一、J2EE結(jié)構(gòu)框架
J2EE是一種利用Java平臺來簡化諸多與多級企業(yè)解決方案的開發(fā)、部署和管理相關(guān)復(fù)雜問題的體系結(jié)構(gòu)。其核心是Java平臺或Java 2平臺的標準版。它不僅鞏固了標準版中的許多優(yōu)點,更方便數(shù)據(jù)庫的JDBC、JNDI、RMI、CORBA API,還提供了網(wǎng)絡(luò)應(yīng)用中保護數(shù)據(jù)的安全模式,并對EJB、Java Servlets、JTA、JTS、JavaMail及XML技術(shù)全面支持。
J2EE使用多層分布式應(yīng)用模型,應(yīng)用邏輯按功能分為客戶層、Web層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫層組件。這種基于組件,具有平臺無關(guān)性的J2EE結(jié)構(gòu)使得編程簡單,因為業(yè)務(wù)邏輯被封裝成可復(fù)用的組件,并且J2EE服務(wù)器以容器形式為所有的組件提供安全、事務(wù)管理、JNDI尋址和遠程連接等后臺服務(wù),與組件類型相對應(yīng)的容器也含有應(yīng)用程序客戶端、Web、EJB容器和企業(yè)信息系統(tǒng)層軟件。J2EE提供了多種開發(fā)技術(shù),常用的主要有:(1)EJB(Enterprise JavaBeans)定義了一個面向?qū)ο蟮目芍赜梅?wù)器端分布組件標準,用來封裝業(yè)務(wù)邏輯,運行在EJB容器中。會話Bean代表商務(wù)過程對象,它執(zhí)行商務(wù)邏輯、算法、規(guī)則和工作流程,是具有商務(wù)過程邏輯的可重用組件。實體Bean在J2EE結(jié)構(gòu)中代表數(shù)據(jù)庫中持久性的數(shù)據(jù),完成數(shù)據(jù)操作。(2)JSP(Java Server Pages)是一種動態(tài)Web應(yīng)用技術(shù)。它是在傳統(tǒng)HTML Web頁的文件中加入Scriptlet和JSP標記構(gòu)成的。(3)Servlets是服務(wù)器端的java小程序,必須實現(xiàn)HttpServlet接口。
二、基于J2EE技術(shù)的現(xiàn)代物流信息系統(tǒng)的設(shè)計
現(xiàn)代物流信息是反映物流活動的知識、資料、圖像、文件、數(shù)據(jù)的總稱。建立現(xiàn)代物流信息系統(tǒng),提供迅速、準確、及時、全面的物流信息是現(xiàn)代企業(yè)獲得競爭優(yōu)勢的必要條件。商務(wù)環(huán)境下的物流配送以電子商務(wù)技術(shù)為基礎(chǔ),商品需求、流通和生產(chǎn)有機地結(jié)合在一起,模式如圖1所示。
圖1 電子商務(wù)基本模式
建立配送中心是為了以最快的速度、最低的運輸成本把貨物送到客戶手中。根據(jù)企業(yè)的規(guī)模,配送中心可以是辦事處、代理點等形式。但配送中心必須按地理位置合理分布,要求交通便利,有廣闊的覆蓋面,有一定的倉儲能力,有一定的運輸能力等。圖2是現(xiàn)代物流信息系統(tǒng)結(jié)構(gòu),系統(tǒng)中相關(guān)組件提供了與企業(yè)原有信息系統(tǒng)以及客戶關(guān)系管理系統(tǒng)集成的接口。
為了使結(jié)構(gòu)清晰和數(shù)據(jù)安全,把系統(tǒng)中的組件按功能分為業(yè)務(wù)組件和數(shù)據(jù)庫組件;其業(yè)務(wù)組件負責處理業(yè)務(wù)邏輯,而數(shù)據(jù)庫組件負責對數(shù)據(jù)庫的存取??蛻敉ㄟ^瀏覽器方式訪問由JSP生成的客戶端界面,JSP 調(diào)用業(yè)務(wù)組件處理業(yè)務(wù)邏輯,再由業(yè)務(wù)組件調(diào)用數(shù)據(jù)庫組件去訪問和操縱后臺的數(shù)據(jù)庫。該系統(tǒng)主要由五個子系統(tǒng)構(gòu)成:(1)訂單子系統(tǒng):主要進行訂單接收、檢查、處理、反饋等業(yè)務(wù)活動;(2)庫存子系統(tǒng):對庫存商品進行全面的管理;(3)配貨子系統(tǒng):對客戶的訂單進行系統(tǒng)處理,并選擇一個合適的配送中心;(4)運輸子系統(tǒng):對運輸安排、車輛調(diào)度、運輸方式、結(jié)算等業(yè)務(wù)進行處理;(5)追蹤子系統(tǒng):是一個全程追蹤系統(tǒng),對客戶從提交訂單到收到貨物的每一個環(huán)節(jié)進行了相應(yīng)的記錄,而且客戶可以通過Internet進行登錄查詢。
客戶在網(wǎng)上填寫訂單并提交后,由訂單子系統(tǒng)進行訂單接收、檢查和處理,確定無誤后,由配貨子系統(tǒng)進一步處理,選擇離客戶最近的配貨中心發(fā)貨,同時調(diào)整庫存,再由運輸子系統(tǒng)完成運輸任務(wù)并交貨。
訂單子系統(tǒng)涉及對象模型主要有:(1)產(chǎn)品:具有惟一產(chǎn)品ID,產(chǎn)品名稱、規(guī)格、基本價格;(2)客戶:具有惟一的客戶ID,姓名,地址,聯(lián)系電話,郵件地址,郵政編碼,登錄密碼;(3)訂單:訂單 ID,產(chǎn)生訂單的客戶,產(chǎn)品ID,產(chǎn)品數(shù)量,總價,日期,交貨時間;(4)訂單條目:行號,該行產(chǎn)品描述和數(shù)量,折扣;(5)銀行賬戶:銀行賬戶號、姓名、現(xiàn)在的存款余額。所有對象模型均設(shè)計成實體Bean。
除了訂單子系統(tǒng)模塊外,還有庫存、配貨、運輸、追蹤等子系統(tǒng)模塊,在這里就不詳細介紹了。
系統(tǒng)設(shè)計編程分三個步驟:(1)首先編寫B(tài)ean,要寫EJB的EJB Class,Remote Interface 和 Home Interface;(2)在服務(wù)器端建立Deployment Descriptor 文件;(3)編寫客戶端代碼。
在系統(tǒng)開發(fā)中,采用IBM的WSAD(WebSphere Studio Application Developer)和DB2。WSAD V5.0 是一個基于Java編程語言的快速集成開發(fā)工具,利用WSAD V5.0提供的向?qū)?,可以方便地進行 EJB、JSP等的開發(fā)和運行調(diào)試。
三、結(jié)論
通過對J2EE技術(shù)的研究與現(xiàn)代物流信息系統(tǒng)的開發(fā),體會到J2EE技術(shù)具有簡潔化,應(yīng)用程序可移植性,組件的重復(fù)利用,開發(fā)復(fù)雜應(yīng)用程序的能力,事物邏輯與表達邏輯的分離,多操作環(huán)境的開發(fā),分布式配置,應(yīng)用程序的協(xié)作,與非Java系統(tǒng)的集成等優(yōu)點。隨著網(wǎng)絡(luò)日益成為主要的商業(yè)交易平臺,具有可伸縮性、靈活性、易維護性的商務(wù)系統(tǒng)是人們關(guān)注的焦點。而J2EE恰好提供了這樣一個機制,所以J2EE完全有能力適應(yīng)未來技術(shù)的進步和發(fā)展。
本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。