我们的应用程序通过 Web 服务公开查询,我们发现我们的客户经常需要自定义查询,或者通过指定附加条件来进一步限制返回的结果,或者通过询问我们还没有的东西暴露。
现在,我们可以采用为这些新方法中的每一个创建新方法的方法,但这有点不方便;在客户站点部署我们的应用程序通常需要数周的分阶段集成测试。我们提出了一种命名查询机制,应用程序管理员将通过名称定义参数化的查询,以及一个简单地调用这些参数的相应 Web 服务。但是,我不禁认为以前有人已经解决了这个问题,所以我想从 SO 社区获得一些关于可能设计的意见。
谢谢!
更新
规范模式是一个很好的模式,但是我们的应用程序处理了足够多的数据,我们希望将尽可能多的查询工作推送到 RDBMS 中,这可以比我们想要的更好地优化查询计划。此外,我们支持三个 RDBMS 后端,因此我们被困在使用最大公分母方法:我们使用功能最少的数据库所能提供的尽可能多的功能。