우리는 우리 제품을 SOA로 구현하려고하며 현재 IBM Integration Bus v9를 ESB로 사용하려고합니다.IIB - 다른 환경에 대한 HTTP 요청 기본 URL을 설정하는 올바른/표준 방법
우리는 우리가 우리의 제품을 배포 3 서로 다른 환경 (다른 목적으로 사용되는 서버의 세트)이 있습니다
- 개발 : :는 테스트 및 개발 과정
- 고객 테스트 동안 사용 메인 릴리즈로 가기 전에 고객의 승인을 얻기 위해보다 안정된 빌드
- 메인/제작 : 이것이 마지막 사항입니다.
우리가 직면 한 도전 과제 : 다른 환경에 대한 메시지 흐름의 HTTP 노드에 대한 기본 URL 설정. DRY 원리를 손상시키지 않고!
mqsiapplybaroverride 명령을 사용하여 HTTP 요청 노드에서 전체 URL을 한 번에 설정할 수있는 것처럼 보입니다. 문제는 여러 리소스가 단일 서버에서 노출되어 공통 기본 URL을 가질 수 있다는 것입니다.
UDP을 사용하는 것이 유망한 접근 방법 인 것으로 보인다. UDP에서 각 서비스에 대한 기본 URL을 설정하고 UDP를 사용하는 HTTP 요청 노드 바로 전에 계산 노드에 HTTP 요청 URL을 작성할 수 있습니다. 그런 다음 UDP는 mqsiapplybaroverride ...로 대체 할 수 있습니다. 그것은 UDP를 하나의 메시지 흐름 이상의 범위가없는 것 같습니다 ... 그래서 언제든지 그 메시지 흐름 또는 BAR 무시에 대한 UDP를 정의해야 서버에서 리소스를 호출하고 싶지 않아 영향을주지 않습니다 해당 메시지 흐름의 기본 URL ... 이렇게하면 각 메시지 흐름에서 기본 URL이 반복됩니다. DRY가 적용됩니다.
일반적인 SOA 응용 프로그램에서 공통적 인 문제 여야합니다 ... 해결 방법이 더 있습니까? 일반적인 자바 EE 컨테이너에서 JNDI 기능과 같은 것은 무엇입니까?
IIB v10.0.0.6은 기본 URL 설정 기능을 제공하는 RestRequest 노드를 도입 한 것으로 보입니다 ... 불행히도 당분간은 명품이 없습니다.
DRY는 훌륭합니다. 그러나 어떤 경우에는 매개 변수를 명시 적으로 설정하는 것이 더 좋다고 생각합니다.이 경우 각 HTTP 노드의 전체 URL을 설정하는 것이 더 깔끔할 것이라고 생각합니다. 코드에서 URL을 설정하면 가능한 버그가 생기고 일반적으로 간단한 구성을 작성합니다. –
다른 환경은 어떻습니까? 각 환경에 대한 모든 요청 URL을 편집 하시겠습니까? ... 많은 즐거움처럼 들리지는 않습니다! – Hossein