【问题标题】:What are the characteristics of a Scalable, Secure and Easy to Use Web Services?可扩展、安全且易于使用的 Web 服务的特点是什么?
【发布时间】:2010-02-15 20:04:54
【问题描述】:

我们的应用程序目前公开了使用 WSDL 1.1 和 SOAP 1.1 构建的 Web 服务,遵循以下 w3c 标准:

http://schemas.xmlsoap.org/soap/http 是 SOAP 的 WSDL 1.1 绑定 1.1 HTTP 绑定。

我们希望改进我们的网络服务,使其可扩展、安全且易于使用

易于使用是指目前 Web 服务不包含该层上的任何业务逻辑。基本上,我们当前的 Web 服务可以被视为外部/第三方开发人员的导入/导出服务。

这种努力让我想到了这个问题:

我对改造有什么期望 我们的网络服务是 可扩展、安全且易于使用?


我们网络服务的当前问题

  • 您必须登录(第一次交易)才能接收令牌(将会话保存在内存中)才能使用它们。
  • 不可扩展,因为任何开发人员都可以打开 20K 会话并导致 Web 服务服务器崩溃。
  • 不安全,因为来自网站管理员的相同用户可以使用网络服务。
  • 使用起来并不方便,因为 Web 服务不包含任何业务逻辑。

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


还有一点信息:

我希望证实我的理论,即如果我们以 RESTful 方式实现我们的 Web 服务,上述所有问题都可以得到解决。由于每笔交易都不会导致内存增加,并且每笔交易都将包含带有公钥或类似内容的安全设置。

无论哪种方式,JRO,都是正确的,如果我将问题分成一个系列,我会得到更好的结果。我会把这个问题留在这里直到一天结束,如果我没有得到更好的结果,我会听取 JRO 的建议。

【问题讨论】:

  • 这个问题和编程有什么关系?
  • 它在几个方面与编程有关。首先从设计的角度。其次,我可以写下如何开发可扩展、安全且易于使用的 Web 服务的问题,但这个问题不太可能得到回答。 Roe,如果您对如何改写问题有任何建议,请告诉我。

标签: java web-services api


【解决方案1】:

您要问三个不同的问题,这些问题可能相互关联,但规模如此之大,以至于“取决于情况”的汇总答案是您唯一能得到的答案。如果这是您项目的范围,则将其进一步分解,即更细化。尝试一次解决一个问题。

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

  • 您必须登录(第一次交易)才能接收令牌:不确定为什么在没有上下文的情况下这被视为“问题”。生成/检查令牌是否有问题?用户的实施是否有问题?您需要澄清为什么这是一个问题。

  • 不可扩展,因为任何开发人员都可以打开 20K 会话并导致 Web 服务服务器崩溃。 HTTP 连接问题最好由 Web 服务器和负载平衡器来处理,而不是编程管理。如果需要限制单个端点的连接,从硬件层开始。

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

  • 使用起来并不方便,因为 Web 服务不包含任何业务逻辑。 没有详细说明这意味着什么,它的意义很小;没有足够的上下文。但是,这类问题倾向于 Web 服务方法/功能设计。为此,您的方法中的粗粒度是首选——让它们更具包容性,而不是更少。

我的建议:咬掉一个部分,例如安全实现,然后先处理它。尝试同时承担其他部分只会让事情变得更加混乱。

【讨论】:

  • 您好 JRO,感谢您的回答。我可能希望证实我的理论。我一直在做我的功课,并且都倾向于以 REST 方式构建我们的新 Web 服务,类似于 Amazon 在他们的 Web 服务上所做的事情。我会听取你的建议,把这个问题分成更小的部分。再次感谢。
  • 顺便说一句,REST 交付机制可能会让您易于使用,但这取决于您的方法/功能设计。 REST 与可扩展性或安全性无关。
【解决方案2】:

可扩展、安全且易于使用的 Web 服务的特点是什么?

可扩展性、安全性和易用性。除此之外,这在很大程度上取决于您要做什么。您提供的关于您的 Web 服务的功能、问题所在以及您希望它做什么的信息非常少。

【讨论】:

  • 我将添加一些关于该问题的额外信息以解决您的问题。谢谢你的帖子。
【解决方案3】:

关于安全性,我建议您免费下载 Microsoft 的Web Service Security Guide

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

在任何开发环境中都非常有用。
祝您阅读愉快!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2014-07-06
    • 1970-01-01
    • 2017-12-03
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多