SOA主要是一堆Web服务吗?

时间:2010-11-19 16:03:25

标签: soa

了解SOA。它主要是通过Web服务解耦,一个服务为另一个服务提供Web服务,从而保持解耦和封装?感谢。

编辑:那可能是一个很好的前端,像一些MVC设计?

4 个答案:

答案 0 :(得分:1)

这是我前面提到的另一个问题的答案,它可能有助于SOA原则:Rebuild N-tier app into Service-Oriented Architecture (SOA)?

以下是SOA的介绍:http://www.ibm.com/developerworks/library/ws-soa-design1/

简而言之,它不仅仅是网络服务,还有如何为多个系统重用提供粗粒度的“业务服务”,以及如何跨多个业务服务进行调用以满足更广泛的业务流程。

开发一些Web服务!= SOA

答案 1 :(得分:1)

SOA通常使用Web服务实现,但可以使用将服务实现与接口分离的任何方法来实现。当应用程序可以请求提供所需服务标准的任何服务提供的详细信息时,这些内容通常会在目录中显示给业务。

MVC是可以访问SOA的应用程序模式,但我会为您的应用程序使用最佳模式,而不是试图将其作为单一模式。请记住,SOA调用很可能是异步操作的。

答案 2 :(得分:0)

这里有很多链接可以挑战SOA只关于Web服务的想法,它探讨了应用程序中的每个类都是服务的想法,我们可以在其中使用许多不同的传输(web,tcp,队列)我们的SOA。 SOA是用于构建面向服务的应用程序的方法。

以下是如何构建SOA的一些实际示例。

我建议您阅读Thomas Erl和Roger Sessions撰写的文章,这将使您能够掌握SOA的全部内容。

SOA Design Pattern

Achieving integrity in a SOA

Why your SOA should be like a VW Beetle

SOA explained for your boss

Building a SOA

WCF Service Performance

选择新的或企业Web开发的演示模式是一项艰巨的任务,在我看来只有三个; View Model,Model-View-Presenter(MVP)或ASP.NET MVC(Model2衍生物)。

您可以在此处阅读完整文章ASP.NET MVC Patterns

答案 3 :(得分:0)

尽管选择了(错误的)答案,但我必须声明SOA与Web服务无关。 “服务”一词在英语中过载,所以人们有时会感到困惑。

SOA是一种架构风格,一组指导和原则,帮助我们将系统建模为“由其他系统组成的系统”。 SOA中的服务术语可以定义为“特定业务能力的技术权威”。 SOA有助于处理功能之间的耦合,包括时间和空间耦合。

正如您所看到的,将系统设计为一组松散耦合且自负责任的系统(服务)与使用Web服务,WCF或其他“酷事”无关。您可以使用它们,也可以不使用它们。或者在一个环境中使用它们,但不能在另一个环境中使用它们。

绝对不会将Web服务用作SOA中服务之间的通信协议,因为它们会立即引入时间和空间耦合。