2009-06-12 2 views
1

두 개의 시스템이 있습니다. 하나는 JMS 기반이고 다른 하나는 WebSphere MQ 기반입니다. JMS에서 구성된 주제로 메시지를 보내는 클라이언트 A가 있습니다. WebSphere MQ에서 구성된 주제를 통해이 메시지를 수신하는 다른 클라이언트 B.플랫폼 독립적 스트림

이 통신을 어떻게 만들 수 있습니까? 이 다리를 짓는 동안 고려해야 할 사항은 무엇입니까? 브리지가 해결책이라면 어떻게 구축 할 수 있습니까?

+0

그렇게 생각합니다. @ 제이. –

답변

2

클라이언트 중 하나는 Java (JMS)로 작성되고 다른 하나는 다른 언어로 작성되었으며 둘 다 동일한 대기열에 액세스한다고 가정합니다. MQ 시리즈는 대기열 제품이며 JMS는 Java API입니다 (예 : JDBC는 관계형 데이터베이스에 대한 것임). MQ-Series는 JMS API를 지원하므로 메시지를 전달하는 데 문제가 없습니다. JMS는 아마도 MQ 시리즈 기능의 하위 집합 일 것입니다.

콘텐츠가 양 당사자에 의해 해석 될 수 있는지 확인하십시오. 표준 방법은 메시지에서 XML을 사용하는 것입니다. 그러나 두 클라이언트가 이해할 수있는 다른 형식을 사용할 수 있습니다. CSV (쉼표로 구분 된 값), JSON (JavaScript 객체 표기법)을 사용할 수도 있으며 헤 시안과 같은 크로스 플랫폼 바이너리 형식도 있습니다.

하지만 참가자 및 통신하려는 정보의 종류에 대해 더 구체적으로 설명 할 수 있다면보다 구체적인 답변을 얻을 수 있습니다.

+0

이러한 클라이언트, 수신기 및 수신기는 모든 플랫폼 및 OS에있을 수 있습니다. 예 : Unix, Solaris, windows, etc ... 메시지는 바이트 형식으로 전송되며 모든 플랫폼과 OS가 바이트를 인코딩하는 자체 방식을 가질 수 있음을 이해합니다. 어떻게 통신을 플랫폼과 독립적으로 만들 수 있습니까 ?? –

+1

바이트 스트림은 바이트 스트림입니다. 프로토콜을 정의하는 것은 사용자의 몫입니다. 스트림은 모든 플랫폼에서 동일합니다. 플랫폼 간의 차이점은 스트림이 예를 들어 양식으로 해석되는 방식에 있습니다. 단어 또는 더블 단어. 스트림에서 데이터가 인코딩되는 방법을 지정하면 다른 플랫폼은 사양에 따라 구현을 조정해야합니다. Hessian은 예를 들어 자신 만의 콘텐츠를 만드는 경우 상위 수준의 바이너리 프로토콜의 예입니다. 헤 시안 (다른 많은 가능성이 있습니다) 할 일이 많지 않습니다. –

+0

아키텍처 중립 바이너리 데이터의 패킹 및 패킹에 대해 이야기하는 RFC 3072를 발견했습니다. Java가 기본 방식으로 지원합니까? 아니면 III 파티 라이브러리를 찾아야합니까? –

관련 문제