<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    EJB的基本觀念介紹

    從J2EE推出以來,已經逐漸為企業所熟知,投入J2EE相關技術的資訊從業人員也不斷增加。在J2EE的各項技術中,EJB 是十分值得投資的新技術。

    你可能已經知道EJB是Enterprise Java Bean的縮寫,但是可能還不知道EJB的用處和架構。本文的主要目的就是讓讀者先有初步的認識,之後在接下來的各期爪哇藍報中再分別介紹更為入的應用介紹。
    1. 基本架構及名詞介紹

    EJB從意義上來說,是一種「技術規範」,而不是一種產品,
    ?Bean Instance :表示在記憶體中實際產生的物件。一個 Bean Class 可以產生多個 Bean Instance 。Bean Instance 才是真正執行 EJB method 的物件。

    ?Container:容器是可提供特定元件(Components)服務的標準執行環境。例如,Web Container必須提供必要的程序(呼叫特定頁面、處理程式等),回應Client端的需求,並將處理結果傳回Client端。

    ?EJB Container: 是EJB 標準執行環境,所有 EJB 的產生,或是消滅,或是執行等等,均透過 EJB Container 來處理。當使用者呼叫某個EJB 的時候,實際上也是透過 EJB Container 來執行。

    ?Deploy:一個寫好的 EJB 並不能單獨執行,他必須被「放」到EJB Container 之後才能夠執行,而這個動作就是Deploy。Deploy通常只是執行某個動作、按鈕,之後的動作就交由Application Server自行處理。

    ?EJB Client:負責使用者介面呈現的元件,可能是JSP/Servlet,或者是一個Standalone Java Application。

    ?Message Queue:在程式中要傳達的資料片斷稱為Message,存在於記憶體中,而Message都可經由Message Queue提供給不同的Process進行處理。Message Queue儲存了每個的Message的位址(Address)、型態(Type)、大小(size)、指到下一個Message的指標(pointer)等,它的資料結構基本上是一個Linked List。

    2. EJB的種類及用處

    EJB 依照特性的不同,區分為幾種。
    ?Session Bean:主要的目的是讓程式開發者將邏輯層抽離,這些「邏輯」通常就是一個應用程式中的Business Logic,在整個系統開發中佔有相當重要的一部份。系統開發者可以多加利用Session Bean,將複雜的邏輯放在 Session Bean 的Method中。

      ? Stateful Session Bean:可以記錄呼叫者的狀態,因此通常來說,一個使用者會有一個相對應的 Stateful Session Bean 的實體(Instance)。

    ?Stateless Session Bean:也是邏輯元件,但是他卻不負責記錄使用者狀態,也就是說當使用者呼叫 Stateless Session Bean 的時候,EJB Container 並不會找尋特定的 Stateless Session Bean 的實體來執行這個 method。

    ?Entity Bean:它的角色是主要是資料元件,主要目的在於提供資料,讓系統開發人員直接將Entity Bean 當作程式中所要用到的資料;至於 Entity Bean如何存取一個Relational Databse或LDAP,就可以作為另外一項獨立的事情。

      ?Bean-Managed Persistence(BMP):由名稱上就可以直接了解到BMP是由Bean自行維護資料的一致。`而Bean從資料庫取得資料後,BMP 中需要自行宣告欄位來存放這些資料,相關的 JDBC 語法等程式,也都須要自行撰寫。適用於開發人員想要完全控制 BMP 的資料存取行為時。

    ? Container-Managed Persistence(CMP):
    相對於BMP,CMP是由 EJB Container 負責維護資料。撰寫 CMP 的程式設計師並不需要撰寫大多數的 JDBC 語法,通常只需要撰寫Deployment Description,就可以產生 CMP ;實際上的程式碼是 EJB Container在Deploy EJB 的時候所產生。CMP似乎有助於快速開發系統(大部份的工作都交給EJB Container了嘛),但是須要配合使用支援 CMP 的Application Server,而截至目前為止,每一家不同Application Server對CMP 的支援程度也不大相同。

    ? Message Driven Bean:
    主要的目的在於反應 Message Queue 中的事件,當 Message Queue 中有訊息傳入時,Message Driven Bean 可以被觸發,做出對應的反應;所以Message Driven Bean可以說是主動反應,而不是「呼叫某個Method」這樣的方式被動觸發。

    其中 Session Bean 與Entity Bean在 EJB 規格 1.x 的時候就已經存在了,而 Message Driven Bean 則出現在 EJB 2.0 的規格中。

    posted on 2008-12-04 11:27 paulwong 閱讀(519) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 亚洲免费视频一区二区三区| 无码国产精品一区二区免费16| 亚洲日韩亚洲另类激情文学| 亚洲婷婷综合色高清在线| 久久精品国产亚洲av影院| 亚洲最大的成网4438| 久久99亚洲网美利坚合众国| 亚洲综合一区二区国产精品| 久久亚洲中文字幕精品有坂深雪| 亚洲国产高清人在线| 久久精品a亚洲国产v高清不卡| 亚洲高清无在码在线电影不卡| 亚洲视频精品在线观看| 亚洲一区二区三区深夜天堂| 狠狠色伊人亚洲综合网站色| 亚洲另类无码专区首页| 亚洲日韩久久综合中文字幕| 最新亚洲人成无码网站| 一个人看的免费观看日本视频www| 国产精品福利在线观看免费不卡| 中国一级全黄的免费观看| 野花香在线视频免费观看大全| 91精品国产免费入口| 成人女人A级毛片免费软件| 暖暖日本免费在线视频| 亚洲国产a级视频| 国产精品久久久亚洲| 亚洲精品高清国产麻豆专区| 亚洲色大情网站www| 日韩大片免费观看视频播放 | 亚洲成a人一区二区三区| 在线亚洲97se亚洲综合在线| 水蜜桃亚洲一二三四在线| 性xxxx黑人与亚洲| 精品在线观看免费| 亚洲成年看片在线观看| 红杏亚洲影院一区二区三区| 亚洲an天堂an在线观看| 亚洲色少妇熟女11p| aa毛片免费全部播放完整| 久久精品免费一区二区|