中間件技術(shù)課件_第1頁(yè)
中間件技術(shù)課件_第2頁(yè)
中間件技術(shù)課件_第3頁(yè)
中間件技術(shù)課件_第4頁(yè)
中間件技術(shù)課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

中間件技術(shù)1中間件技術(shù)1第四章J2EE技術(shù)知識(shí)點(diǎn):J2EE概述EJB模型重點(diǎn):EJB模型參考資料:《精通EJB》[美]EdRoman電子工業(yè)出版社中國(guó)IT實(shí)驗(yàn)室/2第四章J2EE技術(shù)知識(shí)點(diǎn):24.1J2EE概述J2ME——Java2MicroEditionJava2平臺(tái)微型版:用于嵌入式系統(tǒng)開(kāi)發(fā),例如掌上電腦,手機(jī)等。J2SE——Java2StandardEditionJava2平臺(tái)標(biāo)準(zhǔn)版:用于創(chuàng)建典型的桌面與工作站應(yīng)用的Java平臺(tái),是實(shí)現(xiàn)可伸縮性、可移植性、分布式異構(gòu)互操作應(yīng)用軟件開(kāi)發(fā)的標(biāo)準(zhǔn)平臺(tái)。J2EE——Java2EnterpriseEditionJava2平臺(tái)企業(yè)版:用于創(chuàng)建可擴(kuò)縮的分布式的企業(yè)應(yīng)用平臺(tái),例如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。34.1J2EE概述J2ME——Java2MicroE4.1續(xù)J2EE四層模型瀏覽器JavaBeanAppletWeb服務(wù)器JSPServeletJSPEJB容器EJB桌面Java應(yīng)用ServeletEJB數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)客戶(hù)端顯示邏輯商業(yè)邏輯企業(yè)信息系統(tǒng)EJBEJB44.1續(xù)J2EE四層模型瀏覽器JavaBeanApplet4.1續(xù)J2EE相關(guān)技術(shù)⒈EJB:定義服務(wù)端組件的編寫(xiě)規(guī)則、組件之間的交互規(guī)則和應(yīng)用服務(wù)器對(duì)組件的管理規(guī)則。⒉RMI:Java遠(yuǎn)程方法調(diào)用,提供跨進(jìn)程的組件通信和相關(guān)的通信服務(wù)。⒊RMI-IIOP:擴(kuò)展了RMI,提供與CORBA的集成,用于J2EE的正式API。⒋JNDI:Java名稱(chēng)和目錄接口,用于網(wǎng)絡(luò)中定位組件和其他資源。⒌JDBC:提供關(guān)系數(shù)據(jù)庫(kù)的連接和相應(yīng)的數(shù)據(jù)庫(kù)操作。⒍JTA和JTS:使組件支持事務(wù)處理的的規(guī)范。54.1續(xù)J2EE相關(guān)技術(shù)54.1續(xù)J2EE相關(guān)技術(shù)⒎JMS:用于分布式對(duì)象的異步通信。⒏JavaServlets和JSP:適用于請(qǐng)求/應(yīng)答模式分布式計(jì)算的網(wǎng)絡(luò)組件。⒐JavaIDL:用于基于Java的CORBA實(shí)現(xiàn),使Java與其他編程語(yǔ)言集成。⒑Connectors:使J2EE可以運(yùn)行高端事務(wù)處理的主機(jī)系統(tǒng)集成。⒒JCA/JCE/JSSE/JAAS:安全服務(wù)體系,專(zhuān)門(mén)處理身份驗(yàn)證及權(quán)限管控的標(biāo)準(zhǔn)服務(wù)。64.1續(xù)J2EE相關(guān)技術(shù)64.1續(xù)JavaBean技術(shù)JavaBean是基于Java的組件模型,類(lèi)似于Microsoft的COM組件。通過(guò)JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用,擴(kuò)充Java程序的功能,快速生成新的應(yīng)用程序以及使程序更容易維護(hù)。JavaBean比EJB小得多,是用來(lái)開(kāi)發(fā)的組件而不是可部署的組件。由于JavaBean只是java類(lèi),不需要寄宿在運(yùn)行時(shí)環(huán)境中,進(jìn)行生命周期控制。74.1續(xù)JavaBean技術(shù)74.1續(xù)JavaBean技術(shù)JavaBean是基于Java的組件模型,類(lèi)似于Microsoft的COM組件。通過(guò)JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用,擴(kuò)充Java程序的功能,快速生成新的應(yīng)用程序以及使程序更容易維護(hù)。JavaBean比EJB小得多,是用來(lái)開(kāi)發(fā)的組件而不是可部署的組件。由于JavaBean只是java類(lèi),不需要寄宿在運(yùn)行時(shí)環(huán)境中,進(jìn)行生命周期控制。84.1續(xù)JavaBean技術(shù)84.2EJB模型EJB是一個(gè)由Java語(yǔ)言開(kāi)發(fā)的,可在多層的分布式環(huán)境中部署的服務(wù)器端軟件組件,是J2EE技術(shù)的核心。EJB的核心思想是將商業(yè)邏輯與底層的系統(tǒng)邏輯分開(kāi),使開(kāi)發(fā)者只需關(guān)心商業(yè)邏輯,而由EJB容器實(shí)現(xiàn)目錄服務(wù)、事務(wù)處理、持久性、安全性等底層系統(tǒng)邏輯,并且可創(chuàng)建具有動(dòng)態(tài)擴(kuò)展性的服務(wù)器應(yīng)用。EJB技術(shù)基于JavaRMI-ⅡOP和JNDI技術(shù),包括規(guī)范和Java接口兩部分。94.2EJB模型EJB是一個(gè)由Java語(yǔ)言開(kāi)發(fā)的,可在多層4.2續(xù)什么是EJBSun公司發(fā)布的文檔中對(duì)EJB的定義是:EJB是用于開(kāi)發(fā)和部署多層結(jié)構(gòu)的、分布式的、面向?qū)ο蟮腏ava應(yīng)用系統(tǒng)的跨平臺(tái)的構(gòu)件體系結(jié)構(gòu)。EJB規(guī)范說(shuō)明定義了Java的服務(wù)器端構(gòu)件模型。EJB是在容器里執(zhí)行的,Sun公司也發(fā)布了EJB容器的規(guī)范,EJB可以在任何符合規(guī)范的容器中運(yùn)行,容器其實(shí)就是給EJB提供服務(wù)的。104.2續(xù)什么是EJB104.2續(xù)EJB構(gòu)件模型服務(wù)器容器客戶(hù)EJB組件114.2續(xù)EJB構(gòu)件模型客戶(hù)EJB組件114.2續(xù)顯式的中間件124.2續(xù)顯式的中間件124.2續(xù)顯式的中間件134.2續(xù)顯式的中間件134.2續(xù)隱式的中間件請(qǐng)求攔截者通過(guò)EJB在部署描述文件中描述的需求信息,知道怎樣去做。144.2續(xù)隱式的中間件請(qǐng)求攔截者通過(guò)EJB在部署描述文件中描述4.2續(xù)隱式的中間件154.2續(xù)隱式的中間件154.2續(xù)EJB的構(gòu)成EJB類(lèi)EJB對(duì)象Home對(duì)象與Home接口本地接口部署描述供應(yīng)商特有文件Ejb-jar文件164.2續(xù)EJB的構(gòu)成16EJB架構(gòu)17EJB架構(gòu)174.2續(xù)EJB類(lèi)EJB類(lèi)是一個(gè)Java類(lèi),用戶(hù)在EJB類(lèi)中根據(jù)需要編寫(xiě)完成各種業(yè)務(wù)功能的具體實(shí)現(xiàn)代碼。EJB規(guī)范定義一些標(biāo)準(zhǔn)接口以供Bean類(lèi)實(shí)現(xiàn),這些接口強(qiáng)制規(guī)定公開(kāi)編寫(xiě)某些Bean類(lèi)必須提供的方法。容器調(diào)用這些強(qiáng)制實(shí)現(xiàn)的方法來(lái)管理Bean。所有的商務(wù)Bean類(lèi)都必須實(shí)現(xiàn)的最基本的接口是:javax.ejb.EnterpriseBean接口。這個(gè)接口起到標(biāo)識(shí)接口的作用。184.2續(xù)EJB類(lèi)184.2續(xù)EJB類(lèi)對(duì)于會(huì)話Bean,典型的EJB類(lèi)包含與商務(wù)過(guò)程相關(guān)的邏輯。必須實(shí)現(xiàn)javax.ejb.SessionBean接口。對(duì)于實(shí)體Bean,典型的EJB類(lèi)包含與商務(wù)數(shù)據(jù)相關(guān)的邏輯。必須實(shí)現(xiàn)javax.ejb.EntityBean接口。對(duì)于消息Bean,典型的EJB類(lèi)包含面向消息的邏輯。必須實(shí)現(xiàn)javax.ejb.MessageDrivenBean接口。194.2續(xù)EJB類(lèi)194.2續(xù)EJB容器EJB容器是EJB組件的運(yùn)行環(huán)境。EJB容器裝載EJB,并且使得客戶(hù)端程序能進(jìn)行遠(yuǎn)程調(diào)用。EJB容器負(fù)責(zé)將客戶(hù)端程序連接到Beans,執(zhí)行事務(wù)協(xié)調(diào),提供數(shù)據(jù)存儲(chǔ),管理Bean的生命周期等。EJB容器透明地管理分布式組件體系結(jié)構(gòu)的系統(tǒng)開(kāi)銷(xiāo),無(wú)論是Bean還是調(diào)用Bean的客戶(hù)程序都不顯式地對(duì)EJB容器的API進(jìn)行編碼從本質(zhì)上講,EJB容器是客戶(hù)端程序和Bean之間看不見(jiàn)的中間人。204.2續(xù)EJB容器204.2續(xù)EJB容器一致性安全性可獲得性生命周期管理事務(wù)性分布性可伸縮性持久性214.2續(xù)EJB容器214.2續(xù)EJB對(duì)象EJB對(duì)象——請(qǐng)求攔截器EJB對(duì)象是一種代理對(duì)象,具有網(wǎng)絡(luò)功能,執(zhí)行事務(wù)處理,提供安全措施等。在Bean類(lèi)實(shí)例響應(yīng)方法調(diào)用之前,EJB對(duì)象知道如何執(zhí)行EJB容器所要求的中間邏輯。EJB對(duì)象復(fù)制并公開(kāi)Bean本身具有的所有公開(kāi)商務(wù)方法,把客戶(hù)端所有的請(qǐng)求傳遞給Bean。EJB對(duì)象是EJB容器本身的一部分,所有的EJB對(duì)象都包含與特定EJB容器有關(guān)的代碼。EJB容器自動(dòng)生成EJB對(duì)象的類(lèi)文件。224.2續(xù)EJB對(duì)象224.2續(xù)EJB對(duì)象234.2續(xù)EJB對(duì)象234.2續(xù)Remote接口容器如何知道克隆哪些商務(wù)方法?由Bean提供商編寫(xiě)的一個(gè)特殊的接口,復(fù)制對(duì)應(yīng)的Bean類(lèi)公開(kāi)的所有商務(wù)方法。EJB容器依據(jù)這些信息自動(dòng)生成對(duì)應(yīng)的EJB對(duì)象。Remote接口必須遵守EJB規(guī)范定義的特殊規(guī)則。所有的Remote接口必須來(lái)源于Sun公司提供的一種通用接口javax.ejb.EJBObject。Remote接口實(shí)際上就是RMI-IIOP接口,它必須遵守RMI-IIOP參數(shù)傳遞約定。244.2續(xù)Remote接口244.2續(xù)Home對(duì)象客戶(hù)端如何獲得對(duì)EJB對(duì)象的引用?Home對(duì)象是EJB對(duì)象的生成庫(kù),負(fù)責(zé)對(duì)EJB對(duì)象的實(shí)例化和回收。主要職責(zé):生成EJB對(duì)象查找現(xiàn)有的EJB對(duì)象刪除EJB對(duì)象對(duì)于每個(gè)EJB容器,Home對(duì)象都是專(zhuān)用的,特定的,是EJB容器的一部分,由EJB容器提供商提供的軟件工具自動(dòng)生成。254.2續(xù)Home對(duì)象254.2續(xù)Home接口Home對(duì)象如何知道怎樣初始化EJB對(duì)象?Home接口定義一組方法來(lái)創(chuàng)建新的EJB對(duì)象,查找、定位和清除已有的EJB對(duì)象。Home接口僅僅定義生成、回收、查找EJB對(duì)象方法,具體的由Home對(duì)象來(lái)實(shí)現(xiàn)。Home接口必須擴(kuò)展javax.ejb.EJBHome接口,而該接口又從java.rmi.Remote擴(kuò)展而來(lái),因此Home對(duì)象是完全具有網(wǎng)絡(luò)功能。EJB構(gòu)件部署時(shí)容器會(huì)自動(dòng)生成相應(yīng)Home對(duì)象。264.2續(xù)Home接口264.2續(xù)Home接口和Home對(duì)象274.2續(xù)Home接口和Home對(duì)象274.2續(xù)EJB遠(yuǎn)程通信模型284.2續(xù)EJB遠(yuǎn)程通信模型28過(guò)程對(duì)比

