在這一點SOA頻繁地以不同的方式被分類,經常依賴于構建服務所用的實現技術。早期的模型,主要從Web服務標準初始系列中得到靈感,將SOA定義為一個圍繞三個基本的構件的架構模型:服務請求者,服務服務提供者與服務注冊(圖1)。
圖1. SOA的早期形態第一代Web服務標準實現此模型的以下方面:
★ WSDL描述服務。
★ SOAP提供了用于服務及其請求者的通訊格式。
★ UDDI提供了標準化的服務注冊格式。
從物理架構的角度,基于Web服務的SOA第一次變異實際上超越了原始SOA模型。你或許能回憶起原始SOA不需要使用服務注冊。作為替代,發現被歸類為當代SOA的一個特征,通過面向服務原則在服務層面被提倡。
我們的原始SOA模型在今天可輕易獲得,因為它已被所有主要廠商的開發及運行平臺所支持。這些相同廠商都有關于SOA的遠大計劃,其中許多現在已經能夠自我證明。當代SOA的諸多特征,大都是過分主動的開發與協作的結果,已經產生了一系列第一代Web服務平臺的擴展。知名的“第二代”或“WS-*”規范,這些擴展處理特殊的功能區域,Web服務技術平臺全面提升至企業水平。
補充WS-*領域對于將面向服務概念引入業務分析的世界也很重要。通過面向服務,業務邏輯能夠清晰地被封裝,并從根本的自動化技術中抽象。這個愿景藉由業務流程定義語言的提升而得到進一步支持,最知名的是WS-BPEL。這不僅考慮到將傳統的業務流程管理(BPM)模型解決成一系列的服務,更進一步提供具體的和可執行的格式充分表達業務邏輯的語言能力,填補了分析與實現間的空隙。
這些及其他工業影響已經擴大了SOA的潛在范圍。如同更多的當代特征被增加,也很可能今天我們所歸類的當代SOA,會形成未來原始SOA的基礎。
SOA是一個真正的進化。今天的結果明顯是被不同的相關標準組織和軟件廠商主動驅動的結果。通過受協作與競爭的混合刺激的不穩定環境,擴展被作為戰略定位,每個都定義了我們稱為當代SOA技術平臺一個特定部分。在第2節,我們近距離看看標準的開發過程。
1.4、SOA如何改造XML與Web服務
如同任何架構,SOA引入了邊界和規則。盡管當代SOA可能由XML及Web服務技術平臺所構成,但這些平臺需要經歷大量的變化,以便其各自的技術被適當定位并在面向服務架構范圍內加以利用。
使用XML或Web服務的傳統分布式應用環境因此肯定有一些重新實現,面向服務的設計原則需要在技術與心態方面都進行改變。以下是當你必須對現存實現翻工時,你可能面對的一些潛在問題示例。
★ SOA現在需要數據表達與服務建模標準表達保持一致。這個相當含糊的需求有許多含意,并主要促進內在協同性。
★ SOA依賴于負責所有服務間通信的SOAP通訊。結果,所有需要XML的地方,一般也會有SOAP消息,以照顧傳輸、臨時處理與路由及最終交付。XML文檔與關聯的XSD schema現在經常需要有意地與SOAP通訊一起建模。
★ SOA使用標準化的文檔風格的通訊。從RPC風格遷移到文檔風格的消息給服務描述的設計強加了變化。特別地,接口特征需要以更普通的術語表示,并全面增加操作粒度。
★ 由于強調文檔風格的SOAP消息,SOA促進內容及高智能模型。這個支持服務的無狀態及自治,并使消息傳輸的頻度最小化。然而先前的RPC風格的方法支持帶有目標數據的小顆粒XML文檔傳輸,在SOA內的XML文檔經常需要代表不止一個數據語境的綁定數據。
★ 直到WS-*擴展的高階信息能力普遍流行,許多應用都將需要配備SOAP報頭來實現臨時解決方案以管理復雜的消息交換。一些更急迫需求包括管理與關聯。這些臨時的設計有效地建立了轉變模型,需要時可輕易地遷移到工業標準的實現。
要點總結
★ 核心XML技術集已成為分布式互聯網架構的通用部分,F在也提供基礎數據表達及SOA數據管理層。
★ 第一代Web服務架構來自關鍵標準開發:WSDL、SOAP與UDDI。然而UDDI對于多數據環境而言仍舊是一個可選的發現機制,WSDL與SOAP已經成為構建在XML層之上定義SOA基本通信框架的核心技術。
★ SOA充分利用XML與Web服務率先鋪設的道路。它將久經考驗的概念與先進技術的結合,已經被IT社團所充分接受。
★ 盡管當代SOA已經形成并有了對XML與Web服務的工業級接受度,SOA的到來對于已有XML及Web服務的傳統應用還是帶來了改變。
文章來源于領測軟件測試網 http://www.kjueaiud.com/