成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

EJB的分類及其各自的功能和應用

開發 后端
本文向您介紹EJB的分類,并通過分析電子購物環節的業務邏輯層的對象模型來說明各種EJB在業務邏輯層中的不同應用

在EJB2.0中對定義了三種不同類別的EJB分類:Session Bean(會話Bean)、Entity Bean(實體Bean)和Message-Driven Bean(消息驅動Bean)。

1 EJB分類之會話Bean

會話Bean是商務過程對象,執行商務邏輯、規則和工作流程。會話Bean之所以被稱為會話Bean,是因為它代表的是一個動作、是一個過程,它的生存期就是調用它的客戶端與它進行會話的過程。

會話Bean根據其是否保存客戶的狀態,又分為狀態會話Bean和無狀態會話Bean。狀態會話Bean是一種保持會話狀態的服務,每個實例都與特定的客戶機相關聯,在與客戶機的方法調用之間維持對話狀態。與之相反,無狀態會話Bean不保存與特定客戶的對話狀態。因此狀態會話Bean比無狀態會話 Bean具有更多的功能,而無狀態會話Bean實例可以通過 EJB容器自由地在客戶機之間交換,從而少量的會話Bean就可以服務于大量的客戶機。

2 EJB分類之實體Bean

實體Bean代表商務上的實體,比如商務數據,應該包含與數據相關的邏輯。實體Bean是對應到數據庫中的一個視圖,一個實體Bean實例和底層數據庫完全是一回事。因此,一個簡單的實體bean實例代表一個特殊的記錄。更復雜的實體bean可以代表數據庫表間關聯視圖。

實體Bean有兩種操作類型:BMP(Bean管理持久性)和CMP(容器管理持久性)。BMP是指由Bean自己來實現實體Bean的持久性,即在 Bean中實現數據庫操作。而CMP則是由容器實現Bean的持久性,使我們不需要在Bean內再編寫數據庫操作的代碼。

3 EJB分類之消息驅動Bean

消息驅動Bean是EJB2.0新引入的一種Bean類型。它的主要目的是,通過允許容器去聚合并且管理消息驅動Bean實例,以此來提供傳入JMS消息的并發處理。

4 會話Bean與實體Bean的區別和聯系

會話Bean執行應用邏輯,它們隱含地使用實體Bean作為它們操作的數據。在EJB分布式對象體系結構中,會話Bean被用做代表實際商務過程的高層接口來屏蔽底層實體Bean子系統。實體Bean是實際恒定商務實體的模型,因此它通常比會話Bean具有更高層次的重復使用。

5 EJB的應用

接下來,通過分析電子購物環節的業務邏輯層的對象模型來說明各種EJB在業務邏輯層中的不同應用。

業務邏輯層包含了一系列EJB組件。首先我們將其抽象成若干個對象模型,如圖所示:

              
                                                                 圖:對象模型圖

本圖首先反映了電子商務中各EJB組件之間的靜態關系。

由多個購物籃條目(Cart Line Item)組成的一個購物籃(Cart)為一個顧客 (Customer)存儲產品的臨時選擇;由多個訂單條目(Order line Item)組成的一個訂單(Order)為一個顧客存儲產品的永久選擇。購物籃能將自身轉換為訂單。

一個購物籃條目代表一個產品(Product)的臨時選擇,一個訂單條目代表一個產品的永久選擇。

估價器(Pricer)在顧客查看購物籃時計算購物籃的價格,并且在顧客最終生成訂單時計算訂單的價格。

訂單處理器(Order Processor)為訂單驗證信用卡,發送E-mail確認,并標識為永久。

同時從本圖中也可以了解一個電子購物的過程:首先,在購物時顧客把自己感興趣的產品放入購物籃中,同時由估價器對購物籃進行及時估價。然后,顧客在確認購買后,購物籃能自動生成訂單。再由估價器計算出訂單的價格。接著,由訂單處理器驗證顧客信用卡的合法性,在交易完成后為顧客發送E-mail確認交易成功,并將本交易標識為永久。

顧客、訂單、產品、訂單條目這幾個對象是永久性、持續性對象,例如,顧客信息、產品信息都需要存入數據庫,并且在適當的時候從數據庫中讀取。所以,這幾項都需要用實體Bean來實現。

購物籃和購物籃條目只在顧客購物的過程中起作用,所以不是永久性的,而且每一個購物籃都對應于一個特定的顧客,對應于若干條特定的購物車條目,因此購物籃和購物籃條目用狀態會話Bean來充當最合適不過。

估價器的作用是計算出購物籃和訂單的價格,它并沒有和特定的顧客綁定,可以作用于任意的購物籃,而且也不是永久對象,因此估價器可以用一個無狀態會話Bean來充當。

訂單處理器是一個特殊的對象,它通過顧客所要求的不同的付款方式產生不同的訂單,也就是說,它是由不同的付款方式來驅動的。所以在這里用消息驅動Bean是最恰當的。

【編輯推薦】

  1. 使用Eclipse+JBoss+EJB3編寫有狀態的SessionBean
  2. EJB3.1新特性一覽 Time服務更強大
  3. 關于EJB的一些常見問題
  4. EJB3.1新特性詳解 更強大的Time服務
  5. 精通EJB組件和EJB容器
責任編輯:佚名 來源: 好喜愛學習網
相關推薦

2011-07-22 12:22:49

室內光纜

2009-04-02 13:45:36

網關網絡

2009-05-07 14:05:02

MySQL索引分類管理

2009-06-26 14:29:03

2009-06-12 12:46:59

EJB3.0

2009-06-25 15:54:18

設計模式EJB

2009-02-16 09:25:43

EJBJavaBeanWebSphere

2009-06-26 16:01:39

EJB組織開發EJB容器EJB

2011-03-04 10:03:45

EJB數據庫應用

2009-06-11 16:01:17

EJB容器

2009-06-11 15:26:05

EJB組件EJB容器

2024-08-12 18:22:56

2009-06-12 09:41:07

EJB3.0Spring

2009-06-25 17:08:14

2009-06-22 16:59:33

POJOSpringEJB 3.0

2009-12-15 11:05:05

2009-06-25 16:35:12

EJB技術

2022-07-14 16:27:11

邊緣計算智慧城市應用

2017-01-17 09:38:52

ZooKeeperHadoopHBase

2021-11-07 15:04:39

機器學習人工智能數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区久久精品 | 久久久久1| 一区二区三区四区在线 | 国产精品久久久 | 一区二区三区四区在线免费观看 | 一区二区三区免费 | 成人精品在线视频 | 三级黄色大片网站 | 欧美激情一区二区三区 | 羞羞的视频免费观看 | 国产成人精品免费视频大全最热 | 麻豆毛片| 中文字幕高清视频 | 狠狠骚 | 麻豆精品国产免费 | 日韩美女一区二区三区在线观看 | av黄色在线观看 | 国内久久 | julia中文字幕久久一区二区 | 国产免费一区二区三区 | 国产一级视屏 | 久在线视频 | 在线播放第一页 | 91九色网站 | 九九综合| 九九热在线视频 | 美国av毛片 | 日本一区二区三区四区 | 一区二区在线免费观看 | 一级欧美 | xxxxx黄色片 欧美一区免费 | 国产在线精品一区 | 亚洲精品国产a久久久久久 午夜影院网站 | 日本亚洲一区 | 日本一区二区三区免费观看 | 情侣酒店偷拍一区二区在线播放 | 中文字幕视频在线 | 国产乱码精品一区二区三区忘忧草 | 黄色一级电影在线观看 | 国产伦精品一区二区三毛 | 一区二区三区精品视频 |