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

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

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

    放翁(文初)的一畝三分地

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      210 隨筆 :: 1 文章 :: 320 評論 :: 0 Trackbacks
     

           每個人在人生的不同階段都在成長,父母們?yōu)樽约河涗浟诉^去的成長歷程,自己也在成年以后記錄著自己的成長歷程。程序員或者架構(gòu)師都有著自己的“孩子”,不論自己的孩子是好是壞,都為自己的孩子有一點(diǎn)成績而激動不已。現(xiàn)在的我也正在培育著一個自己的“孩子”,雖然在它成長過程中我要付出很多,但是看著它的成長,讓我覺得所有的付出都是值得的。因此通過這種方式,記錄下它的成長,記錄下遇到的種種困難和解決之道,為自己也為其他程序員架構(gòu)師在培育“孩子”的過程中提供可能有幫助的一些信息。

    一.初涉SCA

           阿里新子公司成立,我也從業(yè)務(wù)開發(fā)組調(diào)動到了平臺架構(gòu)組,平臺架構(gòu)組當(dāng)時的職責(zé)就是完善XPlatform來支持多個業(yè)務(wù)產(chǎn)品線部門的業(yè)務(wù)開發(fā),XPlatform是基于MDA理念的快速開發(fā)平臺。但隨著業(yè)務(wù)部門開發(fā)靈活性要求的日益增加,XPlatform在可定制化,模塊化就日漸暴露出了不足。在4月份的技術(shù)戰(zhàn)略調(diào)整以后,開始了翻天覆地的XPlatform重構(gòu)計(jì)劃,而我就被分配負(fù)責(zé)考慮底層架構(gòu)重構(gòu)以及服務(wù)框架的設(shè)計(jì)。

           當(dāng)時首先考慮模塊化重構(gòu)底層的時候,感覺OSGI是一個很好的方向,因此在重構(gòu)服務(wù)框架前期的Cache模塊時候采用了OSGI策略,可以動態(tài)替換Cache,但是在使用的過程中發(fā)現(xiàn),此模塊化并非我們所需的模塊化。OSGI的模塊化比較徹底,就連每個Bundledependency都是自己維護(hù)和管理,這樣對于動態(tài)載入和卸載提供了堅(jiān)實(shí)的基礎(chǔ),但同時也為它提供了最難處理的一個問題:復(fù)雜的ClassLoader機(jī)制。而回顧當(dāng)前的業(yè)務(wù)開發(fā)場景,是否真的有這樣強(qiáng)模塊隔離的需求,回答往往是否定的。而作為動態(tài)的載入和卸載,的確是很好的一種特性,但是作為商業(yè)化的產(chǎn)品,特別是現(xiàn)在的互聯(lián)網(wǎng)應(yīng)用,機(jī)群中部署的應(yīng)用模塊往往來說并不需要單獨(dú)裝載和部署。另一方面來看OSGI面向的主要是對于單機(jī)服務(wù)開發(fā)模塊化的解決方案,并非SOA的解決方案,而當(dāng)前互聯(lián)網(wǎng)應(yīng)用在很大程度上需要互聯(lián)互通,模塊化是基礎(chǔ),但是并非最終的解決手段。

           這時候開始關(guān)注與SCA,對于SOA具體實(shí)施的一種實(shí)踐性的規(guī)范,規(guī)范本身的模塊化可擴(kuò)展性給我留下了很深的印象。SCAOSGI在模塊化思想上有很多類似的地方,在SCAComposite就是Bundle虛擬體,而SCA的優(yōu)點(diǎn)就在于它只是規(guī)范,只是一種設(shè)計(jì)思想,不約束實(shí)現(xiàn)語言,平臺以及其它細(xì)節(jié),這也是互聯(lián)網(wǎng)應(yīng)用的一種趨勢。信息共享達(dá)到信息價值最大化,這是企業(yè)應(yīng)用的目標(biāo),在實(shí)現(xiàn)這個目標(biāo)的時候需要拋開實(shí)現(xiàn)過程中的細(xì)節(jié)。就好比程序員往往關(guān)注的是使用什么好的技術(shù)能夠開發(fā)出最炫的應(yīng)用,而老板關(guān)注的是如何在最短最快的情況下滿足用戶需求,兩者之間如何能達(dá)成雙贏,那么就是架構(gòu)師的職責(zé)了。

           既然認(rèn)定了SCA這條路,那么就開始走吧,第一步當(dāng)然是看規(guī)范,OSOA上關(guān)于SCA的規(guī)范十分詳盡。SCA規(guī)范雖然已經(jīng)有些年頭了,但是正式納入OSOA并且成為一個較為廣泛認(rèn)可的規(guī)范其實(shí)時間并不長,國外Sun,Bea都用一些類似的產(chǎn)品,但也沒有大規(guī)模推廣,而在Apache的孵化項(xiàng)目中TuscanySCA最出名的實(shí)踐開源項(xiàng)目,對于我來說當(dāng)然是加入開源大家庭。我在接觸Tuscany的時候,它還是0.9之前的milestone2,但到現(xiàn)在為止,短短的幾個月,已經(jīng)發(fā)布到了v1版本了,可見發(fā)展迅速。對于Tuscany的關(guān)注,我看見現(xiàn)在國內(nèi)也越來越多,Tuscany最大的特點(diǎn)就是它的架構(gòu)可擴(kuò)展性很強(qiáng),這也是SCA規(guī)范所需要的架構(gòu)體系,要做到SCA的模塊化和擴(kuò)展性,必須有靈活的基礎(chǔ)架構(gòu)作為支撐。

           三下五除二,用Tuscany搭建了SCA規(guī)范中描述的幾個通用場景,簡單的java beanspring的集成,異步回調(diào),rmi遠(yuǎn)程調(diào)用等等,當(dāng)然遇到了不少問題,由于Tuscany本身也是孵化過程中,最大的問題就是相應(yīng)的文檔少,作為一個初學(xué)者,只能通過Demo了解大致的使用方式,遇到問題也就通過跟蹤它的代碼來學(xué)習(xí),不過這個過程,讓我也對整個框架的體系架構(gòu)有所了解,就如大牛所說,真正的體系架構(gòu)是一個運(yùn)行期的概念,而非設(shè)計(jì)期的,設(shè)計(jì)期其實(shí)就是SCA規(guī)范本身,而運(yùn)行期的部分才是真正的體系架構(gòu)。

           預(yù)研終究是在做實(shí)驗(yàn)性的工作,是否能夠產(chǎn)品化,還需要實(shí)踐來檢驗(yàn)。XPlatform的重構(gòu)正式啟動了,平臺架構(gòu)師們組織了一次內(nèi)部重構(gòu)技術(shù)方案討論會,我將前期的研究結(jié)果以及SCA的思想和實(shí)現(xiàn)都作了展示,同時結(jié)合我們重構(gòu)的目標(biāo)作了技術(shù)實(shí)施可行性介紹。與會的另外一個架構(gòu)師提出了使用Spring實(shí)現(xiàn)SOAESB模式的解決方案,經(jīng)過比較和討論最后我的計(jì)劃方案得到了肯定,但是我自己心里其實(shí)也沒有底,畢竟如果真的在XPlatform的體系架構(gòu)中實(shí)施SCA,那么將會波及各個產(chǎn)品線的底層架構(gòu),如果后續(xù)出現(xiàn)無法修復(fù)的問題,那么這個責(zé)任可不小。同時在過去的那些年頭,EJB就是一個很好的反面例子,一個規(guī)范理念是重要的,但是實(shí)施環(huán)境是否合適也會決定成敗,SCA是否適合未來的阿里軟件技術(shù)方向,當(dāng)時的我沒有把握。最后我主動提出降低風(fēng)險的設(shè)計(jì)方案,平臺底層分成兩部分:基礎(chǔ)服務(wù)框架(BSF)和應(yīng)用服務(wù)框架(ASF),前者主要應(yīng)用于XPlatform內(nèi)部核心組件的插拔交互,后者應(yīng)用于上層應(yīng)用的組裝,發(fā)布,交互。

    Alisoft-xplatform-core-service-framework這個就是服務(wù)框架項(xiàng)目的子工程目錄名,也是我的SCA之路的第一步。當(dāng)走出這第一步以后,就再也不能回頭了,常用老馬的一句話來激勵自己:我可能不是最聰明的人,也不是最努力的人,但是堅(jiān)持可能就讓我比別人成功。Tuscany為我開啟了SCA的實(shí)踐之路,但Tuscany并不是像看起來那么美,要走適合服務(wù)框架的SCA之路,難題才剛剛開始。

    posted on 2007-11-15 17:01 岑文初 閱讀(1348) 評論(1)  編輯  收藏

    評論

    # re: 在路上---基于SCA規(guī)范的應(yīng)用服務(wù)框架成長記(一) 2009-08-27 09:11 dintone
    SCA確實(shí)很誘人,應(yīng)該為下一個革命性的東西。但是在SCA的runtime不成熟的情況下,作出選擇是困難的。  回復(fù)  更多評論
      


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲无线码在线一区观看| 女人被弄到高潮的免费视频| 亚洲午夜无码片在线观看影院猛| 亚洲精品无码中文久久字幕| 性感美女视频免费网站午夜| 在线a亚洲老鸭窝天堂av高清| 性生交片免费无码看人| 亚洲熟妇无码一区二区三区| 在线观看人成视频免费| 亚洲成a人片在线不卡一二三区| 色www永久免费视频| 国产亚洲精品成人久久网站| 亚洲区不卡顿区在线观看| 国产免费伦精品一区二区三区| 亚洲中文字幕在线乱码| 在线观看特色大片免费网站| 日产亚洲一区二区三区| 大地资源二在线观看免费高清| 亚洲av无码兔费综合| 国产亚洲精品拍拍拍拍拍| 久久99热精品免费观看动漫| 亚洲AV综合色区无码二区爱AV| 日韩成全视频观看免费观看高清| 免费人成再在线观看网站| 久久亚洲国产欧洲精品一| 无码区日韩特区永久免费系列| 精品久久久久久亚洲中文字幕 | 亚洲日本乱码卡2卡3卡新区| 日本免费高清一本视频| 乱淫片免费影院观看| 亚洲午夜久久影院| 成人黄动漫画免费网站视频 | 久久亚洲精品无码播放| 88xx成人永久免费观看| 亚洲色偷偷综合亚洲AV伊人蜜桃 | 免费视频淫片aa毛片| 91福利免费网站在线观看| 91亚洲精品麻豆| 亚洲精品色婷婷在线影院| 精品福利一区二区三区免费视频 | 亚洲国产一区明星换脸|