1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是osgi

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 隱藏實作細節 HIDE IMPLEMENTATION DETAILS 設想情境:當你寫一個API提供顧客使用,你必須將你的實作都使用public方式公開。有一天,公司想要更新一個新的版本,你提供了新的實作。這時,顧客打來罵人,說新的實作使顧客的程式碼當掉。公司回應:請不要使用我們的實作,只要使用API就好… … 不如,隱藏實作,公開API就好 OSGi把bundle的實作和介面分開。使用者用介面,OSGi框架會替使用者找到最適合的實作 * 動態載入(DYNAMIC LOADING) 取代了JAVA的麻煩的擴充機制,不需要將檔案放到特殊位置,只要將所需的擴充套件直接安裝到OSGi的架構上 傳統的JAVA使用Class.forName動態載入,OSGi只要在清單標頭加入DynamicImport-Package:所要使用的套件 * 動態化JAVA的開放服務平台 即插即用 熱部屬 即刪即無 OSGI = 模組化、動態化JAVA OSGi 技術是Java的動態模組化系统 OSGi使得軟體的重複使用性變得可能,系統可以很容易加入新的更新軟體,使軟體的維護更新變得容易 * OSGI成功案例 - ECLIPSE Equinox開發小組由IBM的Jeff所帶領的。Equinox是Eclipse中以實做OSGi R4 RI 標準而知名。 Eclipse 3.1以後的版本,plugins裡內建Equinox 最新版本: (helios) 其他有名的插件體系架構:ant、maven * 前進OSGI OSGI帶來的是設計思想以及開發方式的改變,這也就一定程度上要求系统設計師以及程序開發人员要接受一種新的開發方式,簡單說就是要讓你以jsp+javabean的方式轉為採用MVC框架的方式 Java?Swing是一個標準的MVC結構. ComponentUI代表View, 負責描畫元件. 元件尤其Model層, 比如JTextField的Document, JTable的TableModel, JTree的TreeModel等等. 而Control可能不是很明顯, 我們或許可以簡單的將其Event機制看作一個Swing團隊開發給開發者的Controller. 作為Java開發者, 如果想理解MVC的結構, 學習Swing的確是個不錯的選擇. * MVC框架 筋骨皮模式(Model模型-View檢視-Controller控制器)是軟體工程中的一種軟體架構模式 筋(控制器Controller)- 負責轉發請求,對請求進行處理。 表皮(檢視View) - 介面設計人員進行圖形介面設計。 骨架(模型Model) - 程式設計師編寫程式應有的功能(實作演算法等等)、資料庫專家進行資料管理和資料庫設計(可以實作具體的功能)。 * 決戰客廳! 家用閘道器(Residential Gateway,RG) ?連接內外網路 RG 設備、網路環境 供應商- 應用程式 加值性服務 * OSGI的目標 OSGi的提出和誕生之初,其目的主要是能夠靈活方便並遠程管理互聯的網絡嵌入設備。 使用Java語言達到動態(dynamic)載入程式碼,在記憶體小的設備中,更容易動態部屬(deployment)。 連續性的程式寫作模式、非成對(decoupling)的服務標準:相同介面有不同的實作、針對介面使用服務 模組化的設計,使得OSGi框架更適用於各種不同的設備。例:儲存資料在有硬碟的設備和無硬碟設備,可以有相同的介面,不同的實作 生命週期管理(life cycle management),使開發者可將應用程式分成許多小的自我安裝元件(bundles)。容易地安裝、卸載並與其他元件互動(透過service)。 * OSGI框架重點 OSGi框架用來產生可擴充性的服務(extensible service),開發者利用bundle來包裝servive,應用程式則用許多的bundle所組成。目標設備會下載bundle,服務(service)的設計必須有全面的系統功能。 三個設計重點: Services -由Java classes組成,常將介面與實作分開寫作。 Bundles -功能獨立,部屬的單位,用來運送服務(shipping) Bundle contexts -決定bun

文档评论(0)

wujianz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档