MQGet 노드를 사용하는 JMS를 통한 SOAP

MQGet 모드를 사용한 SOAP/JMS 웹 서비스 구현에 대한 개요로, 이 접근방식의 비용 및 이점을 설명합니다.

동기 요청-응답 패턴을 사용할 때, 요청 메시지는 MQOutput 노드를 사용하여 송신되고 응답은 MQGet 노드와 인라인으로 수신됩니다.

다음의 단순화된 다이어그램에 있는 플로우와 같은 플로우를 사용하면 동기 HTTP를 통한 SOAP을 JMS를 통한 SOAP으로 변환할 수 있습니다.

다이어그램은 HTTPInput, Compute 1, MQOutput, MQGet, Compute 2, HTTPReply 노드로
구성되는(왼쪽에서 오른쪽으로) 플로우를 보여줍니다. 각 노드 출력은 다음 노드의 입력으로 이동합니다.

위의 플로우는 들어오는 각 HTTP 요청이 완전히 처리되어 다음으로 이동하기 전에 응답하는 JMS를 통한 SOAP으로 동기식 HTTP 변환을 구현하기 위한 단순 메커니즘을 제공합니다. JMS를 통한 SOAP 서비스 실패는 MQGet 노드에서의 시간 종료 설정으로 핸들링됩니다. 이 플로우 모델의 다른 장점은 단순 롤백 및 복구를 사용 가능하게 하는 단일 트랜잭션에서 전체 요청-응답 변환이 핸들링된다는 점입니다.

이 동기식 플로우는 JMS를 통한 SOAP 처리가 장기적으로 실행될 경우에 적절하지 않습니다. 현재 요청이 완료될 때까지는 들어오는 다른 HTTP 요청 처리가 초기화되지 않기 때문입니다. 이와 같은 경우, 메시지 플로우는 별도의 요청 및 응답 플로우를 사용하여 요청 플로우에서 저장 매체에 모든 필수 상관 컨텍스트를 저장하고 응답 플로우에서 이를 복원함으로써 비동기식으로 더 효율적으로 설계됩니다. 가능한 솔루션은 필수 상관 컨텍스트를 저장하기 위해 큐를 사용하고 검색하기 위해 응답 플로우에서 MQGet 노드를 사용하는 것입니다. 이 플로우 설계를 사용하면 HTTP 요청을 수신하는 대로 JMS를 통한 SOAP 서비스로 디스패치하고 응답은 수신되는 순서대로 다시 HTTP로 전달할 수 있습니다. 예를 들어, 이 솔루션을 사용하면 장기간 실행되는 갱신 요청으로 인해 빨리 실행되는 조회 요청이 차단되는 것을 방지할 수 있습니다.

비동기 요청-응답 시나리오는 요청-응답 플로우에서 MQGet 노드 사용에 설명되어 있습니다.

비동기 요청-응답 시나리오는 웹 서비스 사용에 맞게 수정할 수 있는 Coordinated Request Reply 샘플에도 자세히 설명되어 있습니다.

다른 웹 서비스 시나리오는 샘플 Web Service Host 샘플에 설명되어 있습니다.

관련 개념
메시지 플로우 개요
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac34660_