Java之旅(3)——EJB(初始)

來源:互聯網
上載者:User

標籤:ejb

 1.      什麼是EJB?

  最初知道EJB這個名詞的時候,實在學習J2EE的十三個規範的時候,那個時候對於這個名字是那麼的陌生,沒有任何的理解, 在腦海中只是一個印象。

  EJB (EnterpriseJavaBean )解釋:

        J2EE技術之所以贏得廣泛重視的原因之一就是EJB.它提供了一個架構來開發和實施分布式商務邏輯,由此很顯著的簡化了具有延展性和高度複雜的企業級應用程式的開發.EJB規範定義了EJB組件在何時如何與它們的容器進行互動作用.容器負責提供公用的服務,例如目錄服務,交易管理,安全性,資源緩衝池以及容錯性。

  總的來說,EJB是實現分布式商務邏輯的java組件,“企業“意味著應用的擴充性、可靠性、可用性、安全性、事務性以及分布性。而EJB為客戶提供可分布和可部署的商務邏輯服務,並且擁有良好的介面,在提供管理和控制服務的容器中執行。並且是在應用服務之間是可重用的。

  ?  深入探知(概念篇)   如何理解企業級開發

   企業級應用是指那些為商業組織、大型企業而建立並部署的解決方案及應用。這些大型企業級應用的結構複雜,涉及的外部資源眾多、事務密集、資料量大、使用者數多,有較強的安全性考慮。

   企業級開發主要是針對企業級應用的開發。

  如何理解伺服器叢集

  伺服器叢集就是指將很多伺服器集中起來一起進行同一種服務,在用戶端看來就像是只有一個伺服器。叢集可以利用多個電腦進行並行計算從而獲得很高的計算速度,也可以用多個電腦做備份,從而使得任何一個機器壞了整個系統還是能正常運行。

  如何理解分布式

  分布式,就是可以放在多台電腦,同時啟動並執行一系列程式的流程.

       EJB 就是可以實現這一機制. 比如,存資料庫用的EntityBean,可是放於一台處理機上, 而用於處理一般的邏輯性的東西,如session Bean,又是可以部署到另一個機器上.  各台機器間, 可以通過JNDI 技術, RMI(遠程調用技術)來相互訪問,合作。

  ?  深入探知(化整為零)

  在J2EE裡,Enterprise Java Beans(EJB)稱為Java 企業Bean,是Java的核心代碼,分別是會話Bean(Session Bean),實體Bean(Entity Bean)和訊息驅動Bean(MessageDriven Bean)。

  會話bean(Session Bean)

  會話bean可以執行商務邏輯的操作,比如註冊、資料庫操作等等。

  什麼是會話?

  也就是用戶端獲得EJB對象開始,,然後調用EJB的方法(可以是多次),直到用戶端生命週期的結束,或用戶端釋放了EJB對象為止,稱之為一次會話。

  隨著會話的終止,EJB對象也有可能被EJB容器摧毀。

  調用過程


  會話bean分為兩種:有狀態和無狀態的會話bean。

  無狀態的會話bean

  開發只有 Local 介面的無狀態會話Session Bean,使用@Local 注釋聲明介面是本地介面。

  開發只有 Remote 介面的無狀態會話Session Bean ,使用@Remote 注釋聲明介面是遠程介面。

  當@Local 和@Remote 注釋都不存在時,容器會將Bean class 實現的介面預設為 Local 介面。如果 EJB 與用戶端 部署在同一個應用伺服器,採用 Local 介面訪問 EJB 優於Remote 介面。  

  有狀態的會話bean

  每個有狀態Bean在bean執行個體的生命週期內都只服務於一個使用者,bean class的成員變數可以在不同的方法調用間維護特定於某個使用者的資料。

  舉例:購物車對象,每個使用者都應有自己的購物車,不希望有人往你的購物車裡添加或拿掉商品,而有狀態Bean正好滿足你的這種需求。

  實體bean(Entity bean)

  在說這個之前,我們先來理解什麼是持久化?

  持久化

  在程式退出後資訊可以長期儲存的一種資料存放區技術。

  儲存java對象的使用的是RDBMS(關聯式資料庫管理系統(Relational Database Management System),比較主要的是:

JDBC直接存取資料庫;EJB entity bean;JDO技術(java Data Objects);第三方O/R工具,如hibernate,其他如IBATIS,Castor,Toplink。

  ORM(Object Relational Mapping)

  將對象映射到RDBMS的技術稱之為對象—關係映射。它能夠實現記憶體對象同關係資料的相互轉化。


  Entity Bean是領域模型對象,用於實現O/R映射,負責將資料庫中的表記錄映射為記憶體中的Entity對象,事實上,建立一個Entity Bean對象相當於建立一條記錄,刪除一個Entity Bean會同時從資料庫中刪除對應記錄,修改一個Entity Bean時,容器會自動將Entity Bean的狀態和資料庫同步。

  訊息驅動Bean(MessageDriven Bean)

  這個暫時不做詳細的介紹,在接下來的學習中我們再看。

 2.      小結

  這裡只是一些淺薄的初始,在接下來的學習中將會深入的去學習,敬請期待。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Java之旅(3)——EJB(初始)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.