亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

基于EJB技術的商務預訂系統的開發

2020-07-27 21:51:15
字體:
來源:轉載
供稿:網友
技術已經越來越多地應用到大型網絡系統開發中,本文中,筆者將介紹EJB(Enterprise Java Beans)的定義、基于EJB技術的應用系統結構模型以及EJB組件的內容和分類,最后結合基于EJB的結構模型和EJB組件開發了一個商務預訂系統。
EJB從技術上而言不是一種“產品”,而是一種技術規范。SUN公司對EJB的定義是:EJB的結構是開發和配置基于組件的分布式商務應用程序的一種組件結構。用EJB結構開發的應用程序是可伸縮的、事務型的、多用戶安全的。這些應用程序可能只需編寫一次,卻可以在支持EJB規范的任務服務器平臺上進行配置??偟膩碚f,EJB是一個組件事務監控的標準服務器端的組件模型。

基于EJB技術的系統結構模型
EJB結構是一個服務端組件結構,是一個層次性結構,其結構模型如圖1所示。該結構模型在通常情況下可分為客戶層、業務邏輯層和數據層,下面筆者對此作一簡單介紹。


圖2:商務預訂系統的構架 

Entity Bean是為了現實世界的對象建造的模型,這些對象通常是數據庫的一些持久記錄。Entity Bean為那些可以表達成名詞的商務概念建立模型,它既描述了真實世界對象的狀態,也描述了它們的行為,同時允許開發者封裝與具體概念有關的數據和商務規則。Session Bean是一種通過Home Interface創建并對客戶端連接專有的Enterprise Bean,Session bean實例一般不與其它客戶端共享。Session Bean是客戶端應用程序的一個擴展,并負責管理整個過程或任務。Session Bean可以管理Entity Bean之間的交互,描述它們如何一起工作來完成一個特殊任務。
Entity Bean根據管理持久性的方式可以分為容器管理的Bean和使用Bean管理的Bean。容器管理的Bean由EJB容器自動管理它們的持久性,容器知道Bean實例的字段是怎樣映射到數據庫中去,并自動管理插入、更新和刪除數據庫中與實體有關的數據;使用Bean管理持久性的Bean需要明確地完成所有這些工作。Bean的開發者必須編寫代碼操作數據庫,EJB容器只告訴Bean實例什么時候可以在數據庫中安全地插入、更新和刪除數據,除此之外,它不提供任何別的幫助。Bean實例自己完成所有的持久性工作。
Session Bean根據是否有狀態可分為無狀態Bean和有狀態Bean。無狀態Session Bean傾向于通用并可重復使用;有狀態Session Bean是客戶應用程序的擴展,它代表客戶完成任務并維護客戶的相關狀態。

商務預訂系統的開發
客艙預訂系統是在J2EE平臺上開發的基于EJB組件技術的商務預訂系統,其主要流程是用戶登錄以后,將被依次帶領著通過顧客選擇頁和導航選擇頁,并將為顧客選擇一個可獲得的客艙(從TraveAgentBean處獲得可供選擇的客艙列表,TravelAgentBean的listAvailableCabin()方法由生成此網頁的Servlet調用,客艙列表將用于裝載到用戶瀏覽器的網頁上創建HTML列表框),當用戶選擇一間客艙并提交了選擇時,一個HTTP請求將會發送到EJB服務器(Websphere Application Server),服務器接到此請求后,將其分派給ReservationServlet,此Servlet調用TravelAgent.BookPassage()方法做實際的預訂,BookPassage()方法返回的標簽信息將用于創建另一個送回用戶瀏覽器的網頁。如果預訂成功,則由ProcessPaymentServlet去調用ProcessPaymentBean中的支付方法,從而實現對客戶的收費過程。其具體構架見圖2。
預定系統中的EJB組件主要包括以下幾個部分:
CabinBean:實體Bean,主鍵是CabinPK,是用來封裝現實世界中的航船客艙的一個實體Bean。
CustomerBean:實體Bean,主鍵是CustomerPK,是用來封裝現實世界中需要預訂航船客艙的消費者的一個實體Bean。
CruiseBean:實體Bean,主鍵是CruisePK,是用來封裝現實世界中航船航線的一個實體Bean。ReservationBean:實體Bean,主鍵是CruiseID,CabinID,它代表了數據庫中不變的一條記錄,即一個預訂,它記錄了預訂系統的歷史事件,主要是用來防止雙重預訂,即兩個客戶預訂相同航線的相同客艙,產生這種問題的原因是因為客戶選擇客艙和航線的時刻與調用bookPassage()方法的時刻之間有一段間隔時間。TravelAgentBean:有狀態會話Bean,一個負責預訂航行艙位工作流的會話Bean,它封裝了完成一條航線的一個預訂操作的過程并在全世界的旅行代理的客戶端應用程序中使用。TravelAgentBean不僅滿足消費者預訂票據的需要,還可提供在航行中剩余客艙的消息。為了完成此任務,Bean需要知道預訂是由哪一條航線、客艙,以及客戶組成,收集到這些信息后,由bookPassage()方法來完成處理預訂過程,它為客戶賬戶的計費負責,在正確航線的正確船只上預訂選擇的客艙,并通過Ticket類來為客戶產生一張票據。在這里,我們需使用CreditCard類存儲有關客戶信用卡的相關信息,同時,ListAvailableCabins()方法用來顯示可用的尚未被預訂的客艙。
ProcessPaymentBean:無狀態會話Bean,它是在事務系統中向消費者收費的過程。它定義了支票、現金和信用卡支付方式的三個事務方法,即ByCheck()、ByCash()和ByCredit()。

