Web services 可扩展查询接口的良好设计是什么?

Web services 可扩展查询接口的良好设计是什么?,web-services,enterprise,Web Services,Enterprise,我们的应用程序通过web服务公开查询,我们发现我们的客户机通常需要自定义查询,或者通过指定其他条件进一步限制返回的结果,或者通过询问我们尚未公开的内容 现在,我们可以为每个新方法创建新方法,但这有点不方便;在客户端站点部署我们的应用程序通常需要数周的分阶段集成测试。我们提出了一种命名查询机制,其中应用程序管理员将通过参数化的名称定义查询,并使用相应的web服务简单地调用这些参数。然而,我忍不住认为以前有人已经解决了这个问题,所以我希望so社区提供一些关于可能的设计的意见 谢谢 更新 规范模式是一

我们的应用程序通过web服务公开查询,我们发现我们的客户机通常需要自定义查询,或者通过指定其他条件进一步限制返回的结果,或者通过询问我们尚未公开的内容

现在,我们可以为每个新方法创建新方法,但这有点不方便;在客户端站点部署我们的应用程序通常需要数周的分阶段集成测试。我们提出了一种命名查询机制,其中应用程序管理员将通过参数化的名称定义查询,并使用相应的web服务简单地调用这些参数。然而,我忍不住认为以前有人已经解决了这个问题,所以我希望so社区提供一些关于可能的设计的意见

谢谢

更新

规范模式是一个很好的模式,但是我们的应用程序处理的数据足够多,我们希望将尽可能多的查询工作下推到RDBMS中,这可以比我们希望的更好地优化查询计划。此外,我们支持三个RDBMS后端,因此我们只能使用最大公分母方法:我们使用功能最少的数据库所能提供的功能。

  • 查看并使用它,或者构建一些类似的 为用户提供的功能
  • 如果值得一试的话,可以提供一个树状接口来对标准进行分组。(“一个组的所有条件必须匹配”/“一个条件必须匹配”/“否定”)
优点:

  • 易于构建
  • 用户参数是可能的
  • 强大的查询是可能的
  • 您可以应用限制,如选择。。。来自表,其中包含一些限制和(用户提供的标准)
      • 查看并使用它,或者构建一些类似的 为用户提供的功能
      • 如果值得一试的话,可以提供一个树状接口来对标准进行分组。(“一个组的所有条件必须匹配”/“一个条件必须匹配”/“否定”)
      优点:

      • 易于构建
      • 用户参数是可能的
      • 强大的查询是可能的
      • 您可以应用限制,如选择。。。来自表,其中包含一些限制和(用户提供的标准)

      ,我也建议在这种类型的应用程序中考虑“规范模式”作为后端的设计决策。检查以下关于“规范模式”的帖子:


      ,我也建议在这种类型的应用程序中考虑“规范模式”作为后端的设计决策。检查以下关于“规范模式”的帖子:


      由于我们真的不知道您的用户是如何使用您的界面的,所以就感觉更接近于“问题”的东西给出技术建议似乎为时过早。
      有一些非常好的建议和常见的方法可以解决这个问题,但是它们对你的用户有用吗?也许他们真的不在乎你的问题,而是有一个很好的一键解决方案?(或者更像谷歌?

      因为我们真的不知道你的用户是如何使用你的界面的,所以就感觉更接近“问题”的东西给出技术建议似乎为时过早。 有一些非常好的建议和常见的方法可以解决这个问题,但是它们对你的用户有用吗?也许他们真的不在乎你的问题,而是有一个很好的一键解决方案?(或者更像谷歌?

      这是一个有效且准确的观察结果;他们喜欢按钮式方法。不过,我还是想有一些想法。我们可能不使用它们,部分原因是因为你提到的,但它最终可能会帮助我们找到更好的解决方案;他们喜欢按钮式方法。不过,我还是想有一些想法。我们可能不会使用它们,部分原因是您所列举的,但它最终可能会帮助我们找到更好的解决方案。