隨著Web在中小企業使用Web服務方面發揮巨大的作用,這些企業使用最廉價最簡單的方法來實現B2B Web服務交互變得越來越可能。使用表示狀態傳輸(Representational State Transfer ,REST)等方法讓企業有了一種簡單而直接的基于HTTP的方法來進行基于Web服務的集成,這足夠滿足很多中小企業的需求了。然而,我們都知道Web服務,尤其是基于REST的Web服務并不能滿足對架構的需求,并且更不能滿足對安全、異步、事件驅動和過程驅動服務等復雜需求。而這些即使是最小的公司都想得到的。
由于缺乏能提供松耦合服務的架構,對SOAP的需求。。當服務從消費它的軟件中解耦出來之后,就能對服務提供者或消費者進行升級或修改而不必打破它們。結果是,中小企業必須把實現面向服務架構考慮成構建、部署和管理他們服務以及服務環境的方法,而不是僅僅是為了暴露和與服務接口通信而關注開銷低、復雜度低的協議。此外,正如我們經常討論的那樣,SOA比這些接口要復雜很多。它還與定義服務使用的合約和策略有關,因此,我們能獲得重用和業務靈活性的好處,而使用簡單的協議無法滿足這些要求。
大企業已經轉移到SOA,因為在復雜的異構IT環境中充滿著經常性的不可預測的業務變更,而SOA此時非常管用。但是,中小企業幾乎沒有復雜的異構的IT環境,而且他們也沒有在和大公司一樣的不可預測的業務變更。他們通常擁有更加可控的IT環境來應對這些變更。當這樣一個動態業務環境影響到某個中小企業與其它公司集成時,。畢竟,為什么只有大公司就能得到業務靈活性、重用和低價的IT基礎設施的好處呢?
用松耦合B2B Web服務進行變更
要理解為什么中小企業,甚至那些只有外部集成問題的公司,應該考慮SOA,很重要的一點就是要看到這樣的服務所處在的動態環境。為B2B消費暴露了服務的公司必須面對一個事實,那就是他們將每年多次構建和編輯多種服務,用新的功能升級這些服務,維護與這些服務有關的合約和策略,還要持續提供或撤消對這些服務的訪問。相應的,消費這些服務的公司的客戶或合作者也不得不基于他們自己的安全和協議需求來要求很大范圍的服務合約以及松耦合。于是,中小企業對他們服務的任何變更都不會影響到他們的業務。如我們所看到的,為了與第三方合作,暴露一個服務接口只是提供服務要面對的所有困難中的很小的一部分。
對于提供者和消費者,所有這些功能的公共主題就是變更。如果服務提供者和消費者的需求不經常變化,那么就不需要為處理這種變更而構建架構而爭辯了。取而代之的是中小企業會很容易對B2B交互的API達成一致。畢竟在過去,用于B2B集成的簡單API在不經常變化的情形下已經可以工作了。但是,在一個API接口中進行像上文列出的變更需要對服務器和客戶端進行重新編程和重新部署,因為這些交互緊緊耦合在一起。
結果,就算中小企業也必須在架構和基礎設施上進行投資,才能實現SOA的靈活性好處。的確,他們需要足夠的功能進行服務的運行時管理、管理與服務有關的持續變更的元數據、安全和策略網關來滿足安全和合作策略需求。當然,他們還必須在架構上進行投資。當某個中型公司提供了服務后,他們或許會在內部設置上面的基礎設施。事實上,小公司通常會尋找一個第三方來主管服務。不管那種情況,他們都需要SOA架構,因為它提供了實現的整體設計。
ZapThink的觀點
當所有這些功能在SOA的環境中變得越來越實用時,一定要記得靈活性是隨價格帶來的。管理、安全、元數據和集成基礎設置都潛藏在SOA實現之下。畢竟,松耦合不是魔術、也不容易達到。它需要嚴格的設計和復雜但靈活的基礎設施。
很多中小企業已經開始利用Web服務來降低滿足他們外部集成需求的陳舊方法的費用。但是,單單增加Web服務接口的方法和過去的API方法一樣不靈活。中型企業只有通過構建SOA應用并利用足夠靈活的松耦合的Web服務才能跟上業務環境持續不斷的變化。
文章來源于領測軟件測試網 http://www.kjueaiud.com/