2016-08-04 2 views
0

우리는 비동기 웹 서비스를 설계하고 구현해야합니다. 여기서 비동기 웹 서비스 통신은 클라이언트가 요청을하고 서비스 응답을 기다리지 않음을 의미합니다. 그것은 AJAX 또는 다른 형식을 사용하여 달성 할 수 있지만 그것이 우리의 요구 사항은 아닙니다.ESB 및 MQ를 사용하여 비동기 통신 아키텍처를 구현하는 방법

메시지 큐와 JMS (요청 큐에서 메시지를 읽고 응답 큐로 메시지를 읽어야 함)를 사용하여 구현하려고합니다.

요청 : 클라이언트 -> 메시지 조회하여> 웹 서비스 응답 : 웹 서비스 - 우리는 또한로드 밸런싱 또는 다른 제품의 엔터프라이즈 서비스 버스를 활용하려고 여기

> 메시지 조회하여> 클라이언트.

구현 방법이나 구현 방법이 다른가요? 감사

답변

0

클라이언트가 비동기 적으로 통신 할 수 있고 서비스가 응답 메시지를 보낼 수있는 콜백 주소를 제공 할 수있는 서비스를 구현할 수 있습니다.이 통신 패턴을 효과적으로 작동 시키려면 요청과 응답 사이에 적절한 메시지 상관 메커니즘이 있어야합니다. 응답.

이것은 SOAP Webservice를 사용하여 간단히 구현할 수 있습니다.

  1. 클라이언트는 서비스 제공 업체에 고유 한 요청 ID 및 통화 백 주소 에 요청을 보냅니다.

  2. 서비스 공급자가 요청을 받아 즉시 클라이언트에게 응답합니다. 응답이 준비되면 콜백 주소에서 클라이언트를 호출합니다.

  3. 서비스 공급자는 복수 요청/클라이언트를 서비스하기 위해 대기열을 구현할 수 있습니다.

복잡성은 여기에서 큐 및 상관 관계 논리를 관리해야한다는 점입니다. ESB에의 지원 비동기 통신 패턴의 대부분

, 당신은이 FUSE ESB

+0

감사 @ravthiru와 achived 할 방법을 확인할 수 있습니다. 여기 포인트 3은 질문에 대해 말하며 중간 서버에서 메시지를 의미합니까? 또한 requiremnet 클라이언트는 요청을 한 후 동일한 페이지에 머 무르지 않고 응답을 기다리지 않습니다. 그는 나중에 다시 올 수 있습니다. 그러나 당신의 접근 방식으로 그 전화를 되 찾을 수 있습니다. 작동합니까? – esha

+0

ESB와 같은 미들웨어를 사용하는 경우 요청 대기열을 처리해야합니다. – ravthiru

+0

클라이언트는 콜백 uRL을 통해 수신 된 서버 응답을 처리하기 위해 응답 처리기를 구현해야합니다. – ravthiru

관련 문제