自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

訪談實(shí)錄:開源文檔《OSGi進(jìn)階》發(fā)布暨作者

開發(fā) 后端
InfoQ中文站就《OSGi 進(jìn)階》的發(fā)布,邀請(qǐng)Bluedavy對(duì)文檔的寫作背景、OSGi的設(shè)計(jì)理念及當(dāng)前的應(yīng)用現(xiàn)狀進(jìn)行了訪談。

OSGi正在變得炙手可熱,無論是OSGi與JSR 277之爭,還是Struts2開始使用OSGi來完成插件的熱部署,都使它越來越頻繁地進(jìn)入開發(fā)人員的視線。而近日,Bluedavy在去年發(fā)布了名為《OSGi 實(shí)戰(zhàn)》的開源文檔后,又發(fā)布了此系列的第二篇:《OSGi 進(jìn)階》。InfoQ中文站就這次發(fā)布邀請(qǐng)Bluedavy對(duì)文檔的寫作背景、OSGi的設(shè)計(jì)理念及當(dāng)前的應(yīng)用現(xiàn)狀進(jìn)行了訪談。

51CTO編輯推薦:OSGi入門與實(shí)踐全攻略

在談到編寫第二篇開源文檔《OSGi 進(jìn)階》的原因時(shí),Bluedavy說道:

《OSGi 實(shí)戰(zhàn)》主要是為了向大家介紹OSGi的好處,以及OSGi到底是什么,具體怎么去用,目的是為了能吸引更多的人關(guān)注OSGi、了解認(rèn)識(shí)OSGi; 《OSGi 進(jìn)階》則是為了和大家分享基于OSGi設(shè)計(jì)實(shí)際的項(xiàng)目/產(chǎn)品、集成流行的Java框架去實(shí)現(xiàn)B/S、分布式系統(tǒng)、如何將傳統(tǒng)的系統(tǒng)重構(gòu)為基于OSGi的系 統(tǒng)等方面的一些經(jīng)驗(yàn),希望能讓更多的人將OSGi應(yīng)用到實(shí)際的項(xiàng)目/產(chǎn)品中去。

***篇OSGi實(shí)戰(zhàn)Opendoc發(fā)布后,應(yīng)該說還是起到了一定的效果的,無論是從javaeye上的OSGi圈子、我個(gè)人的blog以及我個(gè)人的MSN 上,都有不少的朋友開始討論OSGi,嘗試OSGi應(yīng)用到實(shí)際的項(xiàng)目的可能性,從我MSN上一些好友我也了解到,國內(nèi)已經(jīng)有些公司開始在商業(yè)的產(chǎn)品中應(yīng)用 OSGi了。

但是看到那么多的朋友對(duì)OSGi非常有興趣,但由于不知道基于OSGi怎么去設(shè)計(jì)實(shí)際的項(xiàng)目/產(chǎn)品,又或是因?yàn)镺SGi與流行Java框架不好集成的原 因,最終放棄了在實(shí)際的項(xiàng)目/產(chǎn)品中使用OSGi,這也是促成我編寫第二篇Opendoc的原因之一,我希望能將大家對(duì)于OSGi的興趣轉(zhuǎn)化為真實(shí)的使 用;另一方面的原因則是整個(gè)業(yè)界發(fā)展的大趨勢(shì),短短的一年間,各大公司、開源項(xiàng)目都公開支持OSGi,使得OSGi進(jìn)入企業(yè)應(yīng)用領(lǐng)域的步伐比想像中順利了 很多。

我們知道,模塊化的開發(fā)方式早已在企業(yè)開發(fā)中得到了廣泛應(yīng)用,也一直是系統(tǒng)設(shè)計(jì)時(shí)的基本準(zhǔn)則。而在OSGi中,每一個(gè)模塊都 對(duì)應(yīng)于自己的單個(gè)bundle,以聲明的形式來表示對(duì)其他bundle中package的依賴,或是暴露某些接口以供其他bundle調(diào)用,從而實(shí)現(xiàn)了物 理上的模塊隔離。這種方式與傳統(tǒng)的模塊開發(fā)相比其優(yōu)點(diǎn)在哪里呢?Bluedavy回答說:

