天天看點

webService和Restful

restful是一種架構風格,其核心是面向資源,更簡單;而webService底層SOAP協定,主要核心是面向活動;兩個都是通過web請求調用接口

RESTful是什麼:

首先要了解什麼是REST,REST就是(REpresentational State Transfer單詞太長記不住就對了)是一種構架風格,REST指的是一組架構限制條件和原則。滿足這些限制條件和原則的應用程式或者設計就是RESTful,核心就是面向資源,REST專門針對網絡應用設計和開發方式,以降低開發的複雜性,提高系統的可伸縮性,為什麼這麼說,因為RESTful是無狀态的,無狀态是指任意一個web請求必須完全與其他請求隔離,是獨立的,當請求端提出請求時,請求本身包含了這一請求的全部資訊,這個限制提高系統的可伸縮性,可見性,可靠性。無狀态優勢就是在調用接口,操作資源的時候,可以不考慮上下文,不用考慮目前狀态,降低複雜度。

REST專門針對網絡應用設計和開發方式,以降低開發的複雜性,提高系統的可伸縮性。REST提出設計概念和準則為:

1. 網絡上的所有事物都可以被抽象為資源(resource)

2. 每一個資源都有唯一的資源辨別(resource identifier),對資源的操作不會改變這些辨別

3. 所有的操作都是無狀态的

REST簡化開發,其架構遵循CRUD原則,該原則告訴我們對于資源(包括網絡資源)隻需要四種行為:建立,擷取,更新和删除就可以完成相關的操作和處理。我們可以通過統一資源辨別符(Universal Resource Identifier,URI)來識别和定位資源,并且針對這些資源而執行的操作是通過 HTTP 規範定義的。其核心操作隻有GET,PUT,POST,DELETE。由于REST強制所有的操作都必須是stateless的,這就沒有上下文的限制,如果做分布式,叢集都不需要考慮上下文和會話保持的問題。極大的提高系統的可伸縮性。

WebService是什麼:

WebService就是一個應用程式,它向外界暴露出一個能夠通過Web進行調用的API。也就是說,你可以通過程式設計的方法通過Web來調用這個應用程式。它可以跨程式設計語言,跨作業系統平台的這麼一個遠端調用技術,采用SOAP(面向對象通路協定)協定傳輸。

Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。是:通過SOAP在Web上提供的軟體服務,使用WSDL檔案進行說明,并通過UDDI進行注冊。

XML:(Extensible Markup Language)擴充型可标記語言。面向短期的臨時資料處理、面向網際網路絡,是Soap的基礎。

Soap:(Simple Object Access Protocol)簡單對象存取協定。是XML Web Service 的通信協定。當使用者通過UDDI找到你的WSDL描述文檔後,他通過可以SOAP調用你建立的Web服務中的一個或多個操作。SOAP是XML文檔形式的調用方法的規範,它可以支援不同的底層接口,像HTTP(S)或者SMTP。

WSDL:(Web Services Description Language) WSDL 檔案是一個 XML 文檔,用于說明一組 SOAP 消息以及如何交換這些消息。大多數情況下由軟體自動生成和使用。

UDDI (Universal Description, Discovery, and Integration) 是一個主要針對Web服務供應商和使用者的新項目。在使用者能夠調用Web服務之前,必須确定這個服務内包含哪些商務方法,找到被調用的接口定義,還要在服務端來編制軟體,UDDI是一種根據描述文檔來引導系統查找相應服務的機制。UDDI利用SOAP消息機制(标準的XML/HTTP)來釋出,編輯,浏覽以及查找注冊資訊。它采用XML格式來封裝各種不同類型的資料,并且發送到注冊中心或者由注冊中心來傳回需要的資料。

電腦刺繡繡花廠 http://www.szhdn.com

廣州品牌設計公司https://www.houdianzi.com

二、調用原理

webService和Restful

實作一個完整的Web服務包括以下步驟:

◆ Web服務提供者設計實作Web服務,并将調試正确後的Web服務通過Web服務中介者釋出,并在UDDI注冊中心注冊; (釋出)

◆ Web服務請求者向Web服務中介者請求特定的服務,中介者根據請求查詢UDDI注冊中心,為請求者尋找滿足請求的服務; (發現)

◆ Web服務中介者向Web服務請求者傳回滿足條件的Web服務描述資訊,該描述資訊用WSDL寫成,各種支援Web服務的機器都能閱讀;(發現)

◆ 利用從Web服務中介者傳回的描述資訊生成相應的SOAP消息,發送給Web服務提供者,以實作Web服務的調用;(綁定)

◆ Web服務提供者按SOAP消息執行相應的Web服務,并将服務結果傳回給Web服務請求者。(綁定)

RESTful跟WebService的差別:

繼續閱讀