盡人皆知,異構系統之間使用Web Service比較適合,上面1篇介紹了EJB,EJB是業務邏輯的散布式,是系統內部的調用。而Web Service比較合適用于系統間的調用。
比如說天氣預報,股市,地圖等都是需要從互聯網上的其他系統服務器獲得的,它向外界暴露出1個能夠通過Web進行調用的API,通過API去獲得數據。
實時天氣預報:
Web Service提供了1個在不同的利用和平臺之間的交互操作標準。這個交互操作通過1系列基于XML的開放標準實現,包括WSDL、SOAP和UDDI等。這些標準提供了1系列通用方法來定義發布和使用Web Service。
Web Service的基本層次結構
服務發布協議: UDDI(提供發布場所) |
服務描寫協議: WSDL(描寫場所的服務功能) |
服務操作協議: SOAP(規定WSDL文檔的格式) |
統1數據格式: XML(WSDL文檔的書寫) |
基礎連接: Internet(HTTP數據傳輸協議) |
UDDI、WSDL、SOAP
UUDI的目的是為電子商務建立標準;UDDI是1套機遇Web的、散布式的、為Web Service提供的、信息注冊中心的實現標準規范,同時也包括1組使用企業能將本身提供的Web Service注冊,以使別的企業能夠發現的訪問協議的實現標準。
WSDL是1種XML格式,用于網絡服務描寫為1組端點,這些端點對包括面向文檔信息或面向進程信息的消息進行操作。這類格式首先對操作和消息進行抽象描寫,然后將其綁定到具體的網絡協議和消息格式上以定義端點。相干的具體端點即組合成為抽象端點。
WSDL規范定義了如何使用SOAP消息格式、HTTP GET/POST消息格式和MIME格式來完成Web Services交互的規范。
WSDL描寫了:
1)服務做些甚么?
服務所提供的操作
2)如何訪問服務?
數據格式和訪問服務操作的必要協議
3)服務位于何處?
由特定協議決定的網絡地址,如URL
SOAP即簡單對象訪問協議(Simple Object)是1種輕量級協議,用于在分散型、散布式環境中交換結構化信息。SOAP利用XML技術定義1種可擴大的消息處理框架,提供了1種可通過量種底層協議進行交換的消息結構。這類框架的設計思想是要獨立于任何1種特定的編程模式和其他特定實現的語義。
SOAP包括以下幾部份:誰來處理這些消息;消息包括的內容;和這些內容是可選的或是必須的。以下圖:
也就是說這幾種技術的核心都是XML,XML是Web Service平臺中表示數據的基本格式,它既是平臺無關的、優勢廠商無關的。解決了數據表示的問題。
WebService是建立可互操作的散布式利用程序的新平臺。它是1套標準,定義了利用程序如何在Web上實現互操作性。任何語言,任何平臺上的客戶都可以瀏覽Web Service提供的WSDL文檔,用以調用WebService.客戶根據WSDL描寫文檔,生成1個SOAP要求消息。生成的SOAP要求會被嵌入在1個HTTP POST要求中,發送到Web服務器來。Web服務器把這些要求轉發給Web Service要求處理器。
Web Service減輕了目前企業利用中出現的整合危機,相比較其他整合技術,使用Web Service可以以較低的代價對各種企業利用進行整合。從技術上講,Web Service是1種新的機遇Web和XML的中間件,XML和Web解決了傳統利用之間整合的各種辣手問題,例如異質性,傳統利用都是平臺相干的,而Web和XML是平臺無關的技術。
Web Service實現了跨平臺,跨語言的遠程調用。但其實不是只要遠程調用都要用Web Service的,需要斟酌到效力的問題,大環境問題等等。