Soa IIB-为不同环境设置HTTP请求基URL的正确/标准方法
我们正在尝试用SOA实现我们的产品,目前使用IBM集成总线v9作为我们的ESB 我们有3个不同的环境(用于不同目的的服务器集),我们在其中部署产品:Soa IIB-为不同环境设置HTTP请求基URL的正确/标准方法,soa,esb,Soa,Esb,我们正在尝试用SOA实现我们的产品,目前使用IBM集成总线v9作为我们的ESB 我们有3个不同的环境(用于不同目的的服务器集),我们在其中部署产品: 开发:在测试和开发过程中使用 客户测试:更稳定的构建供客户批准,然后再发布主版本 主要/生产:这是最后一件事 我们遇到的挑战是:为不同环境的消息流的HTTP节点设置基本URL;在不损害干燥原则的情况下 似乎只有使用mqsiapplybaroverride命令才能在HTTP请求节点中一次性设置整个URL。问题在于,可以从单个服务器公开多个资源,因
- 开发:在测试和开发过程中使用
- 客户测试:更稳定的构建供客户批准,然后再发布主版本
- 主要/生产:这是最后一件事
IIB v10.0.0.6似乎引入了一个RestRequest节点,该节点提供基本URL设置功能。。。不幸的是,我们目前还没有这样的奢侈。您可以使用用户定义的可配置服务来实现这一点
您可以使用java计算节点或映射节点和自定义java从可配置服务读取和设置URL。一个好的解决方案是在数据库中为每个环境设置baseUrl,并将值设置为以下值:
SET OutputLocalEnvironment.Destination.REST.Request.BaseURL = GetCachedOrFromDB('custom_service_baseUrl');
GetCachedOrFromDB->定义从缓存或db(如果不在缓存中)获取值的函数
“custom_service_baseUrl”->为每个环境的设置表定义属性作为键。DRY很好,但在某些情况下,我认为最好显式设置参数,在这种情况下,只为每个HTTP节点设置整个URL会更干净。通过从代码中设置URL,您只会引入可能的错误,并且通常会完成一个简单的配置。不同的环境如何?编辑每个环境的所有请求URL?。。。听起来没什么意思!谢谢,我来看看这个