Write a blog article
Writing
1

SOAP服務(wù)發(fā)現(xiàn)(UDDI)

SOAP 的服務(wù)發(fā)現(xiàn)用的是 UDDI(Universal Description, Discovery, Integration) 統(tǒng)一描述發(fā)現(xiàn)集成,相當(dāng)于一個注冊中心,服務(wù)提供方將 WSDL 文件發(fā)布到注冊中心,使用方可以到這個注冊中心查找。

UDDI 具有兩項功能:

UDDI 包括用于 SOAP 消息的 XML 模式(它定義一組文檔來描述企業(yè)和服務(wù)信息)、用于查詢信息和將信息發(fā)布到目錄中的一組公共 API 以及用于在同級 UDDI 節(jié)點之間復(fù)制目錄條目的 API。

— 什么是UDDI注冊表?

UDDI依賴于企業(yè)的分布式注冊表及其服務(wù)描述,以通用XML格式實現(xiàn),以管理和實現(xiàn)Web服務(wù)的發(fā)現(xiàn)。Web服務(wù)提供商在UDDI注冊表上宣傳他們的服務(wù),該注冊表管理有關(guān)提供商、服務(wù)實現(xiàn)和服務(wù)元數(shù)據(jù)的所有信息。在注冊表上組織和編目Web服務(wù)允許在企業(yè)內(nèi)部或與外部合作伙伴共享和重用。今天,這些注冊表基于UDDI 3.0規(guī)范。

UDDI注冊表為提供商、服務(wù)和綁定的三個主節(jié)點的中央存儲庫。有兩種類型的注冊機(jī)構(gòu)可供選擇:私人和公共。私人注冊表允許企業(yè)在安全的私人環(huán)境中發(fā)布和測試其內(nèi)部網(wǎng)絡(luò)應(yīng)用程序。公共注冊表由包含企業(yè)及其網(wǎng)絡(luò)服務(wù)信息的同行目錄組成。私人和公共注冊機(jī)構(gòu)都符合相同的規(guī)范。

SOAP 和 REST 有何相似之處?

要構(gòu)建應(yīng)用程序,可以使用許多不同的編程語言、架構(gòu)和平臺。在這些不同的技術(shù)之間共享數(shù)據(jù)是一項挑戰(zhàn),因為這些技術(shù)具有不同的數(shù)據(jù)格式。SOAP 和 REST 的出現(xiàn)都是為了解決這個問題。

您可以使用 SOAP 和 REST 在不同的應(yīng)用程序之間構(gòu)建 API 或通信點。Web 服務(wù)API 這兩個術(shù)語可以互換使用。但是,API 是更廣泛的類別。Web 服務(wù)是一種特殊類型的 API。

以下是 SOAP 和 REST 之間的其他相似之處:

您可以使用 SOAP 或 REST 來構(gòu)建安全、可擴(kuò)展且容錯的分布式系統(tǒng)。

SOAP 和 REST 的區(qū)別是什么?

許多傳統(tǒng)系統(tǒng)可能仍會遵循 SOAP 準(zhǔn)則,而在基于 Web 的場景中,REST 常常被視為一種后來居上的替代方法。REST 是一組可靈活實施的準(zhǔn)則,而 SOAP 則是具有特定要求(例如 XML 消息傳遞)的協(xié)議。

REST API 屬于輕量級 API,因此非常適合較新的環(huán)境,例如物聯(lián)網(wǎng)(IoT)、移動應(yīng)用開發(fā)和無服務(wù)器計算,大部分公共 API(例如 冪簡API Hub上的所有API)都遵循 REST 準(zhǔn)則。SOAP Web 服務(wù)可提供符合許多企業(yè)需求的內(nèi)置安全性和事務(wù)合規(guī)性,但同時也會讓它們變得結(jié)構(gòu)繁重,因此更適用于企業(yè)內(nèi)部復(fù)雜系統(tǒng)集成。

從技術(shù)棧角度進(jìn)行比較:

SOAP REST
代表 簡單對象訪問協(xié)議 表述狀態(tài)轉(zhuǎn)移
它是什么? SOAP 是應(yīng)用程序之間通信的協(xié)議 REST 是一種用于設(shè)計通信接口的架構(gòu)風(fēng)格。
設(shè)計 SOAP API 會公開操作。 REST API 會公開數(shù)據(jù)。
傳輸協(xié)議 SOAP 是獨立的,可以與任何傳輸協(xié)議一起使用。 REST 只能通過 HTTPS 使用。
數(shù)據(jù)格式 SOAP 僅支持 XML 數(shù)據(jù)交換。 REST 支持 XML、JSON、純文本、HTML
性能 SOAP 消息較大,這會使通信變慢。 由于較小的消息和緩存支持,REST 具有更快的性能。
可擴(kuò)展性 SOAP 很難擴(kuò)展。服務(wù)器通過存儲先前與客戶端交換的所有消息來維持狀態(tài)。 REST 易于擴(kuò)展。它是無狀態(tài)的,因此每條消息都獨立于之前的消息進(jìn)行處理。
安全性 SOAP 支持加密,但需要額外開銷。 REST 支持加密而不影響性能。
使用案例 SOAP 在遺留應(yīng)用程序和私有 API 中非常有用。 REST 在現(xiàn)代應(yīng)用程序和公有 API 中非常有用。

參考資料

如何理解SOA,SOAP,RPC, REST 協(xié)議及其之間的關(guān)系
SOAP 與 REST 之間有何區(qū)別?
了解SOAP、WSDL和UDDI基本概念
WSDL規(guī)范解讀
WSDL使用解讀
簡單入門案例
UUDI教程

一站搜索、試用、比較全球API!
冪簡集成已收錄 5527種API!
試用API,一次比較多個渠道