包装基于REST的Web服务

时间:2012-08-10 17:51:53

标签: asp.net-mvc web-services rest azure

我正在设计一个将在Microsoft Windows Azure下在线运行的系统。一个组件是基于REST的Web服务,它实际上是一个包装器(使用代理模式),它调用业务伙伴的REST Web服务,这与BLOB存储有关(注意:我们没有使用azure存储)。大多数功能都将接收请求,调用我们的合作伙伴Web服务,接收请求,然后将其传递回客户端。

这样做有很多原因,但其中一个重要原因是我们将支持三个客户端:桌面应用程序(win和mac),移动应用程序(iOS)和Web前端。如果合作伙伴发生变化,我们会向合作伙伴发送一个API,以保护我们。

我希望我们的服务支持数据传输格式的JSON和XML,Web的JSON以及桌面和移动的XML(我们在这些产品中已经有了XML解析器)。我们的合作伙伴也支持这两种格式。

我计划将ASP.NET MVC 4与Web API一起使用。在我设计这个时,关注我的是C#的静态类型检查。如果合作伙伴在数据中添加或删除元素会怎样?我们可能会为此进行防御性编码,但我仍然感到有些担忧。此外,我们必须进行相当多的繁琐编码,设置我们的API,然后转身并调用我们合作伙伴的API。尽管如此,可能没有多少选择。但是,在我的脑海里,我想知道是否有更动态的语言可能是更好的选择。

我想伸出手去看看以前是否有人必须这样做,他们曾经使用过哪些技术解决方案(我不喜欢这个,现在Azure可以托管其他技术),如果有人做过这样的事情可以指出出现的任何问题。谢谢!

研究这个问题似乎只能找到专注于通过代理服务器连接SOAP Web服务的解决方案,而不是我在这里指的是什么。

0 个答案:

没有答案