亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

什么是 Enterprise JavaBeans 組件(3)

2019-11-18 12:36:02
字體:
來源:轉載
供稿:網友

  本文的第 3 部分說明 EnterPRise javaBeans 組件的部署過程,部署并不僅僅是安裝,因為它通常還涉及代碼生成。部署還使用了一個非凡的部署描述符文件,此文件支持控制企業級 bean 行為(如某個 bean 是否需要事務)的參數。bean 部署的這一特性支持 bean 行為的說明性、綱領性規范的 EJB 目標。第 3 部分還比較了持久性的兩種主要類型,bean 治理式持久性和容器治理式持久性,并討論了 EJB 組件與 CORBA 的關系。同時還給出了一個簡單的三層 EJB 應用程序。
  
  部署過程
  Enterprise JavaBeans (EJB) 組件是在稱為部署的特定過程中安裝的。由容器組件提供對部署過程的支持。在高級別上,部署由下列步驟組成:
  
  bean 的開發人員創建必需的類文件、接口文件和控制信息。
  容器分析輸入文件并生成必要的類。
  容器將條目添加到指向本地對象的 JNDI 命名空間中。
  EJB 組件的開發人員編寫 bean 的 Java 源文件,此文件包含為這個 bean 提供功能的業務邏輯方法,還包括 ejbCreate() 方法。bean 類還必須實現 javax.ejb.sessionBean 接口或 javax.ejb.EntityBean 接口。此外,bean 的開發人員編寫接口文件,定義對 javax.ejb.EJBHome 接口和 javax.ejb.EJBObject 接口的擴展。EJBHome 接口的擴展,稱為 bean 的本地接口,包含一個創建方法,并且假如 bean 是一個實體 bean,它還會包含一個 finder 方法。EJBObject 接口的擴展,稱為 bean 的遠程接口,指定在 bean 本身中定義的業務邏輯方法。
  
  bean 的開發人員提供由部署描述符、環境屬性和清單式文件組成的控制信息。
  
  部署描述符是 javax.ejb.deployment.SessionDescriptor 對象或 javax.ejb.deployment.EntityDescriptor 對象的序列化實例。
  環境屬性作為鍵-值對存儲在一個文件中,可通過 java.util.Properties 對象訪問此文件。
  清單式文件是標識企業級 bean 及其相關文件所必需的。
  企業級 bean 的類文件、這兩個接口的類文件、部署描述符文件、環境屬性文件和清單式文件都是使用名為 ejb-jar 的文件格式歸檔的。所生成的 ejb-jar 文件提供給容器,作為部署過程的輸入。
  
  在部署時,容器分析 ejb-jar 文件的內容,并采取必要的操作使此 bean 可用。這些操作包括:生成實現 bean 的本地和遠程接口的新 Java 類,將本地接口實現綁定到 JNDI 命名空間中,生成樁模塊和 skeleton helper 類,后者是支持 RMI 通信所必需的。容器也可以生成 bean 的子類,并入容器專用的代碼,以方便對 bean 的治理。部署時由容器生成的類通常是容器專用的,而不像 EJB 組件本身那樣具有可移植性。
  
  持久性、事務和安全
  在為 EJB 組件提供持久性、事務和安全服務方面,EJB 容器可扮演主要角色。是將這些服務的職責指定給容器,還是假定職責由 bean 自身負責,EJB 規范為 bean 的開發人員提供了靈活性。例如,對實體 bean 的持久性支持既可以由 bean 治理,也可以由容器治理。假如 EJB 組件開發人員選擇使用容器治理式持久性,他們就會在部署描述符中添加一個稱為 containerManagedFields 的屬性。根據 EJB 規范:
  
  “containerManagedFields 屬性的值是一個實例字段列表,企業級 bean 提供者希望,容器通過從數據庫加載或將其存儲到數據庫,來治理這些實例字段。企業級 bean 代碼不應該包含任何數據庫訪問調用 -- 數據庫訪問調用將由容器工具在部署時生成。
  
  “專用于提供容器治理式持久性支持的容器,通常將提供豐富的部署時工具,以答應企業級 bean 部署者建立實例字段到基礎數據源的映射。一般認為,盡管容器提供者的工具簡化了映射進程,但映射進程仍可能涉及到 bean 部署者(即映射進程不是全自動的)?!?Enterprise JavaBeans Specification 1.0)
  
  除了支持容器治理式持久性以外,EJB 體系結構還支持容器對事務的治理。該規范規定:
  
  
  “Enterprise JavaBeans 是一種高級組件框架,它試圖使應用程序開發人員不面對系統的復雜性。因此,大多數企業級 bean 及其客戶機不需要通過程序訪問事務治理。”(Enterprise JavaBeans Specification 1.0)
  
  當 bean 的開發人員依靠容器進行事務治理時,就稱為容器治理式定界,容器使用在部署時提供的事務屬性:
  
  “無論客戶機何時調用企業級 bean,容器都會介入這個方法調用。這種介入答應容器通過事務屬性顯式控制事務定界。例如,假如企業級 bean 部署了 TX_REQUIRED 事務屬性,則無論何時,只要客戶機調用支持事務的企業級 bean,容器就會自動啟動事務,而客戶機并不與任何事務上下文相關聯?!?Enterprise JavaBeans Specification 1.0)
  
  假如開發人員選擇在 bean 內支持事務,則他們在部署描述符中指定 TX_BEAN_MANAGED 事務屬性,然后就可以在 bean 自身內部自由使用 javax.transaction.UserTransaction 接口劃分事務邊界。通過認出 TX_BEAN_MANAGED 事務屬性,容器就能知道不必介入事務支持。
  
  通過增強 accessControlEntry 對象和 RunAs 安全標識中指定的限制,容器為 EJB 組件提供安全支持。AccessControlEntry 對象在 bean 級別上或針對單個方法,將 Identity 對象與企業級 bean 相關聯。Identity 對象反映答應調用 bean 的方法的用戶或角色。當容器試圖訪問數據源或另一個 bean 時,它們也會將 RunAs 安全身份應用于 EJB 組件??蓪?RunAs 身份設置為等同于某個特定用戶帳戶、有權限的系統帳戶或客戶機安全身份。訪問控制和 RunAs 的信息是 bean 的開發人員在部署描述符中指定的,將影響容器治理 bean 的與安全有關的行為方式。
  
  雖然 EJB 1.0 規范也提到安全問題,但更具體的安全功能定義,見該規范的后續版本。
  
  CORBA 和 EJB 技術的關系
  公用對象請求代理程序體系結構 (CORBA) 為分布式對象的平臺中立和語言中立的計算環境奠定了基礎。在 CORBA 環境中,功能駐留于對象之中,而客戶機可通過對象請求代理程序 (ORB) 訪問這些對象。完整的 CORBA 實現提供 ORB,外加稱為 CORBA 對象服務和 CORBA 公用工具的幾個運行時服務。也可只提供 ORB,不提供相關聯的對象服務和公用工具(例如,IBM 就提供這樣的兩種獨立 ORB)。實現基本 ORB 功能的軟件稱為 ORB 核心。為了支持語言無關性,CORBA 應用程序是用接口定義語言 (IDL) 編寫的。該語言在語法上類似于 C++,但不包含語義:IDL 中指定的操作是操作接口,而不是操作實現。由于它對多種平臺和多種語言的支持,以及源自其分布式特征的可伸縮性,CORBA 非常適合于治理企業規模的信息系統。
  
  設計 EJB 規范也是為了支持企業信息系統。這樣說來,CORBA 是一個競爭者嗎?根據 Frequently Asked Questions for Enterprise JavaBeans,答案是否定的:
  
  “實際上,EJB 技術很好地補充了 CORBA。CORBA 提供了一個強大的基于標準的基礎結構,可在此結構之上構建 EJB 服務器。EJB 技術使得在 CORBA 基礎結構的頂層構建應用程序變得更為輕易?!保‥nterprise JavaBeans 常見問題解答)
  
  雖然 EJB 規范和 CORBA 規范說明的是不同的技術,但 EJB 實現目前利用 CORBA 技術的某些方面。一個例子就是 RMI/IIOP。EJB 規范要求 EJB 組件及其容器使用 Remote Method Invocation (RMI) 技術,實現分布式對象之間的方法調用。 RMI 規定遠程方法的語法和語義,但并不規定應使用何種傳輸協議提供網絡連接。CORBA Internet 對象請求代理程序間協議 (IIOP) 基本上定義了通過 TCP/IP 傳輸 CORBA 消息的一種方法。開發使用 IIOP 消息形式交換 RMI 數據的 EJB 實現,說明了 EJB 應用程序怎樣才能有效地使用 CORBA 技術的各部分。這種網絡也支持與 CORBA 應用程序的互操作性,后者使用 IIOP 發送本地 CORBA 消息,與 RMI 無關。IBM 的 EJB 實現,即 WebSphere application Server,優化了 IIOP 的使用,方法是,弄清楚分布式對象何時駐留在同一臺服務器上,并且只在對象確實在遠程時才調用 IIOP。
  
  為了方便既并入 EJB 技術,又并入 CORBA 技術的企業系統的開發,Sun Microsystems 在 EJB 規范和 CORBA 之間創建了一種映射。將 EJB 體系結構映射到 CORBA,影響到 EJB 技術的幾個方面,包括對象分布、命名和事務。CORBA 映射的主要目的是,保證不同廠商構建的 EJB 服務器之間的互操作性?;ゲ僮餍蕴峁┮韵潞锰帲?
  
  CORBA 客戶機可以訪問部署在基于 CORBA 的 EJB 服務器上的 EJB 組件
  客戶機程序在事務中可以將對 CORBA 對象的調用,與對企業級 bean 的調用混合在一起
  事務可以跨多個 bean,而這些 bean 又位于來自不同廠商的基于 CORBA 的多臺 EJB 服務器上
  使用來自某個廠商的 ORB 的客戶機,可以訪問另一個廠商基于 CORBA 的 EJB 服務器上的 bean
  對于要訪問 EJB 組件的 CORBA 客戶機來說,bean 接口被映射到 IDL。例如,可將股票交易 bean 中定義的 buy() 和 sell() 方法,指定為 IDL 文件中的 CORBA 操作。非 bean 的 CORBA 客戶機,如 C++ 客戶機,可以訪問這個 bean,并用標準 CORBA 調用來調用 bean 的方法。假如容器使用 IIOP 作為它的分布式對象協議,則該容器的職責是,生成與企業級 bean 及其接口對應的 IDL。
  
  EJB 命名服務,它以“CORBA 對象服務”命名服務為基礎,使 EJB 組件可用于 CORBA 客戶機。Java Naming and Directory Interface (JNDI) 可提供到 CORBA 命名服務的接口,同時,客戶機既可以通過 JNDI 調用間接訪問基礎命名服務,也可以通過“CORBA 對象服務” (COS) 命名 API 直接訪問該服務。
  
  EJB 事務支持依靠于 CORBA Transaction Service,即 Object Transaction Service (OTS)。Java T

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频在线免费看| 亚洲国产成人精品久久| 久久综合国产精品台湾中文娱乐网| 欧美极品少妇与黑人| 在线亚洲国产精品网| 欧美黑人狂野猛交老妇| 亚洲一二三在线| 91在线视频导航| xxxx欧美18另类的高清| 久久亚洲精品国产亚洲老地址| 成人午夜激情网| 91精品久久久久久久久| 国产视频亚洲精品| 国产在线观看不卡| 日韩欧美亚洲综合| 久久精品电影网| 欧美性猛交99久久久久99按摩| 国产在线观看精品一区二区三区| 亚洲精品久久久久久久久| 国产精品网红福利| 91免费的视频在线播放| 久久精品国产精品| 国产69精品久久久久久| 伊人久久大香线蕉av一区二区| 欧美精品亚州精品| 精品视频在线导航| 日韩高清有码在线| 福利二区91精品bt7086| 亚洲国产欧美在线成人app| 欧美电影免费观看| 精品国产一区二区三区在线观看| 久久精品视频免费播放| 欧洲亚洲免费在线| 一本色道久久综合亚洲精品小说| 亚洲免费视频一区二区| 亚洲欧美日韩精品| 欧美大码xxxx| 日韩禁在线播放| 亚洲国产天堂网精品网站| 欧美极品少妇xxxxⅹ免费视频| 亚洲欧美一区二区三区在线| 色婷婷综合久久久久中文字幕1| 高清亚洲成在人网站天堂| 亚洲精品一区二区网址| 91久久国产精品| 亚洲国产精品高清久久久| 在线观看视频99| 国产成+人+综合+亚洲欧美丁香花| 456亚洲影院| 51色欧美片视频在线观看| 色综合天天狠天天透天天伊人| 国产精品嫩草影院一区二区| 5252色成人免费视频| 久久天天躁夜夜躁狠狠躁2022| 亚洲精品视频中文字幕| 91国产一区在线| 91亚洲国产成人久久精品网站| 欧美黑人狂野猛交老妇| 欧美成人精品一区二区三区| 国产精品丝袜视频| 国产精品成人免费视频| 久久亚洲影音av资源网| 欧美激情国产日韩精品一区18| 中文字幕在线看视频国产欧美在线看完整| 国产一区二区三区丝袜| 日韩中文字幕视频| 78m国产成人精品视频| 国产欧美日韩中文字幕在线| 久久精品国产亚洲精品2020| 久久综合免费视频| 国产一区二区久久精品| 日韩中文字幕网站| 国产日韩中文字幕在线| 中文字幕综合在线| 精品一区二区三区三区| 国语自产精品视频在线看| 中文字幕亚洲欧美日韩2019| 波霸ol色综合久久| 青青a在线精品免费观看| 亚洲国产精品久久久| 久久综合伊人77777尤物| 尤物九九久久国产精品的分类| 欧美中文在线字幕| 亚洲国产欧美一区| 日本一区二区三区在线播放| 欧美视频在线免费看| 亚洲理论片在线观看| 成人乱色短篇合集| 91精品国产91久久久久久久久| 久青草国产97香蕉在线视频| 国产精品最新在线观看| 亚洲国产精品一区二区三区| 国产亚洲精品久久久优势| 成人av资源在线播放| 亚洲精品中文字| 精品视频一区在线视频| 欧美成人激情在线| 久久69精品久久久久久国产越南| 成人av色在线观看| 国产极品精品在线观看| 97av在线视频免费播放| 国产精品久久久久久久久久尿| 欧美丰满少妇xxxxx| 一本色道久久88精品综合| 日韩av电影中文字幕| 一区二区国产精品视频| 日韩精品在线免费观看| 欧美巨大黑人极品精男| 精品国内产的精品视频在线观看| 国产精品日日做人人爱| 日韩不卡在线观看| 国产婷婷色综合av蜜臀av| 岛国av一区二区在线在线观看| 国产亚洲精品成人av久久ww| 久久精品2019中文字幕| 日韩www在线| 69久久夜色精品国产7777| 久久久久久久久亚洲| 欧洲s码亚洲m码精品一区| 亚洲国产欧美一区二区三区久久| 色综合久久88色综合天天看泰| 色婷婷**av毛片一区| 欧美黑人xxx| 欧美午夜影院在线视频| 日韩av在线网| 91亚洲国产成人久久精品网站| 亚洲成色777777在线观看影院| 日韩精品小视频| 日本三级久久久| 超碰精品一区二区三区乱码| 欧美成年人视频网站| 欧美午夜视频在线观看| 国产成人小视频在线观看| 久久免费视频这里只有精品| 亚洲美女黄色片| 欧美电影免费观看高清| 欧美专区在线视频| 久久国产色av| 成人日韩在线电影| 欧美视频国产精品| 九九热这里只有精品免费看| 日韩激情av在线播放| 欧美成人免费大片| 2020国产精品视频| 久久久综合av| 久久久久九九九九| 国产精品免费久久久| 日韩在线观看免费全集电视剧网站| 精品丝袜一区二区三区| 精品国产依人香蕉在线精品| 欧美激情三级免费| 国产成人jvid在线播放| 成人自拍性视频| 亚洲欧美日韩国产精品| 疯狂做受xxxx高潮欧美日本| 成人伊人精品色xxxx视频| 亚洲第一精品自拍| 91亚洲va在线va天堂va国| 国产精品一区av| 疯狂做受xxxx高潮欧美日本| 91精品国产高清自在线看超| 成人h片在线播放免费网站| 国产欧美日韩91| 欧美电影电视剧在线观看|