繁体   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