【问题标题】:In the webservices model are there still basically 3 tiers as the client-server model had?在 web 服务模型中,基本上仍然像客户端-服务器模型那样有 3 层吗?
【发布时间】:2009-04-04 20:51:38
【问题描述】:

基本的客户端-服务器模型(即使使用有问题的接口实现)有一个表示层、一个业务层和一个数据层。使用 web 服务模型的目录和发现方法是否被认为是一个全新的层?我认为发现层实际上只是扩展了数据层的作用,以包含有关可以在何处找到服务的信息。我正在努力理解 web 服务和 MVC 框架之间的相互作用,并且我试图从更大的角度理解目录和发现组件在哪里适合该框架。

【问题讨论】:

    标签: web-services model-view-controller client-server


    【解决方案1】:

    我会说还有一个额外的层——服务层——它位于业务层和表示层或业务层和数据层之间,这取决于你是在做薄还是厚—— “客户端”实现。该层将封装服务发现和交付,包括编组/解组数据以进行传输。请参阅 Fowler 的企业应用程序架构原则Service Layer 描述。在他的概念中,服务层位于业务层(领域模型)和表示层(UI)之间。此概念适用于瘦客户端或基于 Web 的客户端实现。

    【讨论】:

    • 所以胖客户端更有可能与服务层交互,而不是将这些发现功能委托给业务层?您的回答确实使一切都成为焦点。你的沟通方式很有天赋。 +1 并检查
    • 谢谢。我主要做网络开发,所以我不能就胖客户端案例提供具体建议。我希望您会发现 BL 之外的发现以及将发现的服务注入 BL 的适当工厂是可行的方法。
    【解决方案2】:

    我会说 Web 服务模型中基本上没有 3 层。

    Web 服务本质上是 SOA(面向服务的体系结构),它可以暗示多层(n 层)模型。它指的是分布式计算,可以扩展到具有数百个“层”的庞大系统。

    我同意您的观点,从概念上讲,与数据库相比,从服务获取数据可能类似于从其他数据源(如数据库等)获取数据,并且可以将其视为附加功能数据访问层。

    当然这也取决于语义。 “层”通常是指整个系统的离散部分(即前端、中间层、后端数据源、其他层,例如与 Web 服务的集成等);而“层”通常是指代码中的垂直层,例如表示层、控制器层、业务逻辑层、数据访问层等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      相关资源
      最近更新 更多