韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

基于EJB技術(shù)的商務(wù)預(yù)訂系統(tǒng)的開發(fā)

基于EJB技術(shù)的商務(wù)預(yù)訂系統(tǒng)的開發(fā)

更新時間:2022-10-11 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

技術(shù)已經(jīng)越來越多地應(yīng)用到大型網(wǎng)絡(luò)系統(tǒng)開發(fā)中,本文中,筆者將介紹EJB(Enterprise Java Beans)的定義、基于EJB技術(shù)的應(yīng)用系統(tǒng)結(jié)構(gòu)模型以及EJB組件的內(nèi)容和分類,最后結(jié)合基于EJB的結(jié)構(gòu)模型和EJB組件開發(fā)了一個商務(wù)預(yù)訂系統(tǒng)。
EJB從技術(shù)上而言不是一種“產(chǎn)品”,而是一種技術(shù)規(guī)范。SUN公司對EJB的定義是:EJB的結(jié)構(gòu)是開發(fā)和配置基于組件的分布式商務(wù)應(yīng)用程序的一種組件結(jié)構(gòu)。用EJB結(jié)構(gòu)開發(fā)的應(yīng)用程序是可伸縮的、事務(wù)型的、多用戶安全的。這些應(yīng)用程序可能只需編寫一次,卻可以在支持EJB規(guī)范的任務(wù)服務(wù)器平臺上進行配置?偟膩碚f,EJB是一個組件事務(wù)監(jiān)控的標準服務(wù)器端的組件模型。

基于EJB技術(shù)的系統(tǒng)結(jié)構(gòu)模型
EJB結(jié)構(gòu)是一個服務(wù)端組件結(jié)構(gòu),是一個層次性結(jié)構(gòu),其結(jié)構(gòu)模型如圖1所示。該結(jié)構(gòu)模型在通常情況下可分為客戶層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,下面筆者對此作一簡單介紹。

圖1:基于EJB的應(yīng)用結(jié)構(gòu)模型

客戶層 主要是用來滿足對整個系統(tǒng)的各種訪問需求并處理以下工作:
接收用戶的輸入,還可以對用戶的輸入進行分析檢查并作相應(yīng)的處理;
顯示由服務(wù)器端高層傳來的運行結(jié)果。
客戶層通常是由客戶進程組成,這些進程由瀏覽器動態(tài)地創(chuàng)建和撤銷。

業(yè)務(wù)邏輯層 這是整個系統(tǒng)最關(guān)鍵的部分。業(yè)務(wù)邏輯層在通常情況下會分為兩層,其高層是請求接收層(一般稱之為Web層),用于接收從瀏覽器傳來的請求并將請求交給底層進行處理,同時將請求處理結(jié)果發(fā)送給瀏覽器。這些過程主要由JSP頁面、基于Web的Applets以及顯示 HTML頁面的Servlets組成。底層是請求處理層(一般稱之為EJB層),包括監(jiān)聽進程、處理進程和數(shù)據(jù)庫操作進程,負責(zé)處理請求接收層傳來的客戶請求并對它進行處理,同時將請求結(jié)果傳遞給請求接收層,如果需要的話還需要將處理結(jié)果交給數(shù)據(jù)層進行存儲。
數(shù)據(jù)層 主要是為業(yè)務(wù)邏輯層提供數(shù)據(jù)服務(wù),如存儲業(yè)務(wù)邏輯層處理結(jié)果、返回業(yè)務(wù)邏輯層檢索的數(shù)據(jù)結(jié)果,同時也是為了實現(xiàn)屏蔽數(shù)據(jù)源的變化,從而實現(xiàn)當(dāng)數(shù)據(jù)庫發(fā)生變化時我們只需修改連接數(shù)據(jù)源的語句就可以。

EJB組件的分類
通常情況下,服務(wù)端的EJB組件有兩種基本類型:Entity Bean(實體Bean)和Session Bean(會話Bean)。


圖2:商務(wù)預(yù)訂系統(tǒng)的構(gòu)架

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

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

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

1.TravelAgent遠程接口
它提供了設(shè)置客戶希望預(yù)訂的航線和客艙ID的方法。此外,還設(shè)置boolPassage()方法來對客戶的預(yù)訂進行計費,并為客戶產(chǎn)生一張票據(jù)。具體代碼如下:
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類
它需要實現(xiàn)TravelAgent的遠程接口和Home接口中的所有行為,限于篇幅,本文將不再介紹其實現(xiàn)代碼,感興趣的讀者可自己加以完成。

