代码之家  ›  专栏  ›  技术社区  ›  Geo

可伸缩、安全且易于使用的Web服务有哪些特点?

  •  1
  • Geo  · 技术社区  · 14 年前

    我们的应用程序目前公开了按照以下w3c标准使用WSDL 1.1和SOAP 1.1构建的web服务:

    http://schemas.xmlsoap.org/soap/http

    我们想把我们的网络服务改造成 可伸缩、安全且易于使用

    易用性指的是,目前web服务没有在该层上集成任何业务逻辑。基本上,我们当前的web服务可以看作是外部/第三方开发人员的导入/导出服务。

    我对改版有什么期待 可伸缩、安全且易于使用?


    Web服务的当前问题

    • 不可扩展,因为任何开发人员都可能打开20K个会话并使web服务服务器崩溃。
    • 不安全,因为来自站点管理员的相同用户可以使用web服务。

    我们的客户喜欢我们的web服务接口的原因是,他们在web应用程序中添加的任何数据元素都将立即在web服务(wsdl)定义中公开。


    还有一点信息:

    我希望证实我的理论,如果我们以RESTful的方式实现web服务,上面提到的所有问题都可以得到解决。因为每个事务不会导致内存累积,并且每个事务都会包含一个带有公钥或类似密钥的安全设置。

    不管怎样,JRO都是对的,如果我把问题分成一系列,我会得到更好的结果。我会把这个问题一直保留到一天结束,如果我没有得到更好的我会接受JRO的建议。

    3 回复  |  直到 14 年前
        1
  •  2
  •   jro    14 年前

    让我们从您确定的web服务问题着手解决这个问题(围绕您的问题的概念对于这个空间来说太大了):

    • 您必须登录(第一个事务)才能接收令牌

    • HTTP连接问题最好由web服务器和负载均衡器来处理,而不是程序化管理。如果需要限制单个端点的连接,请从硬件层开始。

    • 不安全,因为来自站点管理员的相同用户可以使用web服务。 这意味着服务的安全实现,以及如何在内部处理凭据的逻辑。除了解决这个问题,你不知道该说什么——这是你的逻辑,一旦你有了证书,你就可以控制该做什么。如果问题出在安全控制模型上,那就另当别论了。确定问题的真正症结是什么,不要将您的实现与经过验证的真实模型混淆。

    • 如果不详细说明这意味着什么,它的意义就很小;没有足够的上下文。然而,这类问题倾向于web服务方法/功能设计。为此,方法中的粗粒度是首选的——使它们更具包容性,而不是更少。

    我的建议是:咬掉一个单独的部分,比如安全实现,然后首先处理它。试图同时处理其他事情只会让你更加困惑。

        2
  •  1
  •   ceejayoz    14 年前

    可伸缩、安全且易于使用的Web服务有哪些特点?

        3
  •  0
  •   backslash17    14 年前

    关于安全性,我建议你下载一份微软的 Web Service Security Guide .

    本指南将帮助您在Web服务需求的上下文中快速做出最合适的安全决策,同时为每个选项提供基本原理和培训。提供了一种场景驱动的方法来演示不同安全模式成功的情况。该指南还结合了一系列决策矩阵,以帮助您应用自己的标准来使用Web服务安全模式以满足环境的需求

    它在任何开发环境中都非常有用。