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

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

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

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

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

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

    一.初涉SCA

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

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

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

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

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

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

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

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

    評論

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


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


    網站導航:
     
    主站蜘蛛池模板: 91九色老熟女免费资源站| 黄床大片30分钟免费看| 亚洲AV日韩AV永久无码绿巨人| 亚洲午夜爱爱香蕉片| yy6080亚洲一级理论| 亚洲av麻豆aⅴ无码电影| 亚洲成av人在片观看| 亚洲精品成人网久久久久久| 亚洲精品久久久www| 国产亚洲美女精品久久久| 亚洲中久无码永久在线观看同| 曰韩亚洲av人人夜夜澡人人爽| 亚洲精品无码Av人在线观看国产 | 嫩草在线视频www免费观看 | 亚洲人成小说网站色| 亚洲成_人网站图片| 亚洲av色香蕉一区二区三区| 美国毛片亚洲社区在线观看| 日本免费精品一区二区三区 | 亚洲一区二区三区高清在线观看| 男人天堂2018亚洲男人天堂| 美女免费精品高清毛片在线视| 成人免费视频一区二区| 暖暖日本免费中文字幕| 免费人成网站在线观看10分钟| 免费看a级黄色片| 亚洲天堂在线视频| 久久精品亚洲综合一品| 亚洲人成激情在线播放| 亚洲av午夜国产精品无码中文字| 永久免费观看黄网站| 久久免费公开视频| 最近2019中文字幕免费看最新| 亚洲 自拍 另类小说综合图区| 亚洲国产另类久久久精品黑人| 亚洲天堂电影在线观看| 美女黄频a美女大全免费皮| 精品视频在线免费观看| 毛片免费观看网站| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 一区二区免费国产在线观看|