死亡騎士
          --->時間的守護者
          posts - 4,comments - 1,trackbacks - 0
          EJB

                  EJB (Enterprise JavaBean)是J2EE的一部分,定義了一個用于開發基于組件的企業多重應用程序的標準。其特點包括網絡服務支持和核心開發工具(SDK)。

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

                  1.Session Bean用于實現業務邏輯,它可以是有狀態的,也可以是無狀態的。每當客戶端請求時,容器就會選擇一個Session Bean來為客戶端服務。Session Bean可以直接訪問數據庫,但更多時候,它會通過Entity Bean實現數據訪問。

                  2.Entity Bean是域模型對象,用于實現O/R映射,負責將數據庫中的表記錄映射為內存中的Entity對象,事實上,創建一個Entity Bean對象相當于新建一條記錄,刪除一個Entity Bean會同時從數據庫中刪除對應記錄,修改一個Entity Bean時,容器會自動將Entity Bean的狀態和數據庫同步。

                  3.MessageDriven Bean是EJB2.0中引入的新的企業Bean,它基于JMS消息,只能接收客戶端發送的JMS消息然后處理。MDB實際上是一個異步的無狀態Session Bean,客戶端調用MDB后無需等待,立刻返回,MDB將異步處理客戶請求。這適合于需要異步處理請求的場合,比如訂單處理,這樣就能避免客戶端長時間的等待一個方法調用直到返回結果。

                  EJB實際上是SUN的J2EE中的一套規范,并且規定了一系列的API用來實現把EJB概念轉換成EJB產品.EJB是BEANS,BEANS是什么概念,那就是得有一個容納她,讓她可勁造騰的地方,就是得有容器.EJB必須生存在EJB容器中.這個容器可是功能強大之極!她首先要包裝你BEAN,EJB的客戶程序實際上從來就不和你編寫的EJB直接打交道,他們之間是通過HOME/REMOTE接口來發生關系的.它負責你的BEAN的所有的吃喝拉薩睡,比如BEAN的持續化,安全性,事務管理...

          一.什么是 EJB?

                  一個技術規范:EJB 從技術上而言不是一種"產品"
                  EJB 是一種標準描述了構建應用組件要解決的:
                  可擴展 (Scalable)
                  分布式 (Distributed)
                  事務處理 (Transactional)
                  數據存儲 (Persistent)
                  安全性 (Secure)

          二.Sun 對 EJB 的期望

                  提供一個標準的分布的、基于 OO 的組件架構
                  屏蔽復雜的系統級功能需求
                  Write once, run anywhere
                  與非 Java 應用之間的互操作能力
                  兼容 CORBA 標準

          三.為什么選擇 EJB?

                  EJB 服務器完成"繁雜"的工作:
                  應用開發人員關注于業務邏輯的實現而不是底層的實現機制(類似于4GL 語言設計的目標)
                  支持事務處理
                  多個業務操作同時成功,或全部失敗
                  可以通過在代碼外的描述來定義事務處理級別
                  可擴展性
                  EJB 可以根據您應用的增長而擴展
                  EJB 服務器往往還提供了負載均衡和
                  安全性:由 EJB 服務器提供資源的訪問權限控制

          四.EJB 架構

                  為了滿足架構的目標,規范中描述了
                  服務器 (Server)
                  容器 (Container)
                  類 (Class) 和實例 (Instance)
                  Home 和 Remote 接口
                  客戶端 (Client)

          五. 簡化的編程模型

                  關注于業務邏輯實現:EJB 負責生命周期 (lifecycle), 數據存儲 (persistence), 事務處理語義 (transactional semantic), 安全(security), ...
          通用的編程模型:各種服務的高層 API
          Java 是其編程語言


                  EJB(業務邏輯代碼)表示了與特定商業領域(例如銀行、零售等行業)相適應的邏輯。它由運行在業務邏輯層的 enterprise bean 處理。一個 enterprise bean 可以從客戶端接受數據,對它進行處理,并將其發送到企業信息系統層以作存儲;同時它也可以從存儲器獲取數據,處理后將其發送到客戶端應用程序。
                  有三種類型的 enterprise beans:session beans、entity beans 和 message-driven beans。Session bean 描述了與客戶端的一個短暫的會話。當客戶端的執行完成后,session bean和它的數據都將消失;與之相對應的是一個entity bean描述了存儲在數據庫表中的一行持久穩固的數據,如果客戶端終止或者服務結束,底層的服務會負責 entity bean 數據的存儲。
                  Message-driven bean 結合了 session bean 和 Java 信息服務(JMS)信息監聽者的功能,它允許一個商業組件異步地接受 JMS 消息。

          posted on 2008-07-10 16:53 死亡騎士 閱讀(139) 評論(0)  編輯  收藏 所屬分類: 知識堂

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          相關文章:
           
          主站蜘蛛池模板: 五华县| 昭平县| 和静县| 宁波市| 湘潭县| 沂源县| 罗平县| 大冶市| 襄垣县| 宁波市| 从江县| 定边县| 孟连| 海宁市| 兴和县| 达拉特旗| 本溪市| 黄骅市| 乌兰察布市| 德钦县| 博罗县| 中阳县| 中西区| 云安县| 四子王旗| 新沂市| 万源市| 虞城县| 大城县| 枝江市| 辽宁省| 佛冈县| 金塔县| 绥化市| 东明县| 益阳市| 扶绥县| 贞丰县| 册亨县| 绥阳县| 广河县|