新聞中心
EJB是sun的服務(wù)器端組件模型,最大的用處是部署分布式應(yīng)用程序,類似微軟的.net技術(shù)。憑借java跨平臺(tái)的優(yōu)勢,用EJB技術(shù)部署的分布式系統(tǒng)可以不限于特定的平臺(tái)。

吉利ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
EJB (Enterprise JavaBean)是J2EE的一部分,定義了一個(gè)用于開發(fā)基于組件的企業(yè)多重應(yīng)用程序的標(biāo)準(zhǔn)。其特點(diǎn)包括網(wǎng)絡(luò)服務(wù)支持和核心開發(fā)工具(SDK)。
在J2EE里,Enterprise Java Beans(EJB)稱為Java 企業(yè)Bean,是Java的核心代碼,分別是會(huì)話Bean(Session Bean),實(shí)體Bean(Entity Bean)和消息驅(qū)動(dòng)Bean(MessageDriven Bean)。
1.Session Bean用于實(shí)現(xiàn)業(yè)務(wù)邏輯,它可以是有狀態(tài)的,也可以是無狀態(tài)的。每當(dāng)客戶端請(qǐng)求時(shí),容器就會(huì)選擇一個(gè)Session Bean來為客戶端服務(wù)。Session Bean可以直接訪問數(shù)據(jù)庫,但更多時(shí)候,它會(huì)通過Entity Bean實(shí)現(xiàn)數(shù)據(jù)訪問。
2.Entity Bean是域模型對(duì)象,用于實(shí)現(xiàn)O/R映射,負(fù)責(zé)將數(shù)據(jù)庫中的表記錄映射為內(nèi)存中的Entity對(duì)象,事實(shí)上,創(chuàng)建一個(gè)Entity Bean對(duì)象相當(dāng)于新建一條記錄,刪除一個(gè)Entity Bean會(huì)同時(shí)從數(shù)據(jù)庫中刪除對(duì)應(yīng)記錄,修改一個(gè)Entity Bean時(shí),容器會(huì)自動(dòng)將Entity Bean的狀態(tài)和數(shù)據(jù)庫同步。
3.MessageDriven Bean是EJB2.0中引入的新的企業(yè)Bean,它基于JMS消息,只能接收客戶端發(fā)送的JMS消息然后處理。MDB實(shí)際上是一個(gè)異步的無狀態(tài) Session Bean,客戶端調(diào)用MDB后無需等待,立刻返回,MDB將異步處理客戶請(qǐng)求。這適合于需要異步處理請(qǐng)求的場合,比如訂單處理,這樣就能避免客戶端長時(shí)間的等待一個(gè)方法調(diào)用直到返回結(jié)果。
EJB實(shí)際上是SUN的J2EE中的一套規(guī)范,并且規(guī)定了一系列的API用來實(shí)現(xiàn)把EJB概念轉(zhuǎn)換成EJB產(chǎn)品.EJB是 BEANS,BEANS是什么概念,那就是得有一個(gè)容納她,讓她可勁造騰的地方,就是得有容器.EJB必須生存在EJB容器中.這個(gè)容器可是功能強(qiáng)大之極!她首先要包裝你BEAN,EJB的客戶程序?qū)嶋H上從來就不和你編寫的EJB直接打交道,他們之間是通過HOME/REMOTE接口來發(fā)生關(guān)系的.它負(fù)責(zé)你的BEAN的所有的吃喝拉薩睡,比如BEAN的持續(xù)化,安全性,事務(wù)管理...
一.什么是EJB?
一個(gè)技術(shù)規(guī)范:EJB 從技術(shù)上而言不是一種"產(chǎn)品"
EJB 是一種標(biāo)準(zhǔn)描述了構(gòu)建應(yīng)用組件要解決的:
可擴(kuò)展 (Scalable)
分布式 (Distributed)
事務(wù)處理 (Transactional)
數(shù)據(jù)存儲(chǔ) (Persistent)
安全性 (Secure)
二.Sun對(duì)EJB 的期望
提供一個(gè)標(biāo)準(zhǔn)的分布的、基于 OO 的組件架構(gòu),屏蔽復(fù)雜的系統(tǒng)級(jí)功能需求Write once, run anywhere,與非 Java 應(yīng)用之間的互操作能力
兼容 CORBA 標(biāo)準(zhǔn)
三.為什么選擇EJB?
EJB 服務(wù)器完成"繁雜"的工作:應(yīng)用開發(fā)人員關(guān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn)而不是底層的實(shí)現(xiàn)機(jī)制(類似于 4GL 語言設(shè)計(jì)的目標(biāo)),支持事務(wù)處理
,多個(gè)業(yè)務(wù)操作同時(shí)成功,或全部失敗,可以通過在代碼外的描述來定義事務(wù)處理級(jí)別可擴(kuò)展性.EJB 可以根據(jù)您應(yīng)用的增長而擴(kuò)展.EJB 服務(wù)器往往還提供了負(fù)載均衡和.安全性:由 EJB 服務(wù)器提供資源的訪問權(quán)限控制
四.EJB 架構(gòu)
為了滿足架構(gòu)的目標(biāo),規(guī)范中描述了服務(wù)器 (Server),容器 (Container),類 (Class) 和實(shí)例 (Instance),Home 和 Remote 接口,客戶端 (Client).
五. 簡化的編程模型
關(guān)注于業(yè)務(wù)邏輯實(shí)現(xiàn):EJB 負(fù)責(zé)生命周期 (lifecycle), 數(shù)據(jù)存儲(chǔ) (persistence), 事務(wù)處理語義 (transactional semantic), 安全(security), ...通用的編程模型:各種服務(wù)的高層 API,Java 是其編程語言,EJB( 業(yè)務(wù)邏輯代碼 ) 表示了與特定商業(yè)領(lǐng)域(例如銀行、零售等行業(yè))相適應(yīng)的邏輯。它由運(yùn)行在業(yè)務(wù)邏輯層的 enterprise bean 處理。一個(gè) enterprise bean 可以從客戶端接受數(shù)據(jù),對(duì)它進(jìn)行處理,并將其發(fā)送到企業(yè)信息系統(tǒng)層以作存儲(chǔ);同時(shí)它也可以從存儲(chǔ)器獲取數(shù)據(jù),處理后將其發(fā)送到客戶端應(yīng)用程序。
有三種類型的 enterprise beans:session beans、entity beans 和 message-driven beans。Session bean 描述了與客戶端的一個(gè)短暫的會(huì)話。當(dāng)客戶端的執(zhí)行完成后,session bean 和它的數(shù)據(jù)都將消失;與之相對(duì)應(yīng)的是一個(gè) entity bean 描述了存儲(chǔ)在數(shù)據(jù)庫表中的一行持久穩(wěn)固的數(shù)據(jù),如果客戶端終止或者服務(wù)結(jié)束,底層的服務(wù)會(huì)負(fù)責(zé) entity bean 數(shù)據(jù)的存儲(chǔ)。
Message-driven bean 結(jié)合了 session bean 和 Java 信息服務(wù)(JMS)信息監(jiān)聽者的功能,它允許一個(gè)商業(yè)組件異步地接受 JMS 消息。
【編輯推薦】
- Eclipse+JBoss+EJB3配置文件發(fā)布Session Bean
- 如何通過遠(yuǎn)程客戶端跨JVM遠(yuǎn)程訪問EJB
- Java使用EJB容器的詳細(xì)概述
- MyEclipse+Weblogic開發(fā)EJB組件
- EJB3.1新特性一覽 Time服務(wù)更強(qiáng)大
文章標(biāo)題:什么是EJB,EJB技術(shù)概覽
標(biāo)題來源:http://fisionsoft.com.cn/article/cciogsg.html


咨詢
建站咨詢
