J2EE應用講解(4)——EJB基礎知識

來源:互聯網
上載者:User

1 :認識EJB

EJB( EnterpriseJavaBean)是J2EE13個標準之一。它定義了一個用於開發基於組件的企業多重應用程式的標準。它是javaBean的組織和發展,javaBean就像是.NET中的dll。EJB標準包括:

可擴充 (Scalable)

分布式 (Distributed)

交易處理 (Transactional)

資料存放區 (Persistent)

安全性 (Secure)

由於EJB是用於開發企業商務邏輯部分。所以不涉及顯示資料部分的技術。這就要求使用EJB的同時必須和J2EE的其它標準一起使用。比如前面提到的servlet,jsp技術等。

這裡所說的EJB只是一個標準,這個標準規定開發必須要實現的一些功能和服務。要想使用這個標準必須有相應的產品去實現它。比如weblogic伺服器就是一個實現EJB的產品。實現了 EJB規範的應用伺服器提供了可以解決安全性、資源共用、持續運行、平行處理、事務完整性等複雜問題的服務,從而簡化了商業應用系統。這裡的意思就是如果你要編寫一個商業系統,比如銀行等系統。你就不需要為處理並行,事務,安全等編寫代碼了。這樣會浪費你的精力,而且這些代碼基本上都是一樣的。如果你使用實現了EJB的伺服器,這些功能伺服器廠商就給你編寫好了。

一套EJB涉及到三個角色:開發編程人員(也就是你),標準供應商(sun),伺服器供應商(例如IBM實現了EJB標準)。

 

2 :EJB構成

EJB有三種類型的bean構成(bean的意思就是java的組件)。會話Bean(Session Bean),體Bean(EntityBean)和訊息驅動Bean(MessageDriven Bean)。

  • 會話bean

實現應用程式的控制、處理和工作流程,在MVC中,會話Bean處理Control。代表單個用戶端來執行,當EJB 容器失效後就不存在。分為有狀態會話bean和無狀態會話bean。例如計算機,購物車等。

  • 實體bean
    實體Bean表示持久資料的物件檢視,如資料庫中的一個資料行。實體Bean有一個就像資料庫中的主鍵一樣,唯一地標識一個實體Bean。如一個訂單資訊等。
  • 訊息驅動bean
    訊息驅動Bean(MDB) 是設計用來專門處理基於訊息請求的組件。是處理非同步處理的組件。它是JMS和EJB的結合。
  • 幾種EJB實現的介面和特性比較.Stateless(無狀態的)Stateful (有狀態的)

 

 

3: EJB調用模型

下面介紹用戶端調用EJB的方式,描述普通調用模型,這種模型主要適用於會話Bean的調用。這裡考慮遠程用戶端的調用。下面是遠程用戶端調用企業Bean的步驟。

(1)開始時,遠程用戶端需要定位業務組件,並獲得組件引用。

(2)用戶端使用JNDI尋找服務,以檢索Bean的home對象的引用。

(3)用戶端收到引用。

(4)用戶端請求home對象建立或尋找企業Bean。

(5)home對象建立或尋找企業Bean。

(6)作為結果,返回EJB對象的引用。

(7)用戶端使用引用,通過EJB對象調用業務方法。

(8)或者,在調用Bean的業務方法前,EJB對象可能會使用其他服務。

(9)EJB對象最終調用Bean的業務方法。在成功運行業務方法後,將結果返回到EJB對象。

(10)EJB對象將結果返回用戶端。

 

4: EJB和其它組件的關係

EJB和其它組件的關係用一張圖來形容最恰當。

 

 

具體說來就是用戶端通過servlet,JSP發送請求。該請求通過JMS傳達到相應的MDB。MDB再喝會話bean、實體bean互動。會話bean和實體bean通過JDBC操作資料庫,得到資訊。再返回給用戶端。其中可能用到事務,安全的一些EJB特性。

 

Servlet,JSP,EJB這三個技術三J2EE技術的核心部分。理解和掌握這三個技術對於J2EE的學習至關重要。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.