论Web Service 相关技术
摘要:隨著Internet和weh技術的迅速發展,傳統的分布式計算技術已經不能很好的適用于Web環境。正是基于這種情況,Web Service技術應運而生。Web Service是一個新概念,它的系統架構、實現技術是現有應用的面向Internet的一個延伸。Web是為了程序到用戶的交互,而Web Service是為程序到程序的交互作準備,web Service已成為IT產業近幾年來探索的熱點課題之一。
?
關鍵詞:Web Service;特點;技術
?
1?Web Service關鍵技術
Web Service以技術棧的形式規范了Web Service體系中的各類關鍵技術,包括服務的描述、發布、實現以及消息的傳輸等,
?
1.1??? XML和HTTP。
這是Web Service最基本的平臺。}玎 P是—個在Internet上廣泛使用的協議,為Web Service部件通過Internet交互奠定了協泌基礎,并具有穿透防火墻的良呼特陛。可擴展標記語言XML是一種元語言,是一種新的Internet上的數據交換標準,與HTML使用標簽來描述外觀和數據不同,XML嚴格地定義和描述可移植的結構化數據,它是Web Service得以實現的語言基礎。Web Service的其它協議規范都是以XML形式來描述和表達的。
?
1.2??? SOAP。
簡單對象訪問協議(S0A Simple Object Access Protocol)是一個基于可擴展標識語言(XML,The Extensible Markup Language),在分布式的環境中交換信息的簡單的協議。它建立在HTTP協議之上,可以說它是HTTP與XML的結合。SOAP為在—個松散的、分布式的環境中使用XML對等的交換結構化的和類型化的信息提供了一種簡單的機制。SOAP本身并不定義任何應用語義,如編程模型或特定語義實現;實際上它通過提供—個有標準組件的包模型和在模塊中編碼數據的機制,定義了—個簡單的表示應用程序語義的機制。這使SOAP能夠被用于從消息傳遞到RPC的各種系統。
SOAP規范由三部分組成:
a.SOAP封裝結構定義了一個整體框架用來表示消息中包含什么內容,準來處理這些內容已及這些內容是可選的還是必需的。
b.SOAP編碼規則定義了用以交換應用程序定義的數據類型的實例的一系列機制。
c.SOAP RPC表示定義了—個用來表示遠程過程調用和應答的協定。
SOAP的消息由三部分組成:SOAP信封(Envelope),SOAP頭(Header) SOAP體(Body)。
SOAP體包含用于執行方法調用所需要的信息,例如方法名稱和參數等。該部分是強制必需的。
SOAP頭包含其他的一些附加數據,例如安全或事務信息。該部分是可選的。
SOAP信封將SOAP頭和SOAP體封裝在一起。
?
下面是一個SOAP請求示例,請求—個通過產品編號獲得產品價格的服務(服務名稱是Get—ProductPrice,它接受—個“ProductID”參數):
<SOAP-ENV:Envelope
xmlns:SOAP-ENV-“http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>
<S0AP—ENV:Body>
<m:GetProductPrice xmlns:m=“Some—URI”>
<ProductID>SD9001</ProductID >
</m:GetProductPrice>
</S0AP—ENV:Body>
</SOAP—ENV:Envelope>
?
相應的SOAP響應可能如下所示:
?
<SOAP-ENV:Envelope
Xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/”
SOAP—ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/>
<S0AP—ENV:Body>
<m:GetProductPriceResponse xmlns:m=“Some-URI”>
<Price>45.6</Price>
</m:GetProductPriceResponse>
</S0AP—ENV:Body>
</SOAP-ENV:Envelope>
?
其中,Some—URI是服務提供者的地址,Get—ProductPriee是該提供者所提供的一個Web服務方法(Web Method) ,該方法接收一個產品標識的參數(ProductID),方法返回該產品的單價,返回信息包含在Response單元中。
?
1.3??? WSDL。
隨著通信協議和消息格式在Web社區中的標準化,以結構化方式來描述通信的可能性和重要性也在13益增加。Web服務描述語言eb Services Description Language,wsDL灑過定義XML語法將網絡服務描述成具有消息交換功能的通信端點的集合,從而滿足了這種需要,它取代了以往復雜的交互式數據語言(InteractiveData Language,IDL)。WSDL服務定義為分布式系統提供了描述文檔,并且可以用作應用程序通信中所涉及的詳細信息的自動化方法,客戶端應用程序通過WSDL文檔來了解Web Service的服務信息和調用接口。
WSDL文檔將服務定義為網絡端點或網絡端口的集合。在WSDL中,端點和消息的抽象定義已從它們的具體網絡部署或數據格式綁定中分離出來。
這樣就可以重復使用抽象定義:
消息:對所交換數據的抽象描述。
端口類型:操作的抽象集合。
一種特定端口類型的具體協議和數據格式規范構成了—個可重復使用的綁定。—個端口是通過將—個網絡地址和—個可重復使用的綁定相關聯來定義的;—個端口集合定義一種服務。
?
1.4??? UDDI。
通用描述、發現和集成協議UDDI(Universal Description,Discovery and Integration),它是Web Service的信息注冊規范,同時也定義了一種編程接口。通過UDDI提供的標準接口,企業可以發布自己的Web Service供其它企業查詢、調用;也可以查詢特定服務的描述信息,并動態綁定到該服務上。通過UDDI,Web Service可以真正實現信息的“一次注冊,到處訪問”。
?
1.5??? WSFL。
WSFL (Web Service Flow Language)使用WSDL和WSEI(Web Service EndpointLanguage)來描述服務接El和它們的協議綁定。WSEL是用來描述非操作性的服務特征(如服務質量等)的—種語言。建立和實現基于計算機網絡的分布式系統模式,是對傳統模式的揚棄與創新。分布式應用系統是分布、開放的體系結構,具有良好的容錯能力、可擴展和可重組陛,處于同一網絡層次中的各個結點在邏輯結構上或地理位置上是分布的,無主從之分,能獨立地、自主地完成各自的子任務,但為完成系統的整體任務,彼此間還需進行大量的交互活動,包括信息、資料的交流與共享,相互協商、協調與合作以協同完成任務。其基本目標是將現有的各種在地理位置上或邏輯上分布的異構系統,連接到計算機網絡中去,以提高各個子系統間的信息交流與合作能力,進而實現資料、資源的共享。
?
2 ?Web Service的優勢及前景
隨著Web Service應用的日益廣泛,基于Web Service的公共技術標準SOAP,WSDL/UDDI/WSFL或是已經成為事實上的行業標準,或是正在制訂的過程中。作為Web Service的體系結構的領導者,IBM和Microsoft也開始在全球推廣Web Service技術。
?
2.1 web Service的優勢。
web Service有四大優勢:
a.互操作性增強。在服務提供者和服務請求者之間的交互是獨立于平臺和語言的,這種交互需要—個WSDL文檔描述服務,也需要一個網絡協議國常是H,ITrP協議)o互操作中的服務提供者和服務請求者不必知道互相使用的平臺和語言。
b.即時集成(Justin—time intepen)。服務發現的過程時動態發生的(通過UDDI注冊中心等),一旦服務請求者發現了服務,服務提供者的WSDL文檔就被用來將服務請求者和服務綁定到一起。這意味著服務請求者服務提供者與服務注冊中心一起工作以創建自動配置的、應的、健壯的系統。
c.通過封裝降低復雜性。服務請求者和服務提供者只考慮自己要用于交互的接口,服務請求者不知道服務提供者如何實現它的服務,服務提供者也不知道—個服務請求者如何使用他的服務,這些細節在請求者和提供者內部封裝了。
d.有效利用傳統應用系統。使用—個應用程序生成—個SOAP包裝器,然后生成一個WSDL文檔將應用程序轉換成一個Web Service的過程是相當直接的,這意味著,傳統應用系統可以以一種新的方式使用。另外,與傳統應用系統相關的基礎結構,例如安全、目錄服務、事務等也可以被包裝成—個服務。
?
2.2 Web Service在Intemet上的應用集成。
在新—代的分布式應用系統中,必須解決不同組件模型、開發工具、程序語言和應用系統之間在Intemet環境中互相溝通和合作的問題,因此軟件界勢必要一種標準的溝通機制,而這種機制正式現在的SOAP。
以往的組件通信機制總是屬于某一或幾個廠商所制訂的標準,很難在整個企業界形成為一的同一和認可,所以造成了不同組件的應用系統難于集成的情況,但現在的SOAP是獨立于任何廠商的一種標準協議,它是以XML的標準格式來封裝通信信息的一種溝通機制,其中封裝的通信信息以文本形式來表達,任何組件模型、開發工具、程序語言和應用系統以及操作系統只要支持XML和文本格式,就可以完全支持SOAP。這使得SOAP成為了lnternet上應用系統集成的關鍵。
使用SOAP協議與DCOM和CORBA技術相結合創建未來的分布式計算應用后,可以真正的解決現在分布式應用的缺陷。由于系統中直接使用了SOAP來溝通和交換數據,不在需要特定的Bridge技術,增加了執行效率,降低應用系統的復雜度,進而增加直用系統的穩定性。當企業需要集成不同的應用系統時,可以在系統間直接使用SOAP來溝通,不管對方的系統是基于什么架構和使用什么軟件技術開發的,都可 哽利的進行系統的集成。如果在系統開發中進一步使用Web Service,那么就可以重復使用Internet上各個企業提供的功能和資源,實現在Internet上無縫集成的目標。
S0A/Web Service有強大的集成能力,所有的應用系統和設備都可以通過其標準來溝通、協調,并相互調用。S0AP/Web service還可以建立新—代的分布式系統,在Web Service可以封裝好不同的服務提供者提供的服務,讓客戶段通過一致的接口調用,不再需要使用特定的API接口;而服務的核心本身可以使用SOAP/Web Service技術動態的調整和集成,這樣的架構是非常適合于使用在lntemet和動態的環境中的。男外,SOAP/Web Service架構還提供了最好的即插即用的解決方案,任何—個新的web服務或是現存的應用程序都可以方便的加入到Web Service架構的系統中,為用戶提供新的服務。
從上面的分析可以看到,使用SOAP/Web Service構建lnternet上的分布式系統具有傳統解決方案所沒有的巨大優勢,相信不用多久,SOAP/Web Service的互操作時代就會來臨。
總結
以上是生活随笔為你收集整理的论Web Service 相关技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RF相关知识整理
- 下一篇: Exception in thread