緣起
幾周前,受到了普元的邀請,去三亞參加一個SOA的技術(shù)交流會,原本以為是因為在他們的論壇同時更新了一些文章所以被邀請一起去參加產(chǎn)品部活動,開始不是很想去,畢竟廠商出錢多半就是讓你去聽聽他們的產(chǎn)品,一個周末飛來飛去的也累,但淘寶的BlueDavy大叔要去,順便也叫我一起去熱鬧熱鬧,那么就決定去湊這個熱鬧。周五下班以后背了個包就直奔機(jī)場了,結(jié)果到了機(jī)場才發(fā)現(xiàn)辦護(hù)照的時候身份證放在家里了,幸好機(jī)場還有個臨時身份證明辦理的便民業(yè)務(wù),總算順利的上了飛機(jī)。
人物
第一天到場,第一個環(huán)節(jié)就是自我介紹,江湖中人就悉數(shù)登場了。Robbin,白衣,俞黎敏,小剛,楊戈,InfoQ中文站的主編霍泰穩(wěn)和其他幾個編輯,灰狐的主創(chuàng):銀狐999,程勇,普元的老大Chris以及普元的很多技術(shù)架構(gòu)師牛人。陳勇的一句話就把我們這批人概括了一下,其實大家都是江湖中人,平時混各個堂口的,今天在普元召集的這么一次活動,有機(jī)會能夠匯聚一起,談天說地。
活動
第一天上午有兩個Topic關(guān)于SOA的市場價值,下午也有兩個Topic關(guān)于SOA的企業(yè)架構(gòu),主講的都是我們這些外部請來的人。上午下午有很多時間是自由討論,每個人都有機(jī)會發(fā)表自己的意見,應(yīng)該是算圓桌會議,所以你要發(fā)言隨時隨地都可以直接說,不需要顧忌什么,只要覺得要說,該說,就能說。這一天碰撞出不少火花。晚上邊吃燒烤邊聊,后面去沙灘上繼續(xù)討論技術(shù)圈的構(gòu)建(不過這個到了最后也沒有一個很好的解決方案)。
第二天主要是普元分享了他們對于SOA技術(shù)的理解和具體的實現(xiàn),從實際角度去展示了一個SOA的實實在在的成果。
收獲
其實這部分才是我要寫得重點。一部分一部分來說吧。
首先是識人,這次在會上看到了很多都是自己曾經(jīng)蠻佩服的國內(nèi)開源技術(shù)論壇或者社區(qū)的創(chuàng)辦者,其實從他們身上除了看到技術(shù)人員本身所特有的對于技術(shù)的追求更多的是對于新事物的理性的學(xué)習(xí)和分析。其實我一直覺得有一點對于一個架構(gòu)師或者一個優(yōu)秀的開發(fā)人員來說很重要的特質(zhì)就是開放的去學(xué)習(xí)和接受新事物,有一個包容的心態(tài)去看待每一個陌生的新生事物,那么才能不斷地進(jìn)步。而排斥和固步自封,只能最后束縛了自己的腳步,慢慢的落后與他人。SOA這個概念提出來很多年了,炒作到實質(zhì)性的轉(zhuǎn)變也就在這一兩年,具體的實踐還需要后面幾年的實施和驗證。所以到場的每一位沒有一個敢說自己完全了解SOA是什么,絕大部分都是抱著希望了解SOA實際上究竟是什么的想法而來。在討論的過程中大家就很直白的說出了SOA是否還是一個虛概念,過去的EAI,BPM以及現(xiàn)在的EBI的區(qū)別。沒有絕對的否定,只有探討,學(xué)習(xí)和交流。我是第一認(rèn)識他們,而他們之間已經(jīng)相互很熟悉,但是和他們交流并不存在任何障礙,沒有說牛人就是一個圈子,基本很難接觸的那種感覺。我想也正是一種Open的心態(tài)才能讓人進(jìn)步得更快。
再則談?wù)劷佑|普元的朋友。和普元的朋友交流的機(jī)會不算很多,不過在第一天的休息的時候和幾個主要的技術(shù)人員作了交流。因為其實我做SCA也還算比較早,所以對于SCA還是比較熟悉的,同時普元又是SCA中國區(qū)的推廣者,所以和他們的架構(gòu)師交流SCA很容易,不像在單位里面基本就是寫好使用文檔給開發(fā)者看,如果要談具體的原理,基本沒有人看過SCA規(guī)范,我是在SCA0.96版本上作了穩(wěn)定版本的,現(xiàn)在解析使用Tuscany,再次組裝是自己做的,一來早期的Tuscany對于兩個級別的Service和Reference沒有做級別控制,二來包括WS模塊以及其他模塊有很多的Bug,所以作了再次的開發(fā)和封裝以適應(yīng)業(yè)務(wù)開發(fā)的需求,其實在我們的研討會上也說了,開源的缺點就是不穩(wěn)定,不一定適應(yīng)商業(yè)開發(fā),如果商業(yè)開發(fā)的話,一般是需要穩(wěn)定在某一個版本上。同時由于SCA本身的模塊化特點,所以部分升級和開發(fā)十分方便。這些思想和概念以及遇到的問題和普元的開發(fā)團(tuán)隊遇到的一些問題都十分相似,特別是在WS上面,我一度也應(yīng)為搞不定某些特殊的類型想去使用SDO,不過最后還是直接修復(fù)SCA的WS組件搞定了,也就沒有使用SDO。不過第二天的普元的服務(wù)管理和監(jiān)控讓我還是眼前一亮,這個對我來說可能也是后續(xù)在服務(wù)框架中需要考慮和搭建的,因為如果要采取Service API Mashup Platform,那么這部分內(nèi)容勢必是必須的。同時,普元的很多高手都是SCA組織的成員,這也是我蠻羨慕的,有機(jī)會還是要和他們多多學(xué)習(xí)和交流,雖然后續(xù)我的工作重點不是在SCA上了,不過ASF的工作以及SCA的持續(xù)學(xué)習(xí)也是自己“私活”之一。總的感覺來說,普元的技術(shù)人員雖然話不多,但是內(nèi)功深厚,有很多可以去學(xué)習(xí)和切磋的。
最后就是關(guān)于SOA的一些感觸。第二天中午最后一點時間是給大家講關(guān)于這一天半的討論和交流以后對于SOA的收獲,由于時間關(guān)系,到我們的時候大家盡量簡短發(fā)言,我也就說了自己的兩點想法:1.先學(xué)在干在學(xué)在干。2.開發(fā)人員是我們的客戶,不要讓我們的客戶因為使用我們的產(chǎn)品而痛苦不堪,應(yīng)該讓我們的客戶在使用了產(chǎn)品以后提高了生產(chǎn)效率。第一點什么意思呢?在我做服務(wù)框架以前,先去研究過OSGI,然后又接觸了SOA,最后接觸到了SCA。花了1個多禮拜把SCA規(guī)范啃了幾遍以后,找到了使用SCA實現(xiàn)服務(wù)框架的優(yōu)勢以后,就開始搞服務(wù)框架了,看了Tuscany的源碼與設(shè)計思想,做了修改和封裝,第一階段的SCA服務(wù)框架就這么出來了。曾一度寫了關(guān)于SCA如何讓SOA落地的一些感想文章,但是后來自己都開始有些迷惑,究竟SOA是什么,僅僅就是用SCA去實現(xiàn)WS來互聯(lián)互通么?這時候去看了很多關(guān)于SCA和SOA的資料和文章,突然發(fā)現(xiàn)又陷入到了一個開發(fā)者的角度去審視SOA的陷阱。很多人說SOA只是一種概念,沒錯,其實就是概念,那么這個概念有什么價值?其實這就是一個思考的過程。參加了BEA2007大會,雖然沒有實質(zhì)性的一些Topic讓我有所收獲,但是在主題演講的時候讓我突然開了竅。其實任何技術(shù)都是有延續(xù)性的EAI和SOA有什么區(qū)別,可能很快有人站出來給你一大堆的技術(shù)變革,告訴你區(qū)別大了去了,但其實SOA的真正價值不是在于說和過去的技術(shù)有什么區(qū)別,而是它的一種開放,協(xié)同的思想,這種思想其實更具各個行業(yè)來說都是不同的。這次去普元的交流會上,很明顯的可以看出普元是定位在企業(yè)級應(yīng)用的開放協(xié)同角度去考慮SOA的價值以及解決方案和實現(xiàn)手段。而我從大會回來,從新考慮了在阿里軟件SAAS平臺模式下我所關(guān)注的SOA的價值以及解決方案,就好比現(xiàn)在我一直在考慮的Service Mashup Platform,這是基于互聯(lián)網(wǎng)應(yīng)用的一種角度的思考。同樣不同行業(yè)的人可能都會有不同的一種思考,但都是基于SOA的一種開放,協(xié)同的思想來更具具體的使用場景來考慮。所以如果你拋開業(yè)務(wù)場景去空想SOA,那么結(jié)果就會讓自己陷入技術(shù)陷阱,用技術(shù)的不同來生硬的解釋SOA,這種就好比過去講的笑話,盲人摸象。第二點是我自己在推廣我的ASF的一點經(jīng)驗,在普元演示產(chǎn)品的時候看到了他們的studio作的很好,但是對于單元測試以及部分組件的集成測試卻做得還不是很夠,同時studio是否能夠讓程序員有便利感(我們很多在場的寫慣了程序的人都覺得程序員不寫幾行代碼,就會沒有創(chuàng)造感),這些可能會影響客戶(開發(fā)人員)。其實在我推廣ASF的時候有很多的架構(gòu)師都反對,頂著壓力死推,最后救了我的是那些開發(fā)人員,一份匿名使用反饋加上性能測試,功能測試,最終還是堅持了下來,并被逐步接受。那么對我來說我能夠繼續(xù)做好的就是加強(qiáng)文檔的豐富性,測試的簡單性,部屬的方便性,以及開發(fā)配置的簡便性(由于很多是配置型的文件,因此采用schema來做提示和交驗我就覺得夠了,至于studio是否需要,如果能夠做得很完美當(dāng)然最好了)。
最后其實對于這次活動來說其實我覺得就是一次技術(shù)人員的SOA,不同的公司,不同的職業(yè),不同的職位,協(xié)同,開放的在一起發(fā)表自己的意見來互相學(xué)習(xí)和交流,本來也就是一種SOA。這兒感謝一下普元,活動本身來說雖然沒有對SOA做出很明確的定義,但是其實讓每一個人能夠去思考,其實問題只有一個答案卻可以有千千萬萬,每個人的角度不同看到的就有不同的內(nèi)涵。就好比InfoQ主編說的每一個海灘上的沙子都有自己一個唯一標(biāo)識,我們每一個江湖人士都有自己一個堂口,一個觀點一個看法。
開放的心態(tài)去學(xué)習(xí)和交流,我要走路還有很長一段。
花絮:
白衣不小心摔了一跤,眼鏡掉到海里了,我們說是觀音大士讓他把眼鏡作為紀(jì)念留在了海南。
畢玄同學(xué)在上岸之前換鞋子的時候,由于不買一個小MM的貝殼,被小MM一直稱作大叔,因此我們笑說畢玄就是到了大叔的年紀(jì)了。
歡迎訪問我的blog:http://blog.csdn.net/cenwenchu79/
msn:cenwenchu_1979@hotmail.com