代码之家  ›  专栏  ›  技术社区  ›  johnny

SOA主要是一堆web服务吗?

soa
  •  1
  • johnny  · 技术社区  · 14 年前

    了解SOA。它是否主要是通过web服务来实现解耦,一个服务向另一个服务提供web服务,从而保持解耦和封装?谢谢。

    编辑:这可能是一个很好的前端,他们喜欢一些MVC设计?

    4 回复  |  直到 14 年前
        1
  •  1
  •   Lazarus    14 年前

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

    MVC是一种可以访问SOA的应用程序的模式,但是我会为您的应用程序使用最好的模式,而不是试图强行进入一个单一的模式。请记住,SOA调用可能是异步操作的。

        2
  •  1
  •   Community gkalpak    7 年前

    下面是我刚才对另一个问题的回答,这个问题可能有助于解决SOA原则: Rebuild N-tier app into Service-Oriented Architecture (SOA)?

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

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

    开发一些web服务!=SOA

        3
  •  0
  •   MetalLemon    14 年前

    这里有一个很好的链接选择,它挑战了SOA仅仅是关于web服务的想法,它探索了应用程序中的每个类都是一个服务的想法,我们可以在SOA中使用许多不同的传输(web、tcp、队列)。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开发选择表示模式是一项艰巨的任务,在我看来只有三种模式:视图模型、模型视图演示者(MVP)或ASP.NET MVC(Model2派生)。

    你可以在这里读整篇文章 ASP.NET MVC Patterns

        4
  •  0
  •   Alexey Raga    11 年前

    尽管选择了(不正确的)答案,但我必须声明SOA与web服务无关。 “服务”这个词在英语中太多了,所以人们有时会感到困惑。

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

    如您所见,将您的系统设计为一组松散耦合、自我负责的系统(服务),与使用web服务、WCF或其他“酷东西”无关。你可以用,也可以不用。或者在一个上下文中使用它们,而不是在另一个上下文中使用它们。

    最肯定的是,在SOA中,您不会将web服务用作服务之间的通信协议,因为它们会立即引入时间和空间耦合。