天天看點

用鐵軌理論解讀SOA

為什麼會有SOA,這可以簡單類比鐵路的出現

記得幾年前看過一篇文章,将IT裡出現的ERP、CRM等等英文縮寫稱為“新三字經”,其意思大概說,很多人都會将這些英文縮寫挂在嘴邊,并以此為榮,但實際上有多少人知道這些縮寫的意思呢,更不用說能對其進行一些深入淺出的解析了。

眼下,SOA就是“新三字經”的代表,從去年開始,這個詞就頻繁出現IT行業中,但是有多少人能說清楚SOA呢?

根據計世資訊最新的統計,隻有30%多的企業使用者聽說過SOA,而隻有14%的人了解SOA,幾乎所有企業使用者對SOA的了解都是停留在比較淺顯的層面上。

與此截然相反的是,盡管不了解SOA,但是在這30%多知道SOA的企業使用者中,有超過80%的企業認為SOA很重要,超過40%的企業更表示在未來的IT建設中會采用SOA架構。

從鐵路出現看SOA産生

面對SOA,企業一方面是不了解,一方面卻又非常重視,那麼SOA到底是何方神聖?

眼下,最普遍的對SOA的解釋是:SOA(Service-Oriented Architecture,面向服務架構),它是一種架構模型,它可以根據需求通過網絡對松散耦合的粗粒度應用元件進行分布式部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,進而有效控制系統中與軟體代理互動的人為依賴性。

不可否認,從這個複雜的标準定義中,除非是很專業的人士,否則很難了解SOA到底是什麼?那麼就讓我們抛開複雜的技術詞彙,從管理的角度來看SOA。

為什麼會出現SOA?簡單的說,這與工業時代鐵路的出現和發展有異曲同工之妙。從IT發展曆史的角度來說,SOA的發展和原來的工業革命發展的曆史其實是有驚人的相似之處,也就是說當時鐵路網的鋪設過程就和SOA發展的軌迹幾乎一樣。

在工業時代,鐵路系統的出現對于當時的經濟發展非常重要。最初的鐵路都是由礦業主自己私人修建的,最初修建的鐵路是雜亂無章的,形成了衆多的鐵路系統和标準,這些鐵路之間也沒有有效利用。

随着鐵路和火車越來越多,人們開始注意到,鐵路和鐵路之間的不通行、互相孤立,以及鐵路之間缺乏管理,對于鐵路系統的發展是非常緻命的,後來為了解決這些問題,開始出現了專門負責鐵路規劃、建設和管理的部門以及規章制度。

這與IT網絡的發展幾乎一樣,也是從無序發展開始,每個企業都在建立自己的IT系統,每個企業之間并不互相相容,即使在每個企業内部,每個部門都可能各自獨立,和鐵路的發展一樣,這種無序化讓IT管理變得困難。

在這種情況下,SOA的概念在十多年前被Gartner公司提了出來,當時提出SOA的主要目的就是讓每個IT系統都有自己的自主力,靈活的發展空間,但同時又能夠随需共享,這種情況好比是一國多制或者聯邦制。

任何新的事物出來之後都需要有個标準化的過程,鐵路如此,資訊系統也是如此。如果将鐵軌的寬度看成是一種标準,那麼SOA就是未來資訊系統的一個建構标準。

鐵路寬度是怎麼制定的呢?據悉,美國鐵路兩條鐵軌之間的距離是4.85英尺。為什麼是這個奇特的标準呢?原來最早美國的鐵路是由英國人設計建造的,而英國的鐵路是由建電車的人設計的,可最先造電車的人以前是造馬車的,他們習慣性地把馬車的輪寬搬到了電車上。然而,英國馬車的輪寬之是以用這個标準,是因為其老路的轍迹是這麼寬,如果馬車用其他輪距的話,輪軸就很容易損壞。據資料顯示,英國老路的轍迹寬度是羅馬戰車形成的,而羅馬戰車的輪度是依兩匹拉戰車的馬屁股寬度設計制造的。就這樣,兩匹馬屁股的寬度就構成了現在鐵軌的寬度。

那麼資訊系統的建立标準又是如何決定的呢?從軟體業和網絡的發展角度來看,在技術或者連接配接上出現過很多的标準,但是這些都不是最大的标準——資訊系統将以什麼樣的方式來建構? 這不是技術問題而是一種理念。

這個标準最終的确立是由使用者決定的。這好比是Web1.0和Web2.0的差別,一個是大教堂模式,另一個是大集市模式。Web1.0是一個典型的大教堂模式,是自上而下的,使用者是被動的,等級伸延的,所有開發軟體都是這麼一個角度;Web2.0是一個大集市模式,自下而上,使用者占據主動的位置。

在《世界是平的》一書也有這樣的分析, 1.0是殖民主義的時代,2.0是跨國公司主導,3.0的時候這個全球化被定義為個人的全球化,個人的全球化的意思其實就是Web2.0所講的大集市模式,對應公司的要求,個人的全球化和Web2.0對應的企業的要求可能隻有像一個比較靈活的架構才能夠應付外邊的壓力。

而且全球化本身就是SOA的一個推動力,一個特别簡單的例子就是當中國的一些企業進入WTO,尤其是在海外上市了以後,它直接就需要受到國外的那些證券法律的監管,監管條律就要求它必須要把現有的資訊發放出來,按照一種标準釋出出去,這就直接導緻了一些企業最先做SOA的渴望。

從這個角度上來說,可以明确SOA不是一款産品,更不是一種技術,SOA隻是企業系統平台架構設計中的一種方法,一種理念,可以用任何一種現今成熟的技術實作它。正如搭建房屋所用到的方法和理念的設計,需要人的力量來完成一樣,SOA的實施,也需要有相關軟體産品的輔助。是以,在目前市場上,已經有很多企業推出了用以實作SOA的軟體産品。在這些軟體産品的輔助之下,所搭建的系統平台,又被稱做SOA系統架構平台。對于實施團隊,SOA不是一個産品而是一個架構;對于管理團隊,SOA不是一個項目而是一個規劃。

SOA這個概念已經提出十年多了,為什麼很多人還不是很認同這個理念。宋代蘇東坡寫過的對聯來解釋這一現象,那就是”茶,好茶,上好茶;坐,請坐,請上坐。它表達的就是當一個人一波三折地到達你家裡的時候,你對他尊敬的感覺逐漸油然而生,最開始的時候你覺得此人很普通,到最後你發現此人是高手。這種變化将是企業對于SOA的認識過程:乍一看不就是一種松散的連接配接嗎?用過之後才逐漸體會出其中的奧妙,雖然僅僅是三個字母,但意義非凡。 

繼續閱讀