Datapower

时间:2016-10-31 14:52:17

标签: jsonschema ibm-datapower

根据我们当前的架构,我们有Datapower作为网守,用于验证针对JSON模式的每个传入请求(以JSON格式)。

我们有许多具有相应JSON模式的restful服务,这些模式驻留在Datapower本身。但是,每次服务定义发生变化时,都必须更改相应的模式。这导致Datapower部署受影响的模式。

现在我们计划为每个传入请求提供一个由Datapower调用的宁静服务,它将返回要调用的服务的JSON模式,并且该模式将与服务代码一起出现,而不是在Datapower上。这样,即使服务定义有任何变化,我们也可以在模式中进行更改并部署服务。它将为我们节省不必要的Datapower部署。

有没有更好的方法来验证架构?我想要的就是不要为每次架构更改部署Datapower。

仅供参考我们经常更改架构。

2 个答案:

答案 0 :(得分:2)

保持当前的解决方案,因为为每个请求提取新的JSON模式都会影响性能。相反,当您在后端系统中部署架构时,会有一个RMI(REST管理接口)或SOMA调用,用于上载新架构,或者只是一个XML防火墙,您可以在其中添加一个GWS脚本,将json数据写入目录中的文件(需要7.5)或更高)。

请注意,您必须通过通话清理缓存!

答案 1 :(得分:0)

更好的方法是根据订阅变更推出一些推送系统。您可以在etcd,redis,postgres或任何其他具有数据更改通知通道的系统中存储模式,这样您就可以更新验证服务中的模式,而无需在每个请求中执行此模式。如果您的验证服务使用验证程序将模式编译为代码(ajv - 我是作者,is-my-json-valid,jsen),那么只有在更改时才会获得更好的性能提升。