OSGi是什么
OSGi亦稱做Java語言的動態模塊系統,它為模塊化應用的開發定義了一個基礎架構。OSGi容器已有多家開源實現,比如Knoflerfish、Equinox和Apache的Felix。您可以通過這些容器,把您的應用程序劈分為多個模塊單元,這樣,您就可以更容易地管理這些模塊單元之間的交叉依賴關系。
OSGi規范和Servlet規范及EJB規范類似,該規范定義了兩種對象,一是容器對外提供的服務對象,另一個是容器和您的應用程序之間必須遵守的契約,其中,服務對象是容器要實現的。您如果想要在OSGi平臺上進行開發,首先,您必須要使用OSGi API來創建您的應用,然后將之部署到OSGi容器中。從開發者的角度看,OSGi具有以下優點:
a) 您可以在不重啟容器的情況下,動態地安裝、卸載、啟動和停止您的應用程序中的不同模塊;
b) 對于您應用程序中的某一特定模塊,容器可以同時運行該模塊的多個版本;
c) OSGi為開發嵌入式應用、移動應用、富互聯網應用(RIA)提供了非常優秀的基礎架構
如果說您使用Servlet容器開發您的網絡應用,使用EJB容器開發交易式應用,您可能會問,為什么我們還需要另外的容器呢?對這個問題的簡短回答是,OSIG容器是專門為開發復雜的Java應用準備的,在這些應用的開發過程中,您非常需要將這些應用分割為一個個的模塊。在本系列以后的文章中,我將針對這個問題進行展開并深入回答。
1. OSGi在企業開發中的應用
OSGi聯盟(OSGiAlliance)于1999年3月開始著手制定OSGi規范,其主要目的就是要制定一套開放式標準,以便向局域網及其中的設備提供可管理的服務;其基本思路是,一旦您在網絡設備(如服務器和嵌入式設備)上使用了OSGi服務平臺,您就可以在網絡上的任何地方管理這些設備上運行的軟件組件的生命周期,可以在后臺對這些組件進行安裝、升級或卸載,但不需要打斷該設備的正常運行。
近年來,OSGi技術在嵌入式系統及網絡設備市場得到廣泛應用?,F在,由于Eclipse的成功,OSGi在企業開發中逐漸成為切實可行的、較有價值的一種技術。
1.1. 業界對OSGi的支持逐漸上升
2003年,Eclipse開發團隊開始想辦法提高Eclipse工具集的模塊化,以便讓它成為更加動態的富客戶端平臺。Eclipse團隊最終選中OSGi框架作為其組件的運行時模型,2004年6月發布的Eclipse3.0就是***個基于OSGi平臺的版本?,F在幾乎所有的企業應用服務器都支持OSGi,Spring也通過一個叫“OSGi服務平臺上的Spring動態模型(亦稱之為OSGiSpring)”的項目來支持OSGi。該項目提供OSGi基礎架構,以便我們在Spring的企業開發中更容易使用OSGi。
2. 開放源碼的OSGi容器
從企業開發者的角度看,OSGi容器的要求很低,您可以很容易地把它嵌入到企業應用中,比如我們在開發Web應用時,我們可以把這個Web應用分為多個模塊,一個模塊負責視圖層,另一個模塊負責DAO層,第三個模塊負責數據訪問層,如果我們使用OSGi容器來管理這些模塊之間的交叉依賴,我們就可以在不用重啟該Web應用的前提下,將DAO層從速度較慢的升級到速度較快的DAO。
只要您的應用和OSGi規范兼容,您的應用就應該可以運行在任何OSGi容器中,現在比較流行的開放源碼的OSGi容器有以下三種:
a) Equinox容器是參照OSGi規范第4版實現的,它構成了Eclipse IDE的核心—模塊化的Java運行時;它實現了OSGi規范4中規定的必須強制實現的功能,同時,它也實現了OSGi規范中大部分的可選功能;
b) Knoflerfish是OSGi規范第3版和第4版的開源實現,它實現了OSGi規范規定的必須實現的功能及部分可選功能;
c) Apache的Felix是Apache軟件基金會實現的OSGi開源容器,至本文截稿時為止,該容器還沒有和OSGi規范完全兼容。在本文中,我們將使用Equinox作為我們的OSGi容器。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注本站行業資訊頻道,感謝您對本站的支持。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
淘寶理財是什么?淘寶理財是淘寶旗下的一款互聯網理財產品,旨在為用戶提供高收益、低風險的投資選擇。通過與各大銀行、基金公司等合作,淘寶理財推出了多種理財產品,包括余額寶、基金定投、銀行存款等。淘寶理財產品介紹1. 余額寶:余額寶是淘寶理財的核心產品,是一種貨幣基金,用戶可以將自己的閑置資金存入余額寶中,享受高于銀行定期存款利率的收益。2. 基金定投:淘寶理財與多家基金公司合作,推出了多種基金定投產品...
6210開頭是什么銀行?農村商業銀行的銀行卡開頭一般為6210。農村商業銀行,簡稱:農商銀行,是由轄內農民、農村工商戶、企業法人和其他經濟組織共同入股組成的股份制的地方性金融機構。6210開頭是農村商業銀行,前身是農村信用社,如果是以6210開頭13-16位數的話一般是農商行信用卡,如果是以6210開頭的19位數的話一般是儲蓄卡。農村商業銀行轉賬多久能到賬?資金的到賬時間一般情況下,在進行銀行轉賬...
北京人均存款已經接近27萬了嗎?4月11日,2023年一季度的金融數據公布,人民幣存款增加了15.39萬億元,其中居民存款增加近10萬億,在人均住戶存款方面,北京人均存款接近27萬元高居榜首,上海人均存款也已經超過了21萬元,多方面的數據證明只有收入提高才能存得更多的錢,說明人們的生活水平已經顯著提高。廣東省是我國第一經濟大省,本外幣存款規模穩居第一,是國內存錢最多的省,總存款額已經超過了32萬億...