SOA架構(gòu) 今天你實(shí)現(xiàn)了嗎?
我也在不斷反省自己,不管我說(shuō)得對(duì)錯(cuò),總會(huì)有一大批人來(lái)打擊我,原因很簡(jiǎn)單“我自傲、我自大,沒(méi)辦法從小就很優(yōu)秀,哈哈,爹媽生得好啊,不能怪我”。大家都謙虛了,都什么都不講,也不自信了,真的也就沒(méi)意思了,程序員世界也會(huì)少幾分有趣、少幾分娛樂(lè)。演戲的都是戲子,娛樂(lè)大家的,寫文章的其實(shí)也差不多的,娛樂(lè)大家。
其實(shí)在早在上個(gè)世紀(jì)末,1999年就聽(tīng)別人忽悠xml有多少神奇,當(dāng)時(shí)就搞不明白XML到底能怎么樣?后來(lái)幾年還買了很多書(shū),Java的.NET的,看得也云里霧里,到底這玩意兒能干啥?現(xiàn)在想想啊,炒作還真能忽悠人啊,至少忽悠了5年以上都有了,后來(lái)才明白,xml文件,就類似配置文件,你可以用程序讀寫配置文件,用起來(lái)方便一些,可以用.net讀取,也可以用java讀取,有相對(duì)標(biāo)準(zhǔn)的格式而已,也真的不是什么***的東西,做程序的,還是得照樣寫程序,不是用了XML就能怎么樣了。
正文:
前幾年別人忽悠SOA的概念,我也聽(tīng)得云里霧里,平時(shí)自己想研究的東西就很多,自己想寫的程序也很多,平時(shí)手上的工作任務(wù)也很多,就根本沒(méi)精力去研究新技術(shù),我上周末走訪了杭州的一家IT軟件開(kāi)發(fā)團(tuán)隊(duì),他們雖然用的是ASP.NET但是寫程序的思維完全是PHP、ASP那套思路,連服務(wù)器控件都用得比較少,而且還是有接近10個(gè)人的開(kāi)發(fā)隊(duì)伍,開(kāi)發(fā)了好幾年,你說(shuō)他們雖然用了ASP.NET但是還在用ASP的思維在寫程序,所以我覺(jué)得并不是人人什么都都懂大家的精力很多時(shí)候都是有限的。
SOA是什么?雖然我自己經(jīng)理解了SOA是什么,但是我還是想把自己的成果分享給那些不知道SOA到底是什么的朋友。我們打個(gè)比方,我去手機(jī)店購(gòu)買手機(jī),我是一個(gè)消費(fèi)者,我想購(gòu)買手機(jī)是一個(gè)需求,我可以去選擇很多手機(jī)店,這些手機(jī)店就是服務(wù)的提供者,而且我們的接口是能對(duì)上,我不可能到服裝店去購(gòu)買手機(jī)吧?俗話講的話,就是供需的借口需要對(duì)上。
手機(jī)店,有很多前臺(tái)服務(wù)員,也有倉(cāng)庫(kù)保管員,我會(huì)向前臺(tái)咨詢手機(jī)的功能、性能、價(jià)格、款式等,前臺(tái)是給我提供服務(wù)的,我們確定好手機(jī)后,我到收銀臺(tái)付款,前臺(tái)會(huì)從倉(cāng)庫(kù)保管員那里提取手機(jī),交給我。
這時(shí)候,我們可以想,手機(jī)是個(gè)模型,就是物品,手機(jī)自己是不會(huì)移動(dòng),不會(huì)有動(dòng)作,他只是個(gè)物品,沒(méi)有自己的控制動(dòng)作,再講俗點(diǎn)兒手機(jī)是不會(huì)把自己刪除了、添加了、更新了。是由倉(cāng)庫(kù)保管員對(duì)手機(jī)進(jìn)行操作的,我們也不是自己到手機(jī)店的倉(cāng)庫(kù)里直接把手機(jī)拿過(guò)來(lái)了,是要通過(guò) 我購(gòu)買手機(jī)- 前臺(tái)服務(wù)員 - 倉(cāng)庫(kù)保管員 - 手機(jī),的順序最終拿到了手機(jī)。
寫程序也跟購(gòu)買手機(jī)的流程相似,你直接到倉(cāng)庫(kù)去拿手機(jī),是最簡(jiǎn)單,工作量最少,最直接見(jiàn)效的,但是這個(gè)屬于不按套路出牌,不按規(guī)矩來(lái)的行為。為什么購(gòu)買手機(jī)的流程還要這么復(fù)雜,也有它存在的道理,所以我們寫程序也一樣,符合SOA的理念,你的程序的健壯性、可擴(kuò)展性會(huì)、可維護(hù)性更強(qiáng)一些,雖然編碼設(shè)計(jì)的工作量是大了很多。
附簡(jiǎn)易圖如下: 你想購(gòu)買牛B手機(jī),不能直接到倉(cāng)庫(kù)里去拿,那很容易被警察抓走了,懷疑你是偷手機(jī)。
SOA架構(gòu)總結(jié):
并不是把好的理念講得云里霧里是水平,要講得很簡(jiǎn)單連門外漢父母都能聽(tīng)懂,這就是大師的水平了,其實(shí)很多人的手機(jī)都是能把手機(jī)自己給刪除了,其實(shí)這樣的程序并不是運(yùn)行性能差、開(kāi)發(fā)效率低,是屬于不按套路出牌的那種,并不見(jiàn)得SOA了開(kāi)發(fā)效率就提高了,很可能是開(kāi)發(fā)的工作量更大了、代碼的量也更大了,親身體會(huì)感言。
來(lái)杭州已經(jīng)第2個(gè)年頭了,還在寧波工作時(shí)有一年春節(jié)花了3個(gè)月時(shí)間,把所有的程序都調(diào)整為符合SOA的理念,感覺(jué)不錯(cuò),有道理,看著也舒服,后來(lái)維護(hù)改進(jìn)也方便了。其實(shí)由于歷史原因等,很多公司的程序并不能嚴(yán)格符合SOA的理念的,理論總是理想化的,實(shí)踐是殘酷的,還是那句話能抓老鼠就是好貓。
互有技術(shù)人員,你可以用云里霧里,互有其他行業(yè)的大老板,你就得給他講出他能理解的道理來(lái),這樣人家才肯出錢,你把他忽悠得云里霧里,只有少數(shù)老板會(huì)亂燒錢,多數(shù)都不認(rèn)可的,用通俗的道理,讓他認(rèn)可你容易接到大訂單。
原文標(biāo)題:白話講山寨SOA,少一些迷惑、多一些理解,今天你的程序架構(gòu)SOA了嗎?
鏈接:http://www.cnblogs.com/jirigala/archive/2009/09/15/1566839.html






