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

Java 可扩展、安全且易于使用的Web服务的特点是什么?,java,web-services,api,Java,Web Services,Api,我们的应用程序目前公开了使用WSDL 1.1和SOAP 1.1构建的web服务,这些web服务遵循以下w3c标准: 是SOAP的WSDL 1.1绑定 1.1 HTTP绑定 我们希望改进我们的web服务,使其具有可伸缩性、安全性和易用性 易用性指的是,目前web服务没有在该层上合并任何业务逻辑。基本上,我们当前的web服务可以被视为外部/第三方开发人员的导入/导出服务 这一努力让我想到了一个问题: 我对改版有什么期待 我们的web服务中 可伸缩、安全且易于使用 我们Web服务的当前问题 您必

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

是SOAP的WSDL 1.1绑定 1.1 HTTP绑定

我们希望改进我们的web服务,使其具有可伸缩性、安全性和易用性

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

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

我对改版有什么期待 我们的web服务中 可伸缩、安全且易于使用


我们Web服务的当前问题

  • 您必须登录(第一个事务)才能接收令牌(将会话保留在内存中)才能使用它们
  • 不可扩展,因为任何开发人员都可能打开20K个会话并使web服务服务器崩溃
  • 不安全,因为来自站点管理员的相同用户可以使用web服务
  • 它不容易使用,因为web服务不包含任何业务逻辑
我们的客户喜欢我们的web服务接口的原因是,他们在web应用程序中添加的任何数据元素都将立即在web服务(wsdl)定义中公开


还有一点信息:

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

无论哪种方式,JRO都是对的,也许如果我把问题分成一系列,我会得到更好的结果。我会把这个问题一直保留到一天结束,如果没有更好的答案,我会接受JRO的建议

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


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

您提出了三个不同的问题,这些问题可能相互关联,但非常大,因此您只能得到“视情况而定”的综合答案。如果这是您项目的范围,则进一步细分,即更细的粒度。试着一次解决一个问题

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

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

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

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

  • 它不容易使用,因为web服务不包含任何业务逻辑。如果没有关于这意味着什么的细节,这意味着很少;没有足够的上下文。然而,这类问题倾向于web服务方法/功能设计。为此,方法中的粗粒度是首选的——使它们更具包容性,而不是更少


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

关于安全性,我建议你下载一份微软的免费版本

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

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

好好读书

这个问题与编程有什么关系?它与编程有几个方面的关系。首先从设计的角度出发。其次,我可以写一个问题:如何开发一个可伸缩、安全且易于使用的web服务,但这个问题不太可能得到回答。Roe,如果你对如何改写这个问题有任何建议,请让我知道。我会补充一些关于这个问题的补充信息,以解决你的担忧。谢谢你的帖子。嗨,JRO,谢谢你的回答。我可能希望证实我的理论。我一直在做功课,所有这些都倾向于以REST方式构建我们的新web服务,类似于Amazon在其web服务上所做的。我将采纳你的建议,把这个问题分成小块。再次感谢。顺便说一句,休息传递机制可能会让你更容易使用,但这取决于你的冰毒