4.2續(xù)本地接口

⑴客戶(hù)調(diào)用本地對(duì)象;⑵本地對(duì)象完成所需中間件服務(wù);⑶本地對(duì)象調(diào)用EJB實(shí)例完成相應(yīng)服務(wù)后,將控制權(quán)返回給本地對(duì)象,本地對(duì)象再將控制權(quán)返回給客戶(hù)。Home接口⑴客戶(hù)調(diào)用本地代理;⑵代理將參數(shù)整理成適合網(wǎng)絡(luò)傳輸?shù)男问?;⑶代理和框架?lián)系;⑷框架將參數(shù)再整理成適合于Java的形式;⑸框架調(diào)用EJB對(duì)象;⑹EJB對(duì)象完成所需中間件服務(wù);⑺EJB對(duì)象調(diào)用EJB實(shí)例完成相應(yīng)服務(wù)后,以上步驟都將在返回Home途中重復(fù)執(zhí)行。29過(guò)程對(duì)比4.2續(xù)本地接口Home接口缺陷:通過(guò)接口生成Bean非常慢。本地接口是EJB2.0的新功能,它實(shí)現(xiàn)通過(guò)本地對(duì)象以一種快速、高效的方式調(diào)用EJB。本地對(duì)象實(shí)現(xiàn)本地接口。缺陷:只有在同一進(jìn)程中調(diào)用Bean時(shí),才有效。通過(guò)引用而不是通過(guò)值傳遞參數(shù)。304.2續(xù)本地接口304.2續(xù)部署描述部署描述聲明一個(gè)指定的Bean應(yīng)該如何使用中間件,而不是編寫(xiě)代碼使用中間件。部署描述可用來(lái)描述下列要求:Bean的管理和生命周期要求持久性要求事務(wù)處理要求安全性要求部署描述是一個(gè)XML文件。部署描述實(shí)現(xiàn)了不改變EJB組件源代碼就調(diào)整組件使之適用于特定的部署應(yīng)用環(huán)境。314.2續(xù)部署描述314.2續(xù)供應(yīng)商特有文件每個(gè)EJB服務(wù)器供應(yīng)商都有一些自己獨(dú)特的增值特性,EJB規(guī)范沒(méi)有涉及這些特性,例如,怎樣配制裝載平衡、群集、監(jiān)控等。EJB服務(wù)器供應(yīng)商一般要求包括一些供應(yīng)商特有文件,例如,XML文件、文本文件或者二進(jìn)制文件。供應(yīng)商特有文件不能在不同應(yīng)用服務(wù)器之間移植。324.2續(xù)供應(yīng)商特有文件324.2續(xù)Ejb-jar文件Ejb-jar文件是一個(gè).zip壓縮文件,包含Bean類(lèi)、Home接口、Remote接口及部署描述文件。Ejb-jar文件一旦生成,即代表EJB設(shè)計(jì)完成,可成為應(yīng)用服務(wù)器的一個(gè)可部署應(yīng)用單元了。部署EJB時(shí),EJB容器提供商提供解壓縮工具讀取和提取Ejb-jar文件內(nèi)的信息,部署員從而執(zhí)行其特定的任務(wù)。Ejb-jar文件是所有EJB工具都必須支持的標(biāo)準(zhǔn)特性。334.2續(xù)Ejb-jar文件334.2續(xù)Ejb-jar文件344.2續(xù)Ejb-jar文件344.2續(xù)EJB構(gòu)件的實(shí)現(xiàn)步驟⒈創(chuàng)建Bean的實(shí)現(xiàn)類(lèi);⒉創(chuàng)建Remote接口;⒊創(chuàng)建Home接口;⒋編譯Remote接口、Home接口、bean實(shí)現(xiàn)類(lèi);⒌創(chuàng)建部署描述文件;⒍將以上三個(gè)文

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論