簡體   English   中英

什么是面向服務的架構?

[英]What is service-oriented architecture?

什么是面向服務的架構?

SOA是開發面向服務的應用程序的方法,WCF是可用於開發面向服務的應用程序的技術。 但SOA為應用程序定義了嚴格的規則(稱為SOA原則)。 如果您不遵循這些規則,那么您正在構建服務,但這些服務不符合SOA。

WCF允許您開發大量類型的服務。 您可以開發符合SOA或不符合SOA的可互操作SOAP服務。 您可以使用不可互操作的功能開發純.NET服務,並且可以開發REST服務。

此外,在SOA服務中可以具有與WCF不同的含義。 在WCF中,服務是端點上公開的功能集合。 在SOA中,服務可以是整個應用程序(WCF集合服務) - 小型和大型SOA之間的差異。

SOA原則是:

  • 邊界是顯式的 - 服務不與其他服務共享任何內容(即使數據庫表和數據也無法共享)
  • 服務是自治的 - 每個服務都是獨立的,可以單獨部署和版本化
  • 服務共享模式和契約,而不是類 - 服務在WSDL中描述,傳輸的數據在XSD中描述,編排(聚合)在BPEL中描述
  • 服務兼容性基於策略 - WSDL包含用於描述互操作性所需配置的WS-Policies

如您所見,特別是在構建WCF服務時,可能很容易違反前兩個原則。

SOA是一種設計完整解決方案的方法,它是一組普遍接受的通信,狀態管理,兼容性等實踐。在軟件架構中,SOA是一組獨立構建的服務(不一定是Web服務)。支持一系列客戶端應用程序。 模塊化設計有助於維護和業務協作。 SOA還提供了一些開發指南:

  • 向后兼容性的限制
  • 元數據暴露
  • 服務的可發現性

另一方面,WCF只是一種支持技術,可以幫助您在.NET中構建服務。

您可以在沒有WCF的情況下創建SOA,就像創建一堆WCF服務不會使您的架構成為面向服務的架構一樣。

面向服務的體系結構是一種軟件體系結構概念,其中一個或多個服務相互交互。 在這里,服務意味着完成目的的工作單元。 例如,銷售鐵路的在線機票是一種服務,在線酒店預訂是一種服務,采購在線支付是一種服務等。現在,讓我們考慮一家酒店公司從其自己的網站在線銷售其房間。 在這種情況下,該網站使用本地服務。 同一家酒店還可以通過第三方旅游門戶網站銷售客房。 在第二種情況下,第三方旅行門戶使用遠程服務或Web服務。 通過旅游門戶在線銷售酒店預訂是面向服務架構的一個例子。 在面向服務的體系結構中,兩個或多個方使用Web服務相互交互。 其中很少是Web服務提供商,很少是Web服務消費者。 可以通過使用Web服務遵循面向服務的體系結構來構建軟件組件。 WCF是一種構建服務的技術。

SOA只是一種方法,通過它我們可以使用Web服務在.NET和JAVA等不同技術之間進行交互。 為此,您必須了解如下所示的一些事項。

  1. XML
  2. WSDL
  3. UDDI
  4. 肥皂

了解這些內容后,您可以輕松應用此SOA

WCF是一種使構建服務更容易的技術,它不僅可以在所有傳輸上運行,因此它比僅適用於Http的Web服務更通用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM