全面解析 掌控SOA價值關鍵

isoa發表於2008-07-08
        是SOA仍然神祕,還是人們不再關注它了?1996年,Garnter第一次對SOA進行描述,從那時算起,SOA已經出現一段時間了。Garnter曾經斷言過,到2007年,SOA將成為全球公司的主流。

  到目前為止,面對所發生的一切,我們是否震驚?雖然,看起來已經有大量關於SOA的論斷,但這些都還不稱不上主流。最近,國際性標準化組織OASIS在其SOA 相關模型一文中,為SOA做出了一個標準定義。雖然,要定義一個已經出現了十幾年的術語,這確實是有些令人難以接受,但是他們做到了。

  目前,SOA仍然依賴著其提供者,還是已經擺脫了他們的限制?商業團體看起來並不關心SOA如何發展,那麼,IT團體就真正的關心麼?我們好像陷入了一個教授、推廣和概念驗證的階段。要到什麼時候,所有大SOA新方案才能夠開始實施,預算才能夠撥下來呢?我們都知道,為IT專案定義投資回報率(ROI)是多麼的困難,而且SOA沒有例外。那麼,SOA提供者真正看重的SOA敏捷性和重用性優勢是什麼呢?由於SOX方案符合最初的預算,雖然,SOA已經將其自身定在治理方面,但是,這並不能使SOX搖身變成大的SOA新方案。

  當然,SOA團體是積極主動並且充滿激情的。我們向商業團體談論關於鬆散耦合服務協調合作的可能性,在我們腦海中,這個話題時非常寬泛的。我們關心SOA,但是交談物件並不關心。當我們試著向他們解釋SOA的強大和典雅時,他們點頭表示同意。因為SOA的活力,所以商業中到處都充斥著貫名SOA的會議。會議名稱裡面有SOA這個術語,當然是無可厚非的,但是,當會議結束,這些與會者回到日常的業務中,他們僅僅學到了一些新的首字母縮寫,而並沒有準備開始實施實際專案。

  我推測,這些商業人士在聽我們談論SOA時的感覺,就像是我在藝術博物館所感受的,我知道我所看到的藝術品有其偉大之處,但是我並十分確定該偉大之處到底在哪裡。對於那些非常欣賞藝術的人們,在對所看到的藝術品進行交流討論時,他們會使用很有想象力的術語,而這些術語我基本上都不理解。當他們向我描述藝術品時,我能感覺到他們言語中的激情,而且在那一瞬間,我能夠理解他們所描述藝術品的偉大之處——使一個藝術家偉大而另外一個平庸的關鍵。

  但是,當我轉回到自己的立場,對我而言,偉大之處是很難定義的——它涉及的內容太廣。因此,我懷著對所見藝術品的欣賞和所受的一些靈感激發,離開了這個藝術博物館,但是,我發現,我離開了博物館之後,我的生活並沒有因為這次經歷而受到任何影響,因為有很多其他的事情使我分心並且佔據了我的生活。

  同樣,我們這些對SOA著迷的人們,被SOA的魅力深深打動,並且滿懷激情,當我們向他人解釋SOA時,他們能夠欣賞,但是最終沒有付諸實現。如果說,IT團體類似於藝術博物館裡的成人,那麼,商業團體就像是孩子。當我們充滿激情地向他們展現SOA時,他們的眼睛神撲朔迷離、整個人變得毫無生氣、他們甚至在內心大喊“我對此很厭煩!”這確實是個問題,因為商業團體掌握著預算,而且如果他們願意的話,他們完全能夠操縱預算的改變。

  那麼,我們應該怎麼辦呢?熱愛SOA的我們如何才能推廣SOA,並且使大家對SOA的認識有所改善呢?我們如何才能使SOA有價值呢?

  下面是一封寫給SOA團體的公開信,它根據不同的小團體,提出瞭如何幫助改善SOA的建議。

  SOA 解決方案提供者——使SOA更加清晰。現在的市場並不十分成熟,因此,解決方案的提供者經常通過定義市場本身,來抓住這個市場。直到有一些實際的SOA解決方案出臺,產品廠商才能夠真正的成為該產品具有支配力的提供者。這並不是一件壞事情,除了會帶來解決方案提供者之間的激烈競爭外——因為,各大提供商需要在其獨家產品中建立新的術語、納入與眾不同的功能,以此來定義市場。

  TICBO通過通用介面(General Interface)平臺,為建立Ajax Web應用程式新增了支援。LogicBlaze在它的FUSE SOA解決方案中,也已經納入了LifeRay門戶。IBM的SOA基金會,在它的WebSphere應用程式伺服器中,新增了大量的包括從商業模型到身份管理的軟體。不能因為競爭而抨擊這些公司,但是,如果因為競爭,使得SOA平臺中包含了幾乎所有的東西,那麼,“SOA”的概念就混淆了,這個術語應該同時更名為“Web技術”。

  從解決方案的角度來看,SOA是關於中介軟體的。它是關於訊息佇列、協作和改變的。它是Web服務和企業服務匯流排。這些才是SOA解決方案的領域,而門戶、身份管理和應用程式伺服器——這些都是為了競爭,為了使SOA看起來更加強大,所新增進來的外部功能。SOA解決方案的提供者們,應該為提供最好的SOA中介軟體而進行競爭,並且競爭優勢應該有所區分,比如,為提供者建立強大的通訊機制、為使用者建立清晰的解決方案。SOA的提供者,應該通過提供最佳的管理介面、最簡單的安裝、最完整的文件和支援,以及更高的服務質量來贏得使用者,而不應該擔心惶恐於是否需要把每一個Web功能的型別都新增到平臺中。

  標準本身——保持簡單。現在SOA的標準實在太多了。正如SOA的提供者,標準本身通過競爭,來定義最流行的和採用最廣泛的標準。因為,理所當然地,提出標準的公司提供具有競爭力的優勢,自然就是第一個提供依賴此標準的解決方案的公司。

  這樣的結果就是一場標準之戰,試圖使解決方案的結構標準化。如此一來,導致的後果就是——SOA的眾多解決方案通常無法協同工作,因為每一個解決方案所遵循的標準總是有所不同。為了幫助解決這個問題,類似WS-I這樣的公司應運而生。WS-I公司所做的工作主要是,促使Web服務能夠跨平臺、跨系統以及程式語言地進行互操作。WS-I的基本框架(wsbasic)是基於其他標準的,包括W3C的WS-Adressing,SOAP繫結以及WSDL繫結標準。它是所有標準的標準。

  WS-I公司的出發點是崇高的,但是,它的存在就代表著,SOA有太多的標準而且這些標準僅僅都是Web服務標準。如果再考慮SOA技術,如JBI、JMS、J2EE以及其他技術,那麼,問題變得越來越嚴重。一些新方案,如服務元件架構(SCA)、服務資料物件(SDO),為了解決這一問題,它們嘗試著通過使用通用的API來繼承各種各樣的服務,但是,這樣做還不如建立新的標準,因為更加讓人迷惑並且增加了複雜度,如此看來,關鍵是要保證標準簡單。

  REST是具有支配地位的Web服務API,因為它是如此地簡單。雖然,它沒有大多數結構化的Web服務協議的功能強大,但是,它能夠解決整合所涉及的大多數問題,而且它極其的簡單,因此REST能夠被廣泛採用。複雜標準非常難以推廣,Java/J2EE團體已經吸取了這一教訓,因為,如此強大的語言,它居然輸給了十分簡單的PHP、Perl、Python以及Ruby這樣的語言。J2EE最新的變身——JavaEE 5,其目的就是,通過使程式碼編寫更簡單、更直接從而使開發更加簡單。

  SOA看起來會繼續向著複雜標準的方向繼續發展下去,但是,我們不應該這樣做。建立簡單的標準就能夠解決SOA中90%的問題,剩下那10%的問題,就留給那些更加複雜的特性和標準吧,推崇簡單的標準,這能夠使使用者更加輕鬆地採用SOA。

  大學——教授架構知識。一個剛畢業的電腦科學與技術專業應屆生,不知道什麼是架構。不瞭解什麼是企業或應用程式的架構。對架構概念,如模式、聚合、封裝、鬆散耦合以及重用,沒有很堅實的基礎知識。

  對於一個系統中的服務元素質量,幾乎一點也不瞭解。不能很好的理解組建和物件的不同之處,完全不懂這些元件是如何組成一個服務的。因此,對於這些畢業生而言,SOA就是一個抽象概念。他們認為,SOA是產品、一套標準集或者是僅僅是新的首字母縮寫集合。

  如果對軟體架構基礎結構不理解,那麼,SOA是模式或者是架構的評價這一認識,就很難理解。如果是公司,就應該組織人員和裝置來教授什麼是軟體架構;如果是個人,我們就自學什麼是軟體架構。因為,有太多的IT職位根本沒有機會來學習這些基礎結構,因此,SOA被當作是失敗的或者僅僅遙不可及的概念。

  因為上述現象,SOA將是毫不相關的,因為,如此多的使用者對SOA的架構基礎一無所知,SOA根本無法解決所遇到的問題。理解架構的工程師們有機會看到SOA的價值,但是,那些不理解架構的人們,是無法理解SOA的價值的——無論他們評估過的多少SOA產品。

  諮詢顧問—— 使SOA與商業相關。諮詢顧問能夠訪問公司的業務團體。如果SOA達到了商業潛力,商業使用者就必須給它估價。這是SOA諮詢顧問的責任——使SOA與商業相關。

  諮詢顧問們使用商業語言進行討論。他們不談論技術術語,如Web服務和協作,而且肯定不會用到SOAP和BEPL。他們所談論的是,關於快速轉向市場、通過重用和使業務改革創新的能力來降低成本。他們關心投資回報率(ROI)。

  遺留系統給業務帶來禁錮的商業使用者。而SOA允許快速的改變,以及成本更低的系統整合。諮詢顧問要使商業使用者關心SOA。使商業使用者理解他們所擁有的服務。圖形化模型服務,從某種程度上說,商業團體更加容易理解,並且能夠參與進來。從而使用與商業相關的命名法來命名服務。

  商業使用者並不會像工程師那樣為SOA激動,但是,至少諮詢顧問可以使商業使用者瞭解服務的真正價值之所在。向他們證明,SOA能夠更快更節省的建立應用程式,比任何方式都具有優勢。並且,使他們認為SOA非常重要。

  IT公司—— 不僅僅是概念驗證。IT部門在推廣SOA和實施新方案方面做得非常好。然而,這基本上是採用概念驗證的格式和SOA的策略。主要的SOA新方案還沒有真正地開始。 I

  IT公司應該嘗試著從概念驗證到SOA產品系統。不再把SOA當作企業級概念,而是把SOA用於整合應用程式,使用SOA概念來構建個人應用程式。使SOA不僅僅是CTO和企業架構的王國。

  在更小的規模上使用SOA技術,並不是如此困難。這種概念驗證為實現提供方法,因為規模並不是最重要的因素。這是給公司介紹SOA、以及深入淺出的解釋SOA概念的最佳方式。

  雖然,有很多關於SOA的評論,但是都沒有具體實現。SOA仍然在慢慢揭開她的面紗——SOA有可能向資料集中、物件導向資料庫的道路發展,因為,很多該領域的其它技術都無法滿足最初的期望。當然,SOA在架構上是個非常大的進步。

  大多數軟體工程師都知道SOA有迷人之處,但是,到底是迷人之處在哪卻難以解釋。這就是在SOA團體的人們應該盡到的責任,幫助人們認識SOA並且使SOA更有價值。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-374584/,如需轉載,請註明出處,否則將追究法律責任。

相關文章