什么是面向服务的架构?
SOA是开发面向服务的应用程序的一种方式,而WCF是可用于开发面向服务的应用程序的技术。但是,SOA为应用程序定义了严格的规则(称为SOA准则)。如果您不遵循这些规则,您正在构建服务,但是这些服务不符合SOA。
WCF允许您开发许多类型的服务。您可以开发符合SOA标准的可互操作SOAP服务,也可以开发不符合该标准的服务。您可以开发具有非互操作特性的纯.NET服务,也可以开发REST服务。
此外,在SOA中,服务的含义可能与WCF中的含义不同。在WCF中,服务是在端点上公开的功能集合。在SOA中,服务可以是整个应用程序(一组类似WCF的服务)- 小型和大型SOA之间的区别。
SOA准则包括:
正如您看到的,特别是前两个准则在构建WCF服务时很容易被违反。
SOA是一种设计完整解决方案的方式,它是一组通常被接受的实践方法,用于通信、状态管理、兼容性等。在软件架构中,SOA是一组(不一定是Web服务)独立构建的服务,以支持各种客户端应用程序。模块化设计有助于维护和业务协作。
SOA还提供了一些开发指南:
另一方面,WCF只是一种支持技术,帮助您在.NET中构建服务。
您可以创建一个没有WCF的SOA,就像创建一堆WCF服务并不能使您的架构成为面向服务的架构一样。
WCF是一种技术,使构建服务更加容易,并且它可以在所有传输上工作,而不仅仅是HTTP,因此比仅在Http上工作的Web服务更通用。
SOA
是一种方法,通过它我们可以使用Web服务在不同的技术之间进行交互,例如在.NET和JAVA中。为此,您必须了解以下几个方面。
了解这些内容后,您就可以轻松应用SOA了。