XML 메시징용 Java API

Java API for XML Messaging

JAXM(Java API for XML Messaging)분산 소프트웨어 애플리케이션XML(및 SOAP)을 사용하여 통신할 수 있도록 한다.JAXM은 비동기 메시징과 동기식 메시징을 모두 지원한다.

JAXM은 Java XML 프로그래밍 API 중 하나이다.

개요

JAXM(Java API for XML Messaging)은 개발자들이 자바 플랫폼을 사용하는 XML 메시지를 사용할 수 있게 해준다.개발자들은 JAXM API를 사용하여 인터넷으로 XML 메시지를 만들고 보낼 수 있다.[1]

다음 그림은 JAXM과 웹 기반 비즈니스 대 비즈니스 메시징에 필요한 기타 아키텍처 요소 사이의 개념적 관계를 나타낸다.

또한, 자바 API for XML Messaging은 다음과 같은 원격 프로시저 호출에 비해 몇 가지 장점이 있다.

  • 단방향(비동기식) 메시징
  • 둘 이상의 파티로 메시지 라우팅
  • 배달 보장 등의 기능을 갖춘 신뢰할 수 있는 메시징

완전한 JAXM API에는 다음과 같은 두 가지 패키지가 함께 제공된다.[2]

  • javax.xml의비누: 이 패키지에는 SOAP 메시지를 만들고 채우기 위한 API가 포함되어 있다.
  • javax.xml.properties:이 패키지는 메시징 공급자를 통해 단방향 메시지를 보낼 수 있도록 한다.

메시지

JAXM의 메시지는 규정된 SOAP 형식과 표준을 따르는 XML 메시지다.SOAP 메시지에는 두 가지 주요 유형이 있다: 첨부 파일이 있는 메시지와 첨부되지 않은 메시지.예를 들어, 메시지에 이미지가 포함되도록 하려면 메시지와 함께 첨부 파일을 보내야 한다.SAAJ API는 SOAP 메시지의 첨부파일을 위한 AttachmentPart 클래스를 제공한다.[3]

연결

모든 SOAP 메시지를 송수신하려면 연결이 필요하다.연결은 메시징 공급자 또는 특정 대상으로 갈 수 있다.[4]JAXM API는 두 종류의 연결을 나타내는 클래스 및 인터페이스를 제공한다.

SOAP 연결

SOAPConnection은 원격 당사자에게 직접 메시지를 보내기 위한 점 대 점 연결이다.[5]SOAPConnection 객체는 점 대 점 연결을 나타내며 생성 및 사용이 간단하다.SOAPConnection 객체는 (Tomcat과 같은) 서블릿 컨테이너나 J2EE 서버에서 실행할 필요가 없으므로 SOAPConnection 객체를 사용하기 위해 구성할 필요가 없다.그것은 서비스 제공자 없이 클라이언트가 접속할 수 있는 유일한 방법이다.[6]

공급자 연결

ProviderConnection 개체는 메시징 제공자에 대한 연결을 나타낸다(다음 절에서는 메시징 제공자에 대해 자세히 설명).ProviderConnection 개체를 통해 메시지를 보내면 메시지는 메시징 공급자에게 전달된다.메시징 제공자는 메시지의 라우팅 지시에 따라 메시지가 최종 수신자의 메시징 제공자에게 전달될 때까지 메시지를 전달하고, 이 메시지는 최종 수신자에게 전달한다.[7]

메시징 공급자

메시지 공급자는 메시지를 추적하고 메시지를 올바른 대상 또는 대상으로 라우팅한다.메시지 전송과 라우팅을 처리하는 서비스다.[8]

메시징 공급자 사용 시기

JAXM 클라이언트는 메시지 공급자를 사용할 수도 있고 사용하지 않을 수도 있다.일반적으로 웹 서비스의 소비자가 되고자 한다면 당신은 메시징 공급자가 필요하지 않다.메시징 공급자를 사용하지 않을 때의 몇 가지 제한 사항은 다음과 같다.

클라이언트는 요청-응답 메시지만 보낼 수 있음 클라이언트는 클라이언트 역할에서만 작업할 수 있음

메시징 공급자를 사용하지 않을 경우의 몇 가지 이점은 다음과 같다.

  • 애플리케이션은 J2SE 플랫폼을 사용하여 작성할 수 있다.
  • 애플리케이션을 서블릿 컨테이너 또는 J2EE 컨테이너에 배포할 필요가 없음
  • 구성이 필요하지[9] 않음

참조

  1. ^ "Java API for XML Messaging".
  2. ^ "Java API for XML Messaging".
  3. ^ http://www.tecnun.es/asignaturas/InteInfo/Recursos/Xml/docs/tutorial/doc/JAXM3.html#63936[데드링크]
  4. ^ http://www.tecnun.es/asignaturas/InteInfo/Recursos/Xml/docs/tutorial/doc/JAXM3.html#63936[데드링크]
  5. ^ "SOAPConnection (Java EE 5 SDK)".
  6. ^ "Overview of JAXM".
  7. ^ "Overview of JAXM".
  8. ^ http://www.tecnun.es/asignaturas/InteInfo/Recursos/Xml/docs/tutorial/doc/JAXM3.html#63936[데드링크]
  9. ^ "Overview of JAXM".

참고 항목