幾周前參加了一個網絡研討會,與會的很多業界名流都在討論部署未來戰略和預算的新的技術發展趨 勢??磥斫衲甑难杏懼攸c就是SOA,按照這些權威人士的說法,SOA將在未來三到五年內給軟件和網絡帶來革命性的變化。
這些人士或者忽略了一點兒小小不言的懷疑論調:我們曾有多少次說過某項技術具有“革命性”了?這種場合我們是不是見得太多了?不過這一次,我個人以為至少我們的大方向還是正確的。
先說一點背景:SOA可以說是解決軟件系統構件化過程中長期存在的復雜度和相關度問題的最新方法。今天的SOA建立在Web服務的基礎之上,主要以SOAP/XML接口和Web服務描述語言分發。和對象以及軟件構件相同,“服務”是在分布式網絡上構建復雜系統的最基本的建筑材料。
簡而言之,SOA就是對等(P2P)計算的真正的商業化??偠灾?,SOA提供了這樣一種框架:一個系統上的軟件可以安全而且可靠地提出請求并獲得其他系統上的計算資源,而不再需要一臺中央服務器來管理和控制整個端到端的網絡。
我們可以做一個更清晰的類比:即回憶一下網絡架構從SNA到IP的演化過程。在SNA環境下,網絡的架構基本上是“主/從”式的,即由一個網關控制著遠程終端和主機之間的聯系,所有的控制都在主機一端。而在IP環境下,則由分布式的路由器網絡提供連接,控制不再是集中的了。
然而,軟件架構始終未能與IP的演進步伐保持一致。在所謂的客戶機/服務器計算環境中,基本的架構依然是主/從式的:應用服務器控制著與遠程客戶機的通信。
在過去的幾年中,我們已逐漸地將客戶機/服務器模式推向了邊緣??蛻魴C與服務器之間的各種通信協議越來越多地基于Web而不再是專有協議了,因此應用之間的通信也成了多路徑的而不是單路徑的了。
而SOA則從根本上突破了客戶機/服務器模式?,F在,服務器與客戶機之間的主/從通信方式已經轉變成了分布式的P2P方式,與IP網絡中路由器之間的通信方式相似。
于是,像IBM、Oracle、SAP和微軟等軟件與系統廠商就很自然地對SOA的興起和部署給予了密切關注。當然,對SOA給予關注的絕不僅僅只有他們。
SOA對于電信網絡的影響也是十分巨大的。任何一位網絡管理人員都很清楚,P2P通信與客戶機/服務器應用有著非常顯著的不同。SOA系統中的通信流量越來越多地發生在任意的端到端之間,而客戶機/服務器應用的流量則主要是星型發散的。因此,像MPLS這樣可提供安全、可靠的端到端通信架構的好處就日益顯著了。
有趣的是,這又是一個“先發后至”的例子。因為有一個應用,其流量模式一直都是端到端的。是什么應用?就是語音通信。越向前走,我們就越會發現,數據業務與昔日的話音業務有很多的相似之處。