由于Java一直以來在物理隔離式的模塊化開發(fā)/部署上都支持的不好,以至于基于Java構(gòu)建的系統(tǒng)都沒有做到真正的模塊化。在模塊化不是物理隔離方式實(shí)現(xiàn)的情況下,非常容易出現(xiàn)的現(xiàn)象是模塊之間的界限在不知不覺中抹去了,***整個(gè)系統(tǒng)的依賴關(guān)系會(huì)逐步變的復(fù)雜。

一個(gè)比較典型的例子:假設(shè)在一個(gè)留言板系統(tǒng)中,留言列表和新增留言劃分為了兩個(gè)模塊,這兩個(gè)模塊是沒有強(qiáng)耦合的,但在非物理隔離的模塊化實(shí)現(xiàn)時(shí),我們很容 易出現(xiàn)的做法就是在留言列表的頁面上直接編寫一個(gè)新增留言的功能鏈接,其實(shí)這也就隱藏式的將這兩個(gè)模塊強(qiáng)耦合在一起了。到了物理隔離的模塊化實(shí)現(xiàn)時(shí),就會(huì) 開始考慮這個(gè)問題。

這點(diǎn)就像Bea microServices的人的一句話:"Until modularity is not enforced,it is not there"。
在《OSGi實(shí)戰(zhàn)》一書中,Bluedavy曾經(jīng)描述過,像OSGi這樣一個(gè)為動(dòng)態(tài)擴(kuò)充、修改系統(tǒng)功能提供了支持的模塊系統(tǒng)可以帶來什么樣的好處:

基于OSGI的系統(tǒng),可通過安裝新的Bundle、更新或停止現(xiàn)有的Bundle來實(shí)現(xiàn)系統(tǒng)功能的插拔。
OSGi有一整套完整的機(jī)制去實(shí)現(xiàn)動(dòng)態(tài)改變系統(tǒng)行為。
基于OSGi的系統(tǒng)不會(huì)受到運(yùn)行在其中的Bundle的影響,不會(huì)因?yàn)锽undle的崩潰而導(dǎo)致整個(gè)系統(tǒng)的崩潰。
只有在請(qǐng)求發(fā)生時(shí)OSGi才去完全加載、啟動(dòng)相應(yīng)的Bundle、Service,保證了系統(tǒng)的高效
規(guī)范的、可積累的模塊

但是,無論是技術(shù)框架的選型,還是架構(gòu)方案的選擇,都不可能只看到其優(yōu)勢(shì)所在就簡單的做出定論。每一種選擇,都需要考慮到是否與既有方案可以順利結(jié)合,應(yīng) 用環(huán)境是否足夠成熟,有充分的外界條件支持等等。那么對(duì)于OSGi來說又是什么樣子的呢?Bluedavy給出了自己的答復(fù):

從應(yīng)用的架構(gòu)層面選擇的話,OSGi足夠成熟,理由在于目前企業(yè)應(yīng)用領(lǐng)域的關(guān)鍵問題,在OSGi中都逐步的有了對(duì)應(yīng)的解決方案,這些解決方案中最有影響力 的當(dāng)屬Spring和OSGi的結(jié)合,Spring-OSGi使得OSGi的應(yīng)用很容易的獲得Spring提供的企業(yè)應(yīng)用需求功能的實(shí)現(xiàn)的支持。

目前用OSGi來做企業(yè)應(yīng)用,應(yīng)該說技術(shù)上的瓶頸已經(jīng)不多了,只是怎么去充分的發(fā)揮OSGi的優(yōu)勢(shì),是有一定的挑戰(zhàn)的。
記者又請(qǐng)Bluedavy就“企業(yè)應(yīng)用的關(guān)鍵問題”和“OSGi中對(duì)應(yīng)的解決方案”做出更詳盡的解釋,他說道:
OSGi EEG小組在總結(jié)OSGi進(jìn)入企業(yè)應(yīng)用領(lǐng)域需要解決的問題上列出了這么幾點(diǎn):

