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

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

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

    posts - 66,  comments - 11,  trackbacks - 0
    EJB技術有賴于2種重要技術的存在:Java RMI-IIOP和JNDI.EJB客戶僅僅同其暴露的單一接口進行交互。其中暴露的接口

    和企業Bean本身必須遵循EJB規范。EJB規范要求企業Bean暴露若干所要求的方法,而這些暴露的方法是供EJB容器統一管理他

    們使用的,無論EJB組件部署在何種EJB容器中。
        EJB2.1規范定義了3種EJB組件類型。
      會話Bean:會話Bean用于建模業務過程。即為完成某些任務而存在。
      實體Bean:實體Bean用于建模業務數據。他們是數據對象。實體Bean是用于緩存數據庫信息的Java對象。
      消息驅動Bean:MDB類似于會話Bean,因為它們都是為完成某些任務而存在的。

        EJB組件是基于分布式對象構建的,遠程系統能夠調用分布式對象。當然,進程內的客戶、進程外的客戶及網絡中的其他

    客戶都能夠與分布式對象進行交互。具體過程如下:
        客戶調用存根:即為客戶端提供的代理對象。存根負責將網絡通信屏蔽掉,這對于客戶而言意義深遠。存根能夠使用

    Socket訪問網絡中的其他資源,其間將調用所需的參數構建成網絡要求的調用格式。
        借助于網絡:存根能夠實現與服務器端的骨架進行交互。骨架是為服務器端提供的代理對象。骨架負責將網絡通信屏蔽

    掉,這對于分布式對象而言意義深遠。骨架能夠處理來自Socket的訪問請求。當然,骨架還能夠將存根構建好的參數轉換成

    Java表示。
        骨架將具體的客戶調用委派給合適的分布式對象實現。因此,該對象將完成具體的訪問請求,并將結果返回給骨架。依

    此類推,骨架將結果返回給存根,最后客戶將獲得分布式對象的響應結果(通過存根獲得)。
        重要:存根和服務器端實現的對象都實現了同一接口(稱之為遠程接口)。其意味著存根克隆了分布式對象的方法簽名。

    調用存根中的方法的客戶以為其自身直接調用了分布式對象,但實際情況是客戶直接調用存根,而存根處理具體的網絡訪問

    工作。因此,這可以稱之為分布透明性。
        分布式對象是對如下幾個協作對象的一種抽象:存根、骨架、實現的對象,單一的參與者不可能構成分布式對象。
        分布式對象是很誘人的,因為開發者能夠基于網絡構建應用。在開發大型的分布式對象應用的時候,需要借助于中間件

    服務,如事務和安全性。
       
        遠程對象:
        (1)、企業Bean的業務邏輯需要在Bean類中實現。EJB規范定義了企業Bean類待實現的若干接口。這些接口使得所有的企

    業Bean類能夠暴露同一套接口。各種企業Bean的Bean類都需要實現javax.ejb.EnterpriseBean接口。
        當然,EJB規范分別為會話Bean、實體Bean和消息驅動Bean提供了更專屬的接口類型,

    SessionBean,EntityBean,MessageDriverBean.
        (2)、當客戶使用企業Bean類的某實例時,它并不是直接調用Bean類的方法,EJB容器將攔截客戶調用,然后委派給企業

    Bean實例。通過攔截客戶請求,EJB容器能夠自動操作隱式中間件服務。
        因此,在客戶和EJB組件間,引入了間接層,即EJB容器。引入的間接層將自身封裝為單一的網絡使能對象,即EJB對象,

    EJB對象正是請求攔截器。EJB對象是代理對象,它可以與網絡、事務、安全性等進行交互。企業Bean客戶調用EJB對象提供的

    方法,而不是企業Bean本身。因此,EJB對象必須復制企業Bean類暴露的業務方法。但是,自動生成EJB對象的工具是怎么知

    道業務方法的呢?答案是,通過企業Bean提供者提供的接口來實現,即遠程接口。這個接口復制企業Bean類暴露的業務方法。

    EJB容器負責管理EJB組件,通過調用EJB組件提供的回調方法,EJB容器能夠同EJB組件交互。這些回調方法僅供EJB容器管理

    EJB組件使用。
        EJB容器最為重要的一項工作是,提供EJB組件運行的環境。EJB容器宿主了EJB組件,從而供遠程客戶調用。因此,可以

    認為EJB容器充當了客戶和EJB組件的中間人。EJB容器負責將客戶連接到EJB組件,完成事務協調工作,提供持久化能力,管

    理EJB組件的聲明周期及其他任務。
        EJB的遠程接口還需復制企業Bean類的業務方法。一旦企業Bean客戶調用業務方法,EJB對象將把調用操作委派給相應的

    Bean類。
        (3)、Java RMI-IIOP和EJB對象:javax.ejb.EJBObject繼承于java.rmi.Remote.任何實現了Remote接口的對象都是遠程

    對象,即能夠從其他JVM中訪問到它,這就是Java實現RMI方式。由于容器提供的EJB對象實現了EJB組件的遠程接口,因此EJB

    對象也間接實現了java.rmi.Remote接口。EJB對象是具有完整網絡功能的RMI-IIOP對象,供其他JVM或者網絡中其他物理機器

    訪問。實際上,EJB遠程接口僅僅是RMI-IIOP遠程接口,只不過它還遵循EJB規范罷了。
        遠程接口還必須遵從RMI-IIOP的參數傳遞約定。并不是所有的內容都能夠跨越JVM傳遞的。方法中傳遞的參數必須是符合

    RMI-IIOP約定的有效Java類型,如Java原型、序列化對象和RMI-IIOP對象。
        總之,EJB容器需要負責權衡資源管理和管理已部署EJB組件的生命周期。
    posted on 2009-10-28 15:39 王永慶 閱讀(263) 評論(0)  編輯  收藏 所屬分類: EJB學習筆記
    <2009年10月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關注blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级特黄aaa大片免费看| 亚洲一区二区三区91| 在线亚洲v日韩v| 性做久久久久免费看| 亚洲av日韩av永久在线观看| 成人毛片免费视频| 亚洲精品无码久久久久APP| 永久黄网站色视频免费直播| 国产综合成人亚洲区| 亚洲无码黄色网址| 国产一级在线免费观看| 亚洲AV日韩AV高潮无码专区| 免费A级毛片av无码| 亚洲国产中文在线视频 | 亚洲视频免费在线看| 男人天堂2018亚洲男人天堂| 在线看片无码永久免费aⅴ| 色老头综合免费视频| 国产成人亚洲综合无码精品| 91热成人精品国产免费| 亚洲AV女人18毛片水真多| 久久精品国产亚洲5555| 午夜影院免费观看| 欧美亚洲精品一区二区| 国产亚洲自拍一区| 免费成人福利视频| 老司机午夜在线视频免费观| 国产日韩亚洲大尺度高清| 无人在线直播免费观看| 国产成人综合亚洲一区| 亚洲av成人无码久久精品| 91免费精品国自产拍在线不卡| 美女视频黄频a免费观看| 亚洲天天做日日做天天欢毛片| 成人在线免费观看| 国产午夜无码片免费| 亚洲日韩AV无码一区二区三区人| 久久乐国产精品亚洲综合| 青娱乐免费在线视频| 一区二区三区免费高清视频| 亚洲国产精品线观看不卡|