商務預訂系統的程序代碼示例
整個商務預訂系統的開發是在IBM VisualAge for Java下面開發完成的,在該IDE開發環境中,實體Bean相對會話Bean要容易開發得多,以下就以TravelAgentBean為例,介紹EJB組件的開發過程:

1.TravelAgent遠程接口
它提供了設置客戶希望預訂的航線和客艙ID的方法。此外,還設置boolPassage()方法來對客戶的預訂進行計費,并為客戶產生一張票據。具體代碼如下:
package com.titan.travelagent;
import java.rmi.RemoteException;
import javax.ejb.FinderException;
import com.titan.cruise.Cruise;
import com.titan.customer.Customer;
import com.titan.processpayment.CreditCard;
public interface TravelAgent extends javax.ejb.EJBObject
{
public void setCruiseID(int cruise) throws RemoteException, FinderException;
public int getCruiseID( ) throws RemoteException, IncompleteConversationalState;
public void setCabinID(int cabin) throws RemoteException, FinderException;
public int getCabinID()throws RemoteException, IncompleteConversationalState;
public int getCustomerID()throws RemoteException, IncompleteConversationalState;
public Ticket boolPassage(CreditCard card,double price) throws RemoteException, IncompleteConversationalState;


2.TravelAgent Home接口
TravelAgent Home接口代碼如下:

puckage com.titan.tracelagent;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import com.titan.customer.Customer;
public interface TravelAgentHome extends javax.ejb.EJBHome {
public TravelAgent create(Customer cust) throws RemoteException,CreateException;} 

3.TravelAgent Bean類
它需要實現TravelAgent的遠程接口和Home接口中的所有行為,限于篇幅,本文將不再介紹其實現代碼,感興趣的讀者可自己加以完成。

通過以上步驟,我們就完成了一個商務預定系統的EJB組件的開發。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲色图| 亚洲a中文字幕| 亚洲电影免费观看高清完整版在线| 久久国产精品久久久久久久久久| 欧美老少做受xxxx高潮| 亚洲精品一区二区网址| 日韩欧美在线视频观看| 日韩女优人人人人射在线视频| 日韩一区av在线| 国产精品久久一| 69**夜色精品国产69乱| 亚洲一区久久久| 欧美日韩不卡合集视频| 最近的2019中文字幕免费一页| 国产成人免费91av在线| 夜夜嗨av色综合久久久综合网| 夜夜躁日日躁狠狠久久88av| 欧美老肥婆性猛交视频| 国语对白做受69| 欧美激情亚洲自拍| 国产精品海角社区在线观看| 国产香蕉精品视频一区二区三区| 亚洲国产精品电影在线观看| 成人精品视频在线| 欧美精品在线极品| 亚洲人成网7777777国产| 欧美激情免费在线| 国内精品久久久久伊人av| 国产精品久久999| 亚洲欧美国产日韩天堂区| 国产午夜精品视频| 国产精品美女视频网站| 成人网页在线免费观看| 91嫩草在线视频| 97国产在线观看| 91高清视频免费| 亚洲精品一二区| 精品久久久久久久久久久久| 欧美高清在线观看| 中文字幕亚洲欧美| 亚洲成av人片在线观看香蕉| 中文字幕日韩综合av| 久久精品国产亚洲精品2020| 亚洲视频一区二区| 国产午夜精品视频免费不卡69堂| 国产精品女主播| 欧美激情一区二区三区高清视频| 欧美日韩亚洲一区二区三区| 日本精品va在线观看| 中文字幕av日韩| 国产精品啪视频| 成人情趣片在线观看免费| 日韩在线一区二区三区免费视频| 久久精品电影一区二区| 国产91精品久久久久久| 国产精品入口尤物| 精品久久久久人成| 精品美女国产在线| 日韩一二三在线视频播| 欧美日韩在线视频观看| 国产丝袜一区二区三区| 91九色国产社区在线观看| 原创国产精品91| 久久福利视频网| 欧美一区二区大胆人体摄影专业网站| 久久久久成人网| 欧美剧在线观看| 欧美寡妇偷汉性猛交| 亚洲综合成人婷婷小说| 欧美电影免费观看高清| 在线视频欧美日韩| 欧美一级淫片丝袜脚交| 午夜精品久久久久久久99热浪潮| 成人国产精品久久久久久亚洲| 国产精品18久久久久久麻辣| 自拍偷拍亚洲在线| 日韩电影免费观看中文字幕| 亚洲人成网站色ww在线| 日韩高清免费观看| 日韩成人在线视频观看| 欧美xxxx18国产| 成人黄色av免费在线观看| 亚洲欧美第一页| 亚洲欧洲在线看| 亚洲第一福利网| 中日韩美女免费视频网址在线观看| 在线免费观看羞羞视频一区二区| 国产精品 欧美在线| 国产亚洲视频在线观看| 成人写真视频福利网| 91精品久久久久久久久久入口| 国产精品久久久久影院日本| 欧美日韩在线视频一区二区| 日韩欧美一区二区在线| 久久久久北条麻妃免费看| 亚洲美女久久久| 欧美日韩福利在线观看| 国产激情久久久久| 97精品在线视频| 成人欧美在线观看| 欧美日本中文字幕| www.欧美视频| 韩国三级日本三级少妇99| 欧美最顶级丰满的aⅴ艳星| 亚洲电影免费观看高清完整版在线| 91精品国产乱码久久久久久蜜臀| 国产999精品久久久影片官网| 国产盗摄xxxx视频xxx69| 国产视频久久久久久久| 成人有码在线播放| 正在播放欧美视频| 精品电影在线观看| 亚洲视频专区在线| 91国内精品久久| 欧美亚洲日本网站| 亚洲美女在线看| 成人免费xxxxx在线观看| 久久在线免费观看视频| 亚洲天堂av在线免费| 精品福利樱桃av导航| 91国产美女视频| 欧美亚洲一级片| 国模精品系列视频| 亚洲欧美自拍一区| 成人在线视频网站| 日韩av在线免费观看| 国产日韩在线一区| 日韩成人激情视频| 亚洲精品国产福利| 亚洲天堂网在线观看| 国产欧美一区二区三区在线看| 国产日韩欧美另类| 亚洲国产精品va在线看黑人动漫| 亚洲激情视频在线| 91沈先生作品| 欧美成人免费观看| 欧美多人乱p欧美4p久久| 亚洲国产免费av| 国内精品免费午夜毛片| 欧美另类极品videosbest最新版本| 免费av一区二区| 91精品在线国产| 性欧美办公室18xxxxhd| 欧美在线视频网站| 日韩欧美在线观看视频| 国产精品一二区| 国产91精品久久久久久久| 久久精品国产亚洲精品2020| 精品久久久久久久久久久| 久久久久五月天| 青草青草久热精品视频在线网站| 成人黄色中文字幕| 亚洲图片欧美午夜| 久久久久这里只有精品| 日韩av影视综合网| 成人免费看片视频| 亚洲mm色国产网站| 久久99精品国产99久久6尤物| 欧美老少做受xxxx高潮| 精品美女国产在线| 国产视频久久久久| 亚洲香蕉伊综合在人在线视看| 国产精品69久久| 亚洲午夜久久久影院|