将第三方Web服务安装到您的应用程序设计中

时间:2009-03-19 17:12:28

标签: design-patterns

我们有一个每天运行几次的流程(通过Windows服务),也可以由管理员级别用户(通过Web应用程序)随时调用。此过程通过Web服务从合作伙伴处获取数据集,然后我们以自己的格式将此数据与本地副本合并。很简单。

我的问题是它如何适合我们的应用程序设计。我们有一个相当直接的Application Services层,它与我们的存储库交互以处理我们的域对象。域名是持久性无知的。

这个过程应该如何适应这种架构?我们,

  1. 将大多数逻辑放在应用程序服务中?只需让它调用第三方服务,从存储库中获取我们的本地对象并执行我们的更新/添加/等并保存回存储库。基本上只是将第三方服务视为另一个存储库。
  2. 让应用程序服务获取我们的本地数据(暂时不要担心数据量),将其传递到将调用第三方服务的域级服务,根据需要合并数据,然后将新数据集返回到应用服务提交到存储库?
  3. 其他选择......

1 个答案:

答案 0 :(得分:0)

我会试用远程服务网关“模式” 从Ajax的角度来看,下面是概念的链接,都是它,而不是一个过程。然而,当我第一次看到2006年在Dobbs建筑和设计界展示的概念时,这个例子更像是你的情况 - 一段时间的服务。

http://blog.ontheheap.com/2008/06/06/ajax-and-the-service-gateway-pattern/

链接中的示例提供了基础知识。在这种情况下,它不必进行翻译。但是,网关可以分成不同的部分,以便它包括转换层或数据合并层。

我采用这种方法取得了成功。