【问题标题】:When to choose webservices?何时选择网络服务?
【发布时间】:2011-06-10 07:44:32
【问题描述】:

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

网络服务总是首选吗?何时选择 webservices、sockets 等有什么经验法则吗?

【问题讨论】:

    标签: web-services api sockets web-applications


    【解决方案1】:

    这实际上取决于您的客户是谁、您希望获得什么样的性能以及您的客户对技术的了解程度。

    套接字等可能会为您提供良好的性能速度,但您和您的客户的开发时间可能会增加。 SOAP Web 服务在很久以前就建立了一个标准,但现在人们更多地使用 REST Web 服务,因为它的简单性和更少的开销。 twilio 提供的 RESTful Web 服务给我留下了深刻的印象

    我确信 Twilio 每天会接到数十万个电话,而且它们的表现也不错。 请查看以下文章以进一步了解它们 http://www.ibm.com/developerworks/webservices/library/ws-restful/ http://grails.org/doc/1.0.x/guide/13.%20Web%20Services.html

    【讨论】:

      【解决方案2】:

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

      所以我会说,如果您向“外部”开放服务以使用 Web 服务,除非速度真的是最大的问题。

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

      如果您的工作负载很高,cahcing 也非常重要,因为它可以显着加快系统速度。

      【讨论】:

        【解决方案3】:

        我会尽可能选择 Web 服务(SOAP 或 REST)。与家庭 brew 套接字实现相比,扩展 Web 服务更容易,并且构建 Web 服务所需的时间更少。

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

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-10-24
            • 2014-10-05
            • 2011-06-30
            • 1970-01-01
            • 2012-04-21
            • 1970-01-01
            • 2021-07-26
            相关资源
            最近更新 更多