WebSphere® ESB는 정적으로 정의된 엔드포인트의 동적 대체 또는 대상 가져오기를 사용하는 동적 호출을 통해 메시지의 경로 재지정을 지원합니다.
중개 모듈이 개발되어 전개되면 모듈을 통한 메시지 플로우는 정적 정보를 사용합니다. 가져오기를 설명하는 고정 값, 바인딩 및 대상은 WebSphere Integration Developer를 사용하여 입력할 수 있습니다. 중개 모듈을 통해 전달되는 메시지가 이 값을 사용합니다.
일부 응용프로그램의 경우 런타임 시 이 정적 값 중 일부를 대체하거나 변경할 수 있습니다. 이 작업은 엔드포인트 주소에 대해 지정된 값을 대체하여 동적으로 수행할 수 있습니다. 또는 새 대상 가져오기를 선택할 수 있습니다. 이 경우 메시지 플로우는 메시지의 정보에 따라 변경됩니다. 예를 들어, WebSphere Integration Developer를 사용하여 원격 서비스 위치를 지정하는 엔드포인트 정보가 포함된 바인딩을 작성할 수 있습니다. 이 정적 엔드포인트 정보는 메시지에서 전달되는 정보를 사용하여 동적으로 대체 가능합니다. 동적 정보는 메시지에 대해 다른 엔드포인트를 지정할 수 있습니다. 웹 서비스, HTTP, JMS(Java™ Message Service) 및 WebSphere MQ를 포함하는 여러 개의 지원 바인딩 중 하나를 사용하여 엔드포인트에 액세스할 수 있습니다.
메시지 플로우가 중개 모듈에서 동적으로 변경되는 경우 새 라우트는 해당 메시지 및 이에 대한 모든 응답에만 적용됩니다. 메시지가 전송되고 응답이 리턴되면 동적 라우팅 변경이 버려지고 모듈에 정의된 원래 정적 값이 기본 값으로 다시 사용됩니다.
모든 응답 메시지는 항상 원래 송신 메시지와 동일한 라우트를 사용하여 리턴됩니다. 응답 메시지의 라우팅을 동적으로 대체할 수 없습니다.
동적 호출에서 호출 대상 유형은 엔드포인트 URI를 검사하여 식별됩니다. URI가 sca로 시작되는 경우에는 SCA 컴포넌트를 나타냅니다.
http 또는 jms의 URI 접두부는 기본적으로 웹 서비스 엔드포인트를 나타내는 것으로 가정합니다. http의 URI 접두부는 기본적으로 HTTP 서비스를 나타내지는 않습니다. jms의 URI 접두부는 기본적으로 JMS 서비스를 나타내지는 않습니다.
그러나 참조가 JMS 또는 HTTP 바인딩으로 가져오기에 연결된 경우, URI는 웹 서비스가 아니라 JMS 또는 HTTP로 가정됩니다.
엔드포인트 참조(EPR)의 bindingType 필드를 사용하여 이를 변경할 수 있습니다. 예를 들어, SCA 엔드포인트 참조 API를 사용하여 bindingType 필드에 EndpointReference.BINDING_TYPE_HTTP 값을 설정하면 해당 메시지의 HTTP 서비스를 표시하는 것으로 해석되는 URI 접두부 http가 사용됩니다.