分布式系統(tǒng)的支持; 在分布式系統(tǒng)上,目前SCA是個(gè)好的解決方案,SCA的實(shí)現(xiàn)有Newton和Tuscany,另外就是通過集成Axis來通過webservice實(shí)現(xiàn)分布式的通訊。

OSGi服務(wù)的擴(kuò)展,以支持從外部發(fā)布/調(diào)用OSGi服務(wù),同時(shí)需要考慮多種語言的支持,而非僅僅是Java; 這點(diǎn)呢,一方面就得依靠和Java流行框架的集成,像Spring-OSGi就實(shí)現(xiàn)了在Spring的bean中調(diào)用OSGi服務(wù),另一方面就得依靠 SCA了。
至于我們這些程序員在實(shí)際的項(xiàng)目/產(chǎn)品中可能會(huì)碰到的企業(yè)應(yīng)用開發(fā)的問題可能會(huì)有下面幾個(gè):

怎么樣把OSGi和Webwork+Spring+Hibernate這樣的架構(gòu)集成起來。類似Webwork+Spring+Hibernate這樣的 架構(gòu)無疑是目前Java B/S應(yīng)用領(lǐng)域最為流行的技術(shù)組合拳,而且這樣的三者的結(jié)合確實(shí)基本上解決了企業(yè)應(yīng)用領(lǐng)域的關(guān)鍵需求,例如分布式的調(diào)用、事務(wù)機(jī)制等,如果OSGi能和這 樣的技術(shù)組合拳集成,自然也就使得OSGi應(yīng)用能夠應(yīng)對(duì)企業(yè)應(yīng)用領(lǐng)域的需求了,在OSGi進(jìn)階的Opendoc中詳細(xì)的介紹了OSGi與這個(gè)技術(shù)組合拳的 集成方法,并誕生了一個(gè)OSGi+Hibernate+Spring+Webwork的腳手架以及基于此腳手架的留言板系統(tǒng)。
傳統(tǒng)的系統(tǒng)能不能重構(gòu)為OSGi系統(tǒng)。無論對(duì)于項(xiàng)目還是產(chǎn)品而言,如果需要將新的項(xiàng)目/產(chǎn)品改變?yōu)榛贠SGi的項(xiàng)目/產(chǎn)品,那么就有一個(gè)問題就是如何將 在以前項(xiàng)目/產(chǎn)品中積累的東西重構(gòu)為可部署至OSGi系統(tǒng),這相信也是大部分關(guān)注的問題,這個(gè)問題在OSGi進(jìn)階Opendoc中也以一個(gè)實(shí)際的例子來進(jìn) 行了講解。
 
既然使用了OSGi,如果發(fā)揮不出它的優(yōu)勢(shì)的話,就毫無意義了。OSGi系統(tǒng)的典型特征是:模塊化、動(dòng)態(tài)化和可擴(kuò)展。要做到這三點(diǎn)從設(shè)計(jì)/實(shí)現(xiàn)層面都要進(jìn) 行把握,在OSGi進(jìn)階Opendoc中也從實(shí)際項(xiàng)目/產(chǎn)品的角度去介紹了如何去設(shè)計(jì)、如何去實(shí)現(xiàn),同時(shí)也總結(jié)了一些OSGi的設(shè)計(jì)模式和***實(shí)踐,使得 大家在應(yīng)用OSGi實(shí)現(xiàn)實(shí)際的項(xiàng)目/產(chǎn)品時(shí)充分的發(fā)揮OSGi的優(yōu)勢(shì)。

