国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

繞過Java開發瓶頸 解析EJB編程限制二

2019-11-18 10:47:54
字體:
來源:轉載
供稿:網友

  java2平臺的安全策略
  
  以上所列的特點事實上正是Java編程語言和Java2標準版中的標準的、強有力的特色。EJB容器答應從J2SE中使用一些或全部的受限制的特色,盡管對于EJB組件是不可用的,但需通過J2SE的安全機制來使用而不是通過直接使用J2SE的API。
  
  Java2平臺為EJB1.1規范中的EJB容器所制定的安全策略定義了安全許可集,這些許可在EJB組件的編程限制中出現。通過這個策略,定義了一些許可諸如:java.io.FilePermission,java.net. NetPermission,java.io.reflect.ReflectPermissionjava. lang.security.SecurityPermission,以便加強先前所列出的編程限制。
  
  許多EJB容器沒有加強這些限制,他們希望EJB組件開發者能遵守這些編程限制或者是帶有冒險想法違反了這些限制。違反這些限制的EJB組件,比標準方法依靠過多或過少的安全許可,都將很少能在多個EJB容器間移植。
  
  另外,代碼中都將隱藏著一些不確定的、難以猜測的問題。所有這些都足以使EJB組件開發者應該知道這些編程限制,同時也應該認真地遵守它們。
  
  任何違反了這些編程限制的EJB組件的實現代碼在編譯時都不能檢查出來,因為這些特點都是Java語言和J2SE中不可缺少的部分。
  
  對于EJB組件的這些限制同樣適用于EJB組件所使用的幫助/訪問(helper/access)類,J2EE應用程序使用Java文檔(jar)文件格式打包到一個帶.ear(代表EnterPRise Archive)擴展名的文件中,這個ear文件對于發送給文件部署器來說是標準的格式。
  
  ear文件中包括在一個或多個ejb-jar文件中的EJB組件,還可能有ejb-jar所依靠的庫文件。所有ear文件中的代碼都是經過深思熟慮開發的應用程序并且都遵守編程限制和訪問許可集。
  
  未來版本的規范可能會指定通過部署工具來定制安全許可的能力,通過這種方法指定了一個合法的組件應授予的許可權限,也指定了一個標準方法的需求:如從文件系統中讀文件應有哪些要求。一些EJB容器/服務器目前在它們的部署工具中都提供了比標準權限或多或少的許可權限,這些并不是EJB1.1規范中所需要的。
  
  理解這些約束
  
  EJB容器是EJB組件生存和執行的運行期環境,EJB容器為EJB組件實例提供了一些服務如:事務治理、安全持久化、資源訪問、客戶端連接。EJB容器也負責EJB組件實例整個生命期的治理、擴展問題以及并發處理。所以,EJB組件就這樣借居在一個被治理的執行環境中--即EJB容器。
  
  EJB容器也是EJB組件和外部世界的中間者,它提供了客戶連接服務來答應應用程序客戶訪問和使用EJB組件所提供的功能,EJB容器通過bean的Remote和Home接口介入每一個對EJB對象方法的調用。
  
  EJB容器也是EJB組件和訪問其它各種資源和服務的中間人,因為EJB容器介入應用組件和J2EE服務,它可以透明地引入組件部署描述符所定義的服務,如:事務治理、安全、持久化、并發處理和狀態治理。
  
  資源就是一個封裝了訪問資源治理器的對象,因為一個資源工廠就是一個用來建造資源的對象。例如,一個JDBC連接代表一個實現了java.sql.Connection接口的對象,它是用來提供訪問數據庫治理系統的資源,并且實現了javax.sql.DataSource接口的對象是一個這樣JDBC連接的資源工廠。同樣,定義了許多獲得JMS、JavaMail以及URL連接的資源工廠,目前除此之外沒有其它的資源工廠了。
  
  J2EE連接體系結構,目前正在修改,將期盼著包括J2EE未來版本的規范,這個連接體系結構定義了標準的資源適配器和依附于連接、事務、安全治理的合同,所以應用服務器將以標準和統一的方式插入各種企業信息系統,包括ERP(如SAP R/3),主框架事務處理系統和數據庫系統。
  
  因為EJB容器完全負責EJB組件的生命期、并發處理、資源訪問、安全等等,所以與容器本身的鎖定和并發治理相沖突的可能性就需要消除,許多限制都需要使用來填上潛在的安全漏洞。
  
  除了與EJB容器責任與安全沖突的問題,EJB組件還意味著僅僅聚焦于商務邏輯,它依靠于EJB容器所提供的服務而不是自己來直接解決底層的系統層的問題。
  
  可能的問題
  
  通常,EJB組件在容器之間的移植不可避免地與如下問題相關:
  
  1.它需要依靠的受限制的特點在特定EJB容器中沒有得到加強。
  
  2.它需要依靠的非標準的服務從容器中可獲得。
  
  為了保證EJB組件的可移植性和一致的行為,你應該使用一個具有與Java2平臺安全策略集相一致的策略集的容器來測試EJB組件,并且其加強了前述的編程限制。
  
  總結
  
  EJB組件開發者應該知道這些推薦的關于EJB組件的編程限制,明白它們的重要性,并且從組件的穩定性和可移植性利益方面考慮來遵循它們。因為這些編程限制能阻止你使用標準的Java語言的特點,違反了這些編程限制在編譯時不會知道,并且加強這些限制也不是EJB容器的責任。
  
  所有這些原因都使你應很小心地遵守這些編程限制,這些限制在組件的合同中已經成為了一個條款,并且它們對于建造可靠的、可移植的組件是非常重要的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌拉特后旗| 论坛| 乐业县| 晋中市| 五台县| 且末县| 南充市| 江陵县| 定西市| 五常市| 广丰县| 会泽县| 贵港市| 岐山县| 克拉玛依市| 秦皇岛市| 乐清市| 确山县| 渑池县| 闸北区| 朝阳区| 东丰县| 驻马店市| 峨山| 高州市| 理塘县| 沅陵县| 蓝山县| 星子县| 襄垣县| 海兴县| 库伦旗| 庐江县| 通许县| 清远市| 酉阳| 天门市| 和平县| 乡宁县| 永德县| 肃南|