通過以上步驟,我們就完成了一個商務(wù)預(yù)定系統(tǒng)的EJB組件的開發(fā)。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
国产精品成人国产乱| 欧美最新精品| 午夜在线成人av| 成人精品在线观看视频| 国产v日韩v欧美v| lutube成人福利在线观看| 欧美成人在线直播| 国产精欧美一区二区三区蓝颜男同| 91人成在线| 久久久久国产精品熟女影院| 好吊色欧美一区二区三区视频| 久久av一区二区三区漫画| 日本一区二区在线免费观看| 麻豆精品91| 色一情一乱一区二区| 日本丰满少妇黄大片在线观看| 天堂网www在线中文天堂| 亚洲国产精品va在线看黑人动漫| 99久热这里只有精品视频免费观看| 99久久久久国产精品| 成人免费观看www在线| 欧美日韩国产在线| 欧美日韩在线观看成人| 欧美一级特黄a| 国产成人亚洲综合色影视| 国产主播色在线| 自拍偷拍欧美专区| 国内精品美女av在线播放| 99www免费人成精品| 678在线观看视频| 国产精欧美一区二区三区蓝颜男同| 国产精品久久久久久亚洲色| 五月婷婷丁香网| 国产在线观看免费视频软件| 久久久国产精品人人片| 激情视频极品美女日韩| 色av中文字幕| 日韩小视频在线观看专区| 大桥未久一区二区| 日韩欧中文字幕| 97se亚洲综合| 久久久久女教师免费一区| 久久成人免费日本黄色| 粉嫩精品导航导航| 成人黄色片视频网站| 黄色av观看| 激情五月婷婷综合网| 精品免费日产一区一区三区免费| 青青久在线视频免费观看| 亚洲精品久久久蜜桃动漫| 亚洲天堂av片| 无码熟妇人妻av| 国产日韩一区欧美| 中文字幕在线免费观看视频| 亚洲淫片在线视频| 日韩精品在线私人| 国产精品中文字幕在线观看| 国产精品乱码人人做人人爱| 日韩精品一区在线观看| 亚洲区综合中文字幕日日| 国产精品一区二区入口九绯色| 国产情侣在线播放| 五月天综合网| 超鹏97在线| 国产又黄又粗的视频| 久久久久国产| 久久国产高清视频| 美女扒开内裤让男人桶| 人人妻人人澡人人爽精品日本| 精品欧美激情在线观看| 欧美男人操女人视频| 天天色图综合网| 国产欧美日韩在线观看视频| 日韩av黄色在线| 国产精品理论片| 久久99国内| 日韩精品久久久久久久酒店| 欧美精品一区二区久久| 亚洲电影在线免费观看| 色的视频在线免费看| 激情综合色播激情啊| 国产精品1000| 亚洲一级爰片777777| 精品久久久久久乱码天堂| 欧美日韩国产第一页| 国产三级精品在线不卡| 日本a视频在线观看| 欧美天堂亚洲电影院在线观看| 亚洲精品久久一区二区三区777| 潘金莲一级淫片aaaaa| 日韩在线网址| 三上悠亚久久精品| 国产成人亚洲综合| 欧洲成人综合网| 国产美女作爱全过程免费视频| 999视频在线观看| 四虎影视18库在线影院| 久久偷看各类女兵18女厕嘘嘘| 91成人超碰| 日韩欧美视频在线播放| 好男人官网在线观看| 91专区在线观看| 特黄视频在线观看| 欧美熟妇激情一区二区三区| 日韩视频一区在线| 日本不卡在线观看视频| 又大又硬又爽免费视频| 亚洲成人资源在线| 美女一级全黄| 亚洲人成77777| 天天干夜夜干| 我不卡伦不卡影院| 三级黄色片免费观看| 人妻少妇精品久久| 欧美激情视频在线播放| 精品久久sese| 久久91精品| 激情欧美国产欧美| 91色|porny| 91三级在线| 日本10禁啪啪无遮挡免费一区二区| 男人午夜免费视频| 亚洲成人av一区二区三区| 亚洲欧美综合| 一区二区三区免费观看视频| 欧美男生操女生| 成人免费直播在线| 最新亚洲精品国自产在线观看| 国产亲伦免费视频播放| 国产成人av电影在线观看| 亚洲女同中文字幕| 国产麻豆一区二区三区精品视频| 秋霞影院一区二区三区| 伊人久久av| 国产一区二区自拍| 免费黄色网页在线观看| 2021久久国产精品不只是精品| 亚洲精品美女视频| 欧美1区2区3区4区| 国产脚交av在线一区二区| 992tv在线成人免费观看| av黄色在线网站| 日韩大胆成人| 欧美午夜片在线看| 久久91精品国产| 卡通动漫亚洲综合| 亚洲www在线| 亚洲精品国产成人久久av盗摄| 国产韩日精品| 秋霞欧美在线观看| 欧美第一在线视频| 亚洲成aⅴ人片久久青草影院| 毛片激情在线观看| 不卡福利视频| ㊣最新国产の精品bt伙计久久| 亚洲一品av免费观看| 亚洲香蕉视频| 亚洲精品一区二区三区新线路| 在线看的毛片| 黄色片久久久久| 99精品在免费线偷拍| 午夜成人免费电影| 亚洲精品mp4| 国产成人精品视频在线| 亚洲电影av| 国产精品18久久久久久久久久| 天天做天天爱天天高潮| 国产自偷自偷免费一区| 黄色一级片在线观看| 日本乱码高清不卡字幕| 亚洲伊人第一页| 免费观看国产精品视频| 捆绑调教美女网站视频一区| 伊人影院在线视频| 国产精品免费视频一区一| 91福利在线视频| 中文字幕精品—区二区四季| 日韩精品免费在线播放| 亚洲视频资源在线| 九九综合久久| 不卡一区二区三区视频| 视频一区在线播放| 一本色道综合久久欧美日韩精品| 一区二区三区免费在线观看| 麻豆视频一区| 图片区偷拍区小说区| 高清欧美性猛交xxxx黑人猛交| 猫咪av网站| 欧美日韩卡一| 美女国产一区二区三区| 51久久精品夜色国产麻豆| 欧美激情福利视频在线观看免费| 亚洲综合国产| 欧美日韩国产专区| 伊人久久大香线蕉综合75| 综合精品一区| 亚洲精品白虎| 亚洲精品护士| 欧美日韩视频第一区| 九九热视频在线观看| 午夜精品久久久久久久久久久久| 日本三级片在线观看| 亚洲欧美日韩精品综合在线观看| 国产1区二区| 亚洲AV无码乱码国产精品牛牛| 欧美性黄网官网| 少妇高潮流白浆| 中文在线免费一区三区| 亚洲成人亚洲激情| 欧美人妖巨大在线| 国产欧美精品一区二区三区四区| 日本成人免费视频| 肥臀熟女一区二区三区| 粉嫩久久久久久久极品| 国产成人免费高清视频| jizzjizzjizz国产| 亚洲成人黄色在线观看| 毛片av免费观看| 精品视频资源站| 97人妻精品一区二区三区| 欧美男女视频| 久久这里有精品| 5月婷婷6月丁香| 日韩欧美国产一区二区| 精品日本高清在线播放| 成人手机在线视频| 三上悠亚在线免费观看| 明星乱亚洲合成图.com| 青青青在线观看视频| 国产精品天干天干在观线| 国产精品久久久久久久久久久久久久久久| 国产在线精品一区二区三区不卡| 91大神在线资源观看无广告| 经典三级在线一区| 99久久一区三区四区免费| h版电影在线播放视频网址| 久久伊人精品一区二区三区| 亚洲v中文字幕| 无码人妻精品一区二区三区夜夜嗨| 久久免费精品国产| 欧美精品18videos性欧美| 国产乱码精品一区二区三区不卡| 福利在线一区二区| 天天射夜夜骑| 国产绳艺sm调教室论坛| 激情综合网婷婷| 久久精品xxx| 先锋资源中文字幕| 久久久久久久久伊人| 激情伦成人综合小说| 亚洲成人黄色在线观看| 日韩中文在线播放| 欧美美女性生活视频| 亚洲欧美另类在线视频| 狼人精品一区二区三区在线| 成人全视频免费观看在线看| 国产精品美女久久久久aⅴ国产馆| 国产精品对白一区二区三区| 午夜精品福利久久久| 成人羞羞视频免费看看| 欧美一级淫片免费视频黄| 亚洲清纯自拍| 四虎成人在线视频| www.欧美日韩| 中文字幕日韩精品在线| 555www成人网| 久久久精品麻豆| 欧美一区二区三区在线播放| 丰满人妻老熟妇伦人精品| 日韩视频免费中文字幕| 九热视频在线观看| 国产精品美女主播| 欧美黄色一级生活片| 国产精品国产三级国产aⅴ浪潮| 97在线免费视频| 51精品秘密在线观看| 中文字幕一区二区三区不卡在线| 97在线视频人妻无码| 日韩av毛片| 欧美日韩国产成人在线91| 最近中文字幕免费| 亚洲色图制服丝袜| 国产亚洲一区二区在线| 中文字幕高清不卡| 999大胆视频| 亚洲午夜女主播在线直播| 国产精品视频公开费视频| 欧美日韩中文精品| 亚洲免费成人在线| 一区二区三区在线播| 中文字幕21页在线看| 成人字幕网zmw| 78国产伦精品一区二区三区| 欧美人xxxx| 一级日本黄色片| 性网站在线看| 亚洲欧美一区二区精品久久久| 老熟妇高潮一区二区三区| 国产精品福利av| 五月天婷婷丁香网| 国产精品一区二区三区免费| 初尝黑人巨炮波多野结衣电影| 欧美电影一二区| 欧美激情区在线播放| 婷婷精品国产一区二区三区日韩| crdy在线观看欧美| 99精品视频播放| 91国产视频在线| 国产精品久久一区二区三区不卡| 精品亚洲免a| 麻豆三级在线观看| 日韩在线免费高清视频| 高清性色生活片在线观看| 国模gogo一区二区大胆私拍| 中文字幕一区二区三区乱码| 国产婷婷成人久久av免费高清| 国风产精品一区二区| 一区二区视频免费观看| 亚洲剧情一区二区| 疯狂蹂躏欧美一区二区精品| 亚洲国产精品一区在线观看不卡| 成人免费网址在线| 狠狠色成人综合网图片区| 欧美日韩一卡二卡| 毛片av免费在线观看| 九九久久九九久久| 91精品成人| 亚洲伊人网站|