在自己的實(shí)際應(yīng)用中,Bluedavy也碰到過一些比較棘手的問題,其中包括:某些Java框架依然需要開發(fā)人員自己來實(shí)現(xiàn)集成;目前OSGi HttpService尚不支持*.action這樣的通配方式的servlet mapping,對(duì)于filter也不支持等等。但是最主要的問題還是落在了如何去構(gòu)建模塊化、動(dòng)態(tài)化和可擴(kuò)展的系統(tǒng)上面。正因?yàn)樗闹匾?,?《OSGi 進(jìn)階》一書中,Bluedavy用了整整兩章的篇幅來論述OSGi的設(shè)計(jì)模式和***實(shí)踐。也許隨著OSGi的廣泛應(yīng)用,開發(fā)人員對(duì)于系統(tǒng)設(shè)計(jì)的認(rèn)識(shí),也會(huì) 提高到一個(gè)新的層次。

在訪談的***,Bluedavy對(duì)OSGi目前的應(yīng)用現(xiàn)狀做了總結(jié):

OSGi在過去的一年中得到了眾多企業(yè)應(yīng)用軟件領(lǐng)域的商業(yè)公司的支持,例如IBM、BEA、Oracle、SAP、IONA,這些公司都在自己的商業(yè)產(chǎn)品 中開始采用OSGi;而開源領(lǐng)域的則有像Spring、Struts 2、Newton這些的加入。無疑OSGi將成為企業(yè)應(yīng)用軟件領(lǐng)域的重要內(nèi)容,在此希望國內(nèi)的同仁們也能更多的來關(guān)注OSGi,并將OSGi應(yīng)用到實(shí)際的 項(xiàng)目/產(chǎn)品中去。

此外,記者還了解到,OGSi的官方中文站點(diǎn)(osgi.org.cn)正在籌備建設(shè)中,不日即將上線;同時(shí),OSGi 中國User Group也獲得了OSGi聯(lián)盟授權(quán),成為繼日本User Group、韓國User Group、法國User Group以及西班牙User Group后的第五個(gè)官方認(rèn)可的User Group,負(fù)責(zé)中國范圍內(nèi)OSGi的宣傳和推廣。可以預(yù)見,在不久的將來,OSGi在國內(nèi)一定會(huì)迎來更加廣闊的應(yīng)用前景。

您正在閱讀:訪談實(shí)錄:開源文檔《OSGi進(jìn)階》發(fā)布暨作者

【編輯推薦】

  1. OSGi與Spring的整合
  2. Spring-OSGI 1.0 M3 中文手冊(cè)
  3. 基于OSGi和Spring開發(fā)Web應(yīng)用
責(zé)任編輯:張攀 來源: infoq.net
相關(guān)推薦

2014-06-11 09:56:54

CrossApp

2012-10-11 15:10:25

存儲(chǔ)

2009-08-05 14:35:20

Java程序員,上班那鐘聲訪談訪談

2009-08-04 09:25:22

Java程序員,上班那鐘聲訪談訪談

2011-07-08 13:40:19

吳海軍 PC時(shí)代

2009-07-11 18:54:05

2016-03-01 12:38:07

七牛李婧

2009-06-01 11:09:16

OSGI實(shí)戰(zhàn)進(jìn)階

2010-05-19 11:01:39

虛擬化與云計(jì)算趙陽

2010-05-19 10:48:39

虛擬化與云計(jì)算訪談何樂

2010-05-19 11:16:08

虛擬化與云計(jì)算陳瀅

2010-05-19 11:07:36

虛擬化與云計(jì)算王慶波

2010-05-19 11:09:47

虛擬化與云計(jì)算謝蘇蘇

2010-05-19 11:03:05

虛擬化與云計(jì)算鄒志樂

2010-05-19 11:03:53

虛擬化與云計(jì)算吳玉會(huì)

2010-03-29 17:05:07

OSGi

2013-07-24 15:21:32

CDN故障響應(yīng)

2009-07-26 20:36:07

EclipseJDKAPI幫助文檔

2009-11-06 14:49:09

金牌網(wǎng)管師
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)