SOA中的Web服务文档(模式,位置)发现

时间:2013-06-24 15:35:41

标签: wsdl wso2 biztalk soa

我需要就允许存储和找到Web服务(WCF)文档(wsdl,模式,位置等)的方法提出建议。能够监控服务将是一个明确的奖励。

这需要在更广泛的背景下考虑,在可能的情况下,使用应该可以由其他框架的客户端访问的Microsoft技术构建到SOA。目的是开发一个系统,如果服务被移动或新版本联机,客户不需要改变 - 应该可以写客户'知道'只有一个地址/位置能够适当地指导他们。

拥有服务文档的中心位置也很重要;我们的业务分析师应该能够从中心位置找到他们所需的所有服务。我们还希望(可能)将该服务信息存储库公开给合作伙伴。我知道我们可以生成wsdl并手动管理它们(在某处创建一个文件夹并在发送之前将其压缩)但这似乎非常耗费人力并且容易出错(就我而言)。

目前我看到它有两种广泛的方法;

  1. 写一些使用WS-Discoverability的定制产品和可以响应客户请求的a dynamic routing service
  2. 获得现成的解决方案。
  3. 我不得不说,现成的解决方案是最有可能被接受的方法,但我必须至少考虑替代方案。对于我已经确定的现成解决方案

    1. 的BizTalk
    2. WSO2 ESBWSO2 Governance Registry
    3. 可能提供功能。

      我需要知道的事情
      我是否理解广泛的方法? 我还应该考虑评估其他方法吗?

      具体而言,我还需要了解我考虑的任何方法的利弊,并了解如何实施。

1 个答案:

答案 0 :(得分:0)

首先,我绝对不会使用Biztalk或任何WS-Whatever基于SOAP的协议。

变得更简单,你最终会成为一个幸福的人。

对于中间件,我会去Mass Transit

或者如果您愿意,NServiceBus,我不是一个很大的粉丝,但它提供了另一层次的企业支持。如果您选择使用Event SOA,您将获得异步操作作为奖励。

定义中间件层后,就可以定义API层了。我不会将我的服务暴露给外界,如果中间件是基于事件的,其中的服务只能响应放在总线中的事件,所以我会使用带有REST接口的ASP.NET Web API来获取请求到外部,并根据请求类型创建相关消息(命令)并将其放在总线上。

达到高水平但我希望它有所帮助。