【问题标题】:Question about different layers in SOA关于 SOA 中不同层的问题
【发布时间】:2010-08-11 14:52:31
【问题描述】:

我了解到服务层在业务逻辑层之上,我们从表示层调用服务层。 但是在项目中,我们是调用同一个应用程序中定义的 Web 还是 WCF 服务?如果我们把所有的逻辑都暴露在服务层,在业务逻辑层调用服务而不是方法,那应该会牺牲性能。我怀疑我们是否在项目中这样做。但是如果我们调用其他应用程序中定义的 Web 或 WCF 服务,我想我们也可以从我们的数据访问层或业务逻辑层调用它们。我对此很困惑,谁能给我一个线索?

期待您的回复。非常感谢!

【问题讨论】:

    标签: web-services wcf soa


    【解决方案1】:

    我会对许多问题的回答是肯定的,并警告您有关路径的信息。你错过了关于 SOA 的最基本的东西。首先,在进行任何 Web 服务开发之前,您需要了解 Service Inventory 的含义。

    服务清单可以包含三种基本服务类型:

    1. 实体服务 - 这种服务适用于 数据相关问题 - CRUD。是的,查询数据库。

    2. 公用事业服务 - 这种执行基础设施的工作就像 发送电子邮件、“记录”等。

    3. 任务服务 - 协调其他服务(实体、任务和 实用程序)并实际执行业务规则。

    例如,一个 UI 应用程序可能调用一个任务服务,该任务服务又调用其他两个实体服务,执行业务逻辑,通过邮件通知用户,调用另一个任务服务,该任务服务也可能调用其他服务类型。

    但是您需要注意这一点。耦合服务意味着耦合基础设施。看书SoaPrinciples.com,然后转到SoaSchool.com。在编写高质量的服务之前,有很多东西需要了解。

    我正在使用 WCF 实现一个完全基于此概念的生态系统。其中一部分已经投入生产,我对性能完全没有问题。相反,用户真的很高兴。但这并不容易,我不会依赖标准的编程风格。编程风格发生了转变,我必须掌握并发问题和并行编程。我做过的最好的事情!我仍然无法发挥我的多核服务器的真正潜力。

    祝你好运!

    【讨论】:

      【解决方案2】:

      以下是一些关于如何使用 WCF 构建 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

      【讨论】:

        猜你喜欢
        • 2015-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 2021-09-02
        • 2011-02-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多