除了基于Web Service和WS-*標準的、被稱為正統SOA方法之外,他還看到了其他的兩種方法涌現出來,企業級別的利用已有的消息中間件而不是使用Web Service的實現和部門級別的使用REST和Web2.0的實驗性的實現。
“我看到人們采用了三種不同的方式來實現SOA并且三者都各有優點,”Michelsen說,他是中立的,由于所有的方法都需要測試工具,他從1999年開始就進行了該測試工具的開發,那時他的工作焦點是被稱為組合應用測試領域。在2003年之后,他的注意力將開始固定到了SOA上。
Michelsen說他目前觀察到的主要趨勢是SOA正在超出Web Service的范疇。
“很多人說讓我們SOA一把,接著他們立即聯想到Web service,接著從那里繼續聯想到WS標準,”他說?!八許OA基本上成為了WS-*類型的Web service的別名了。這種方法是建立一個優秀的核心、定義WS-*的標準、以策略開始、引入注冊。這就是Gartner規定的SOA的方法?!?/P>
雖然他發現有相當數量的正統的SOA方法,但是其他的替代方法卻越來越多的抓住了他的注意力。
“這里有越來越多的趨勢表明SOA和Web service并不是互相等同的,”Michelsen說?!癝OA是一種架構的模式,你可以使用各種方法來做到?,F在有很多SOA游離于Web Service和WS-*標準之外?!?/P>
大企業似乎更加傾向于一些主張對已有的技術進行重用的SOA方法,即使它不是最先進的,比如CORBA技術。
“我所見過的在大企業內的很多大型的、最有趣的SOA環境完全不是基于Web service,”Michelsen說?!八鼈兛赡苁腔贑ORBA,或者基于ESB。它們也可能是在標準的應用服務器上構建的定制的框架?!?/P>
Michelsen主張保持現有的IT架構是SOA哲學中的關鍵。
“SOA絕不是進行革命,因為根據它的本質它是對現有環境的封裝和擴展,所以你不能拋棄舊的東西,引入新的東西,結果看起來SOA是很容易,”他爭論。
對于那些已經對像IBM MQ系列中間件之類的東西進行了長期投資的公司,他建議結合已有的系統,從中轉型到面向服務的方法。
“我們假設你的關鍵應用大部分是Tibco或者它們已經運行在了IBM MQ上。我們從這個地方開始改造,并且從這里開始基于服務。我喜歡這樣的方法,”Michelson說?!凹偃缒彻疽呀浄浅:玫氖褂昧艘豁椃植际街虚g件技術,那么理所當然的繼續使用它,并且使用該技術來建立服務。如果他們已經有了使用ESB的經驗,并且他們需要做的是重新考慮軟件的設計來獲得更多的基于服務,但是要使用相同的中間件技術,讓我們做我們擅長的工作,并讓整個過程慢慢的演化,而不是進行一次革命?!?/P>
雖然他說基于現有的技術和經驗構建是他最喜歡的SOA方法,但是他還是看到了一些讓人啟發的工作是通過前沿的Web2.0和REST來完成的。盡管他懷疑Web2.0/REST方法如何進行擴展,但是他還是將其視為部門級IT開始SOA旅程的好方法。
“現在有很多ground-up的SOA是通過Web2.0和REST來完成的,”他說?!拔艺J為它在部門級別站穩了腳跟。我相信當REST用戶試圖推廣到企業范圍的時候他們將會遇到一些挑戰。有一個快速應用開發環境是很好的,尤其是你在建立前端的時候擁有了和不同供應商的服務協作的能力。Web2.0/REST方法是非常方便的?!?/P>
Michelson說,從一個崇尚監管的測試工具開發人員的角度,他還在觀察當Web2.0和REST從部門推廣到企業范圍的時候,基于標準的監管技術和實踐將如何與Web2.0和REST進行協作。
“在企業范圍中的重用中,在服務側完全使用REST而引入的混亂(chaos)程度可能很危險,”他警告?!拔疫€沒有觀察有人在分布式、企業范圍內使用REST。我感覺到這是因為它并沒有提供真正的方法來標準化?!?/P>
但是如果開發人員沒有走過頭,REST和Web 2.0是在部門級別“很好的方法”,他說,并且他發現采用REST非常有趣。
“使用REST的人數不斷膨脹,”他說?!皶泻芏郬eb2.0/REST類型的產品不斷推出的,像Google的平臺Ruby on Rails?!?/P>