何时选择网络服务?

时间:2011-06-10 07:44:33

标签: web-services api sockets web-applications

我想要外部访问网络应用程序。许多客户端上的多个应用程序将广泛使用此服务(希望如此),这将始终导致数据库上的CRUD函数。

Web服务始终是首选吗?选择网络服务,套接字等时是否有任何经验法则?

4 个答案:

答案 0 :(得分:2)

这取决于您的客户是谁,您在看什么样的表现,您的客户对技术的了解程度如何。

套接字等可能会给您带来良好的性能速度,但您和您的客户的开发时间可能会增加。 SOAP Web服务在很长一段时间内建立了标准,但现在人们更多地使用REST Web服务,因为它简单且开销较少。 twilio

提供的RESTful网络服务给我留下了深刻的印象

我确信Twilio每天接到成千上万的电话,而且表现得很好。 有关它们的更多信息,请查看以下文章 http://www.ibm.com/developerworks/webservices/library/ws-restful/ http://grails.org/doc/1.0.x/guide/13.%20Web%20Services.html

答案 1 :(得分:1)

Web服务的最大好处是易用性和预定义接口,但与低级套接字通信相比,它们“更慢”,因为例如需要创建SOAP-Service的XML请求/响应/ interpreded。

所以我会说,如果你打开“局外人”服务使用网络服务,除非速度确实是最大的问题。

此外,由于Web服务大多数是通过端口80访问的,因此代理/防火墙的问题比使用随机其他端口的套接字要少得多。

如果你的工作量很大,那么cahcing也非常重要,因为它可以显着加快系统速度。

答案 2 :(得分:1)

我会尽可能选择Web服务(SOAP或REST)。扩展Web服务比使用home brew socket实现更容易,并且构建Web服务所需的时间更短。

如果你需要双向通信(我知道WCF有回调),套接字通常是首选。

答案 3 :(得分:0)

Webservice使其成为不同类型的客户端和应用程序交换数据的通用方式,也取决于您的架构和基础架构。

套接字编程有点复杂,有些时候可能会在数据交换中产生问题。这完全取决于你应该使用的功能要求和架构。

如果您的客户将从应用程序的浏览器中使用这些数据,那么webservice是更好的选择。

相关问题