<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

    主站蜘蛛池模板: 30岁的女人韩剧免费观看| 国产成人精品免费视频软件| 亚洲av产在线精品亚洲第一站| 亚洲欧美日韩中文二区| 免费一区二区视频| 男的把j放进女人下面视频免费| 一本久久a久久精品亚洲| 日韩毛片在线免费观看| 国产亚洲高清不卡在线观看| 色窝窝免费一区二区三区| 一区二区三区免费高清视频| 精品亚洲国产成人| 国产午夜亚洲精品国产成人小说| 中美日韩在线网免费毛片视频| 亚洲性日韩精品一区二区三区| 一级视频免费观看| 亚洲av产在线精品亚洲第一站| 大学生一级特黄的免费大片视频| 亚洲乱亚洲乱妇无码| 亚洲成人在线电影| 免费不卡中文字幕在线| 美女裸身网站免费看免费网站| 国产亚洲玖玖玖在线观看 | 久章草在线精品视频免费观看| 亚洲AV无码成人精品区在线观看| 十八禁无码免费网站| 杨幂最新免费特级毛片| 亚洲一本之道高清乱码| 亚洲AV永久无码精品| 日批日出水久久亚洲精品tv| 毛片免费视频观看| 国产偷国产偷亚洲清高APP| 亚洲国产精品久久久久秋霞影院| 一个人免费高清在线观看| 久久成人无码国产免费播放| 最好2018中文免费视频| 欧美亚洲精品一区二区| 欧洲 亚洲 国产图片综合| 亚洲国产黄在线观看| 国产三级免费观看| 最新猫咪www免费人成|