<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-1  評論-9  文章-7  trackbacks-0

    OSGi誕生初期,其目的主要是能夠靈活方便并遠程管理互聯的網絡嵌入設備,OSGi聯盟上對于OSGi service platform有這樣一句解釋:The OSGi service platform delivers an open, common architecture for service providers, developers, software vendors, gateway operators and equipment vendors to develop, deploy and manage services in a coordinated fashion.OSGi service platform是一個開放并且提供通用接口標準的體系框架,基于這個體系框架,服務提供商,程序開發人員,軟件提供商,服務網管運營商,設備提供商能夠協調地聯合起來開發,部署以及管理向用戶提供的各種服務)。隨著OSGi的發展,逐漸被引入到企業應用領域。

    目前,OSGi規范的最新版本為R4.2,有關該規范的詳細情況請閱讀OSGi實戰的第7節——深入OSGiOSGi框架主要分為四部分:運行環境(executionenvironment)、模塊(Modules)、生命周期管理(Life Cycle)、服務注冊(Service Registry)。運行在OSGi環境中的是一個個的Bundle,也就是Modules的具體實現。

    對于每個bundle,都有各自的ClassLoader,在這一點上和傳統的Web應用有相似之處,在傳統的Web應用開發完成之后,都會將其部署在TomcatJboss等服務器上,這些Web應用都有著各自的ClassLoader環境,而兩者之間的區別在于,傳統的Web應用無法做到資源的共享,因為它們是完全獨立、隔離的。OSGi框架為bundle之間的協作提供了底層支持,通過在bundleMANIFEST.MF文件中Import-PackageExport-Package等項,bundle之間就能相互共享資源及服務,在以后的博文中,我將給出一個具體的示例。

    由于OSGi具有良好的模塊化結構,我個人認為這將為將來的軟件開發方式帶來很大的沖擊,將更進一步推進模塊化開發。目前Web應用的開發一般采用SSH框架,將整個應用大致分為Web(負責前臺展現)、Service(負責業務邏輯處理)、DAO(負責數據持久化)、Domain(全局實體類)幾個模塊,而發布的時候,將被一起打成WAR包,部署至服務器上。如果采取bundle的形式,每個模塊可以做為獨立的bundle進行開發和部署,bundle之間的協作可以通過上述的方式進行,而這樣帶來的好處就是,一旦需要對某個模塊進行更改,在保證依賴接口不變的前提下,就可以單獨更改相應的bundle,再進行熱部署即可,這樣一來,好處是顯而易見的,有效的分離了各個模塊,減少了維護成本。

    由于采用bundle的形式,也增強了模塊的復用性。這也是得益于OSGi良好的模塊化方式。

    另外一個很重要的點就是OSGi具備熱拔插特性,bundle的安裝、啟動、停止、卸載都可以在運行時指定,并且可以隨時更改。這樣一來,我們就可以做到無需重啟整個應用,而只對需要更改的部分進行升級或打補丁即可。Bundl的狀態圖轉換如下圖所示:


    1 OSGi bundle狀態轉換圖

    以上將OSGi的一些基本的,但也是很重要的東西大概介紹了一下,在以后的博文中逐步深入吧。以上都是關于OSGi原理性的東西,那么實現該規范的有哪些產品呢?最有名的應該要數EclipseEquinox框架了,在網上查資料見有人說過,Eclipse3.0的那一次升級把自身的構架做了一次非常大的調整,其主要原因就是采用了OSGi框架,更好的支持了Eclipse的插件體系。另外還有Felixknopflerfish等。

    不過話說回來,盡管OSGi有很多好處,但是現在主要還是應用在服務器端,如現在的應用服務器基本上都采用OSGi的框架,而真正的應用市場仍處理起步階段,這和OSGi的生態環境還不成熟,可喜的是Spring推出了其Spring DMSpringSource DM Server,前者能夠很方便發布和引用服務,并且與Spring Framework平臺相融合,將OSGibundle contextSpring applicationContext融合在一起,大大方便了OSGi的應用。后者是OSGi bundle的運行環境,是一個將EquinoxTomcat融合在一起的服務器。在以后的博文中將詳細介紹這些內容。

    posted on 2010-03-28 11:47 Dreava 閱讀(609) 評論(0)  編輯  收藏 所屬分類: OSGi

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚色九九九全国免费视频| 免费a级毛片无码a∨免费软件| AV无码免费永久在线观看| 亚洲人成电影在在线观看网色| 久久美女网站免费| 亚洲精品无码久久久久去q | 亚洲午夜视频在线观看| 大地资源在线资源免费观看 | 一个人看的www免费高清| 狠狠色婷婷狠狠狠亚洲综合| 一级片在线免费看| 中文字幕不卡亚洲 | 在线精品免费视频| 亚洲精品动漫免费二区| 免费欧洲毛片A级视频无风险| 羞羞视频在线免费观看| 国产亚洲视频在线观看网址| 国产无遮挡吃胸膜奶免费看| 日韩a毛片免费观看| 亚洲无人区午夜福利码高清完整版 | 免费下载成人电影| 香蕉视频亚洲一级| 亚洲精品无码久久久久sm| h视频在线免费看| 亚洲国产AV无码一区二区三区| 亚洲av高清在线观看一区二区 | 亚洲天堂一区在线| 国产美女无遮挡免费网站| 一级成人生活片免费看| 青青草原精品国产亚洲av| 成人毛片免费播放| 午夜在线免费视频 | 日日夜夜精品免费视频| 中文字幕在线观看免费| 亚洲欧洲国产综合| 全部免费国产潢色一级| 三年片在线观看免费观看大全动漫| 亚洲人成人77777在线播放| 亚洲av片一区二区三区| 免费视频成人片在线观看| 亚洲Av永久无码精品黑人|