客户端类库与Web服务/ Web服务和服务器类库之间的通信

时间:2010-07-27 13:48:12

标签: web-services design-patterns

想知道其他人在层之间进行通信的做法/最佳做法。这个问题涉及2-3层和3-4层之间的沟通。

我们的基本架构(按顺序)如下:

  1. UI
  2. 前端业务类
  3. 网络服务
  4. 后端业务类
  5. DAL
  6. Web服务只是一个包含对后端类库的日志记录和身份验证的外观。

    因此,Web服务传递一个请求对象,该对象包含Web方法所需的参数以及用户凭证(例如,用户凭证存储在基类中,因为我们总是需要将其传递给webservice)并响应响应对象(包括状态和消息,如果失败等,以及所需的对象),请求& response使用自定义泛型类/或接口,其中只返回一个结果,否则需要创建一个类。

    有时为第4层的响应对象执行此操作是有意义的(尽管我们不使用请求对象,除非许多参数需要是pasaws),在这种情况下我们只在第3层中有一个适配器类它将此返回给客户端。为了保持一致性,我一直考虑这样做,尽管认为这可能有点过头了。

    因此,为了重复问题,层之间进行通信的最佳实践是什么?并且应该/人们使用上面概述的这种方法(它对我们有效)并且3-4层应该实现类似于2-3的方法吗?

    可能的考虑因素:

    • 目前一切都是由开发团队编写的,一些客户代码可能会在未来外包
    • 未来的Web服务将基于WCF(不确定效果设计是否除了编码到我最喜欢的接口之外)。
    • 我们使用.net

1 个答案:

答案 0 :(得分:0)

为了完整起见:

在类库中提供响应/请求似乎是个好主意,这样如果你想将Web服务更改为WCF,就可以做更少的工作。