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

下載本文檔

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

文檔簡介

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

4.2續(xù)本地接口

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

溫馨提示

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

評論

0/150

提交評論