![中間件技術原理及應用課件_第1頁](http://file4.renrendoc.com/view/c58727f470c27f59d9bdb3aa65aaac82/c58727f470c27f59d9bdb3aa65aaac821.gif)
![中間件技術原理及應用課件_第2頁](http://file4.renrendoc.com/view/c58727f470c27f59d9bdb3aa65aaac82/c58727f470c27f59d9bdb3aa65aaac822.gif)
![中間件技術原理及應用課件_第3頁](http://file4.renrendoc.com/view/c58727f470c27f59d9bdb3aa65aaac82/c58727f470c27f59d9bdb3aa65aaac823.gif)
![中間件技術原理及應用課件_第4頁](http://file4.renrendoc.com/view/c58727f470c27f59d9bdb3aa65aaac82/c58727f470c27f59d9bdb3aa65aaac824.gif)
![中間件技術原理及應用課件_第5頁](http://file4.renrendoc.com/view/c58727f470c27f59d9bdb3aa65aaac82/c58727f470c27f59d9bdb3aa65aaac825.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1第三章J2EE技術內容:
3.1J2EE概述
3.2EJB模型
3.3EJB角色
3.4會話Bean 3.5實體Bean 3.6消息驅動Bean2參考教材《精通EJB》[美]EdRoman電子工業(yè)出版社中國IT實驗室/3J2ME——Java2MicroEditionJava2平臺微型版:用于嵌入式系統(tǒng)開發(fā),例如掌上電腦,手機,儀表等。J2SE——Java2StandardEditionJava2平臺標準版:用于創(chuàng)建典型的桌面與工作站應用的Java平臺,是實現(xiàn)可伸縮性、可移植性、分布式異構互操作應用軟件開發(fā)的標準平臺。
J2EE
——Java2EnterpriseEditionJava2平臺企業(yè)版:用于創(chuàng)建可擴縮的分布式的企業(yè)應用平臺,例如電子商務網站和ERP系統(tǒng)。3.1J2EE概述4J2EE可以提供什么分布式、可移植構件的框架簡化服務器中間層構件的設計為構件和應用服務器提供標準API5J2EE可以為開發(fā)者和用戶帶來更短的開發(fā)時間可重用組件JSPEJB自由的選擇基于開發(fā)的標準簡化的連接XML、JDBC、RMI-IIOP、WebService6J2EE四層模型瀏覽器JavaBeanAppletWeb服務器JSPServeletJSPEJB容器EJB桌面Java應用ServeletEJB數(shù)據(jù)庫數(shù)據(jù)庫客戶端顯示邏輯業(yè)務邏輯企業(yè)信息系統(tǒng)EJBEJBHTTPJDBCJDBCJDBCRMI/IIOP7J2EE相關技術1、EJB:定義服務端組件的編寫規(guī)則、組件之間的交互規(guī)則和應用服務器對組件的管理規(guī)則。2、RMI:Java遠程方法調用,提供跨進程的組件通信和相關的通信服務。3、RMI-IIOP:擴展了RMI,提供與CORBA的集成,用于J2EE的正式API。4、JNDI:Java名稱和目錄接口,用于網絡中定位組件和其他資源。5、JDBC:提供關系數(shù)據(jù)庫的連接和相應的數(shù)據(jù)庫操作。6、JTA和JTS:使組件支持事務處理的的規(guī)范。8J2EE相關技術(續(xù))7、JMS:用于分布式對象的異步通信。8、JavaServlets和JSP:適用于請求/應答模式分布式計算的網絡組件。9、JavaIDL:用于基于Java的CORBA實現(xiàn),使Java與其他編程語言集成。10、Connectors:使J2EE可以運行高端事務處理的主機系統(tǒng)集成。11、JCA/JCE/JSSE/JAAS:安全服務體系,專門處理身份驗證及權限管控的標準服務。93.2EJBEJB的定義是:EJB是用于開發(fā)和部署多層結構的、分布式的、面向對象的Java應用系統(tǒng)的跨平臺的構件體系結構。EJB規(guī)范說明定義了Java的服務器端構件模型。EJB是在容器里執(zhí)行的,Sun公司也發(fā)布了EJB容器的規(guī)范,EJB可以在任何符合規(guī)范的容器中運行,容器其實就是給EJB提供服務的。10EJB的核心思想是將商業(yè)邏輯與底層的系統(tǒng)邏輯分開,由EJB容器實現(xiàn)目錄服務、事務處理、持久性、安全性等底層系統(tǒng)邏輯,并且可創(chuàng)建具有動態(tài)擴展性的服務器應用。EJB技術基于JavaRMI-ⅡOP和JNDI技術,包括規(guī)范和Java接口兩部分。11EJB模型客戶EJBHomeEJB構件事務服務數(shù)據(jù)庫或遺留系統(tǒng)遠端調用接口業(yè)務邏輯方法服務器容器EJB對象命名服務安全服務……12EJB的構成EJB類EJB容器EJB對象Home對象與Home接口本地接口部署描述供應商特有文件Ejb-jar文件13EJB類EJB類是一個Java類,用戶在EJB類中根據(jù)需要編寫完成各種業(yè)務功能的具體實現(xiàn)代碼。EJB規(guī)范定義一些標準接口以供Bean類實現(xiàn),這些接口強制規(guī)定公開編寫某些Bean類必須提供的方法。容器調用這些強制實現(xiàn)的方法來管理Bean。所有的Bean類都必須實現(xiàn)的最基本的接口是:javax.ejb.EnterpriseBean接口。這個接口起到標識接口的作用。14EJB類(續(xù))對于會話Bean,典型的EJB類包含與商務過程相關的邏輯。必須實現(xiàn)javax.ejb.SessionBean接口。對于實體Bean,典型的EJB類包含與商務數(shù)據(jù)相關的邏輯。必須實現(xiàn)javax.ejb.EntityBean接口。對于消息Bean,典型的EJB類包含面向消息的邏輯。必須實現(xiàn)javax.ejb.MessageDrivenBean接口。15EJB容器EJB容器是EJB組件的運行環(huán)境。EJB容器裝載EJB,并且使得客戶端程序能進行遠程調用。EJB容器負責將客戶端程序連接到Beans,執(zhí)行事務協(xié)調,提供數(shù)據(jù)存儲,管理Bean的生命周期等。從本質上講,EJB容器是客戶端程序和Bean之間看不見的中間人。16EJB容器(續(xù))一致性安全性可獲得性生命周期管理事務性分布性可伸縮性持久性17EJB對象EJB對象——請求攔截器EJB對象是一種代理對象,具有網絡功能,執(zhí)行事務處理,提供安全措施等。在Bean類實例響應方法調用之前,EJB對象知道如何執(zhí)行EJB容器所要求的中間邏輯。EJB對象復制并公開Bean本身具有的所有公開商務方法,把客戶端所有的請求傳遞給Bean。EJB對象是EJB容器本身的一部分,所有的EJB對象都包含與特定EJB容器有關的代碼。EJB容器自動生成EJB對象的類文件。18EJB對象(續(xù))19Home對象客戶端如何獲得對EJB對象的引用?Home對象是EJB對象的生成庫,負責對EJB對象的實例化和回收。主要職責:生成EJB對象查找現(xiàn)有的EJB對象刪除EJB對象對于每個EJB容器,Home對象都是專用的,特定的,是EJB容器的一部分,由EJB容器提供商提供的軟件工具自動生成。20Home接口Home對象如何知道怎樣初始化EJB對象?Home接口定義一組方法來創(chuàng)建新的EJB對象,查找、定位和清除已有的EJB對象。Home接口僅僅定義生成、回收、查找EJB對象方法,具體的由Home對象來實現(xiàn)。Home接口必須擴展javax.ejb.EJBHome
接口,而該接口又從java.rmi.Remote擴展而來,因此Home對象是完全具有網絡功能。EJB構件部署時容器會自動生成相應Home對象。21Home接口和Home對象22本地接口本地接口是EJB2.0的新功能,它實現(xiàn)通過本地對象以一種快速、高效的方式調用EJB。本地對象實現(xiàn)本地接口,過程如下:客戶調用本地對象;本地對象完成所需中間件服務;本地對象調用EJB實例完成相應服務后,將控制權返回給本地對象,本地對象再將控制權返回給客戶。缺陷:只有在同一進程中調用Bean時,才有效。通過引用而不是通過值傳遞參數(shù)。23部署描述部署描述聲明一個指定的Bean應該如何使用中間件,而不是編寫代碼使用中間件。部署描述可用來描述下列要求:Bean的管理和生命周期要求持久性要求事務處理要求安全性要求部署描述是一個XML文件。部署描述實現(xiàn)了不改變EJB組件源代碼就調整組件使之適用于特定的部署應用環(huán)境。24供應商特有文件每個EJB服務器供應商都有一些自己獨特的增值特性,EJB規(guī)范沒有涉及這些特性,例如,怎樣配制裝載平衡、群集、監(jiān)控等。EJB服務器供應商一般要求包括一些供應商特有文件,例如,XML文件、文本文件或者二進制文件。供應商特有文件不能在不同應用服務器之間移植。25Ejb-jar文件Ejb-jar文件是一個.zip壓縮文件,包含Bean類、Home接口、Remote接口及部署描述文件。Ejb-jar文件一旦生成,即代表EJB設計完成,可成為應用服務器的一個可部署應用單元了。部署EJB時,EJB容器提供商提供解壓縮工具讀取和提取Ejb-jar文件內的信息,部署員從而執(zhí)行其特定的任務。Ejb-jar文件是所有EJB工具都必須支持的標準特性。26Ejb-jar文件(續(xù))27EJB服務器/EJB容器客戶名稱服務HOME對象EJB對象EJB實例J2EE服務JNDI1、客戶檢索Home對象引用2、返回Home對象引用5、返回EJB對象引用3、創(chuàng)建或查找EJB對象6、調用業(yè)務方法9、將方法返回值傳給客戶Home接口Remote接口4、創(chuàng)建或查找EJB對象8、返回方法7、取得Bean實例并將方法傳給它容器控制調用中間件API客戶與EJB的交互過程28EJB角色及生命周期圖企業(yè)bean提供者企業(yè)bean應用程序組裝者應用程序配置者容器EJB容器提供者EJB服務提供者系統(tǒng)管理員服務器管理工具開發(fā)配置與執(zhí)行3.3EJB角色29企業(yè)bean提供者是金融或電信等應用領域的專家。提供了業(yè)務方法,定義了beans的遠端調用接口和Home接口,還定義了beans的配置描述符。不需要關心分布處理、事務處理、安全性能等方面的問題。30應用程序組裝者負責將定制的企業(yè)beans和其他的構件組裝成一個完整的應用系統(tǒng)。接受企業(yè)beans提供者輸出的EJB-jar文件作為自己的輸入,在配置描述符中插入應用程序組裝指令。必須掌握所有的EJB的遠端調用接口和Home接口,而不關心這些接口是怎么實現(xiàn)的。31配置者配置者負責將ejb-jar文件配置到用戶的系統(tǒng)環(huán)境中。系統(tǒng)環(huán)境包含某種EJBServer和EJB容器。配置者必須保證所有在配置文件中聲明的資源可用。配置過程1.利用EJB容器提供的工具生成一些類和接口,使EJB容器能夠利用這些類和接口在運行狀態(tài)管理EJB。2.安裝EJB組件和其他在上一步生成的類到EJB容器中。配置者是某個EJB運行環(huán)境的專家。某些情況下,配置者在配置時還需要了解EJB包含的業(yè)務方法,以便在配置完成后,寫一些簡單的程序測試程序。32EJB容器提供者提供EJB容器,為已配置成功的EJB組件提供運行環(huán)境。EJB容器負責為EJB應用提供服務。容器提供者必須是系統(tǒng)級的編程專家,還要具備一些應用領域的經驗。工作主要集中在開發(fā)一個可伸縮的、具有交易管理功能的集成在EJB服務器中的容器。容器提供者為EJB組件開發(fā)者提供了一組標準的、易用的API訪問EJB容器。容器提供者負責提供系統(tǒng)監(jiān)測工具用來實時監(jiān)測EJB容器和運行在容器中的EJB組件狀態(tài)。33EJB服務器提供者EJB服務器提供者是系統(tǒng)領域的專家,精通分布式交易管理,分布式對象管理及其它系統(tǒng)級的服務。EJB服務器提供者一般由操作系統(tǒng)開發(fā)商、中間件開發(fā)商或數(shù)據(jù)庫開發(fā)商提供。在目前的EJB規(guī)范中,假定EJB服務器提供者和EJB容器提供者來自同一個開發(fā)商,所以,沒有定義EJB服務器提供者和EJB容器提供者之間的接口標準。34系統(tǒng)管理員系統(tǒng)管理員負責為EJB服務器和容器提供一個企業(yè)級的計算和網絡環(huán)境。系統(tǒng)管理員負責利用EJB服務器和容器提供的監(jiān)測管理工具監(jiān)測EJB組件的運行情況。353.4會話Bean會話bean(維護會話):模擬商務處理過程對象,表示客戶所要完成的工作,如電子商店的購物車。36會話Bean37會話Bean38會話Bean會話Bean——商務處理過程會話Beans分無狀態(tài)和有狀態(tài)兩種。無狀態(tài)的會話Beans通常模擬商業(yè)邏輯,比如匯率轉換、計算商品價格等。有狀態(tài)的會話Beans通常模擬商業(yè)過程,它會臨時保存客戶信息。一個會話Beans的典型例子是網上的購物車。兩種會話Beans都不保存狀態(tài)信息或數(shù)據(jù),當客戶斷開連接或服務器關閉時,會話Beans隨之消失。393.4.1開發(fā)無狀態(tài)會話Bean1、什么是無狀態(tài)會話Bean——Stateless無狀態(tài)會話Bean每次調用只對客戶提供業(yè)務邏輯,但不保存客戶端的任何數(shù)據(jù)狀態(tài)。無狀態(tài)會話Bean的狀態(tài),被保持在客戶端,容器不負責管理。無狀態(tài)會話Bean在EJB中是最簡單的一種Bean,如果數(shù)據(jù)實際上是瞬時映像,則建議使用無狀態(tài)會話Bean。如果數(shù)據(jù)狀態(tài)非常敏感,則不要使用無狀態(tài)會話Bean,這些情況可以使用有狀態(tài)會話Bean,將用戶狀態(tài)保存到服務器中。402、無狀態(tài)會話Bean生命周期無狀態(tài)會話Bean壽命周期由容器控制。當部署一個EJB時,容器會為這個Bean分配幾個實例到組件池中;當客戶請求一個Bean時,J2EE服務器將一個預先被實例化的Bean分配出去;空閑的Bean不在方法中或事務中;客戶長時間不用;如果全部的實例都已用完則會自動生成一個新的實例放到池中,并分配給請求者。41無狀態(tài)會話Bean生命周期無狀態(tài)會話Bean有兩種狀態(tài):存在或不存在。42無狀態(tài)會話Bean創(chuàng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 溝通與協(xié)調打造和諧職場環(huán)境
- 生態(tài)建筑引領未來商業(yè)趨勢
- 現(xiàn)代科技在股票市場分析中的應用
- 校園餐飲消費大數(shù)據(jù)洞察學生消費習慣
- 2024年八年級生物下冊 6.2.1遺傳說課稿 (新版)冀教版
- 2024年八年級物理下冊 8.1認識壓強說課稿 (新版)粵教滬版
- 14《普羅米修斯》(說課稿)2024-2025學年-統(tǒng)編版語文四年級上冊
- 2024年五年級數(shù)學下冊 五 分數(shù)除法練習五說課稿 北師大版
- 2024-2025學年高中歷史 專題1 中國傳統(tǒng)文化主流思想的演變 3 宋明理學說課稿 人民版必修3
- 2024-2025學年八年級物理下冊 第十章 從粒子到宇宙 10.1 認識分子說課稿 (新版)粵教滬版
- 圓筒混料機-設計說明書
- 蓋板涵施工工藝流程配圖豐富
- 中央導管相關血流感染防控
- 混合動力汽車發(fā)動機檢測與維修中職PPT完整全套教學課件
- 2023年副主任醫(yī)師(副高)-腫瘤內科學(副高)考試歷年真題薈萃帶答案
- 產時子癇應急演練文檔
- 小學美術-《神奇的肥皂粉》教學設計學情分析教材分析課后反思
- 測量管理體系內審檢查表
- 信號與系統(tǒng)復習題及答案
- 班組月度考核評分表
- 部編版一年級下冊《道德與法治》教學工作計劃及全冊教案
評論
0/150
提交評論