JAX-RS와 JAX-WS의 차이점은 무엇입니까?


93

JAX-RS 및 JAX-WS에 대한 몇 가지 기사를 읽은 후 확인하고 싶은 몇 가지 질문이 있습니까?

  1. JAX-RS는 JAX-WS와 같은 비동기 요청을 할 수 있습니까?
  2. JAX-RS가 Java 플랫폼에서 실행되지 않는 웹 서비스에 액세스 할 수 있습니까? 그 반대의 경우도 마찬가지입니까?
  3. "REST는 PDA 및 휴대폰과 같은 제한된 프로필 장치에 특히 유용합니다."라는 의미는 무엇입니까?
  4. "JAX-RS에는 XML 메시지 또는 WSDL 서비스 -API 정의가 필요하지 않습니다."라는 의미는 무엇입니까?

답변:


78

JAX-RS는 JAX-WS와 같은 비동기 요청을 할 수 있습니까?

1) JAX-RS API에 비동기 요청에 대한 특정 메커니즘이 포함되어 있는지 모르겠지만이 답변은 사용하는 클라이언트 구현에 따라 여전히 변경 될 수 있습니다.

JAX-RS가 Java 플랫폼에서 실행되지 않는 웹 서비스에 액세스 할 수 있습니까? 그 반대의 경우도 마찬가지입니까?

2) 불가능한 이유가 생각 나지 않는다.

"REST는 PDA 및 휴대폰과 같은 제한된 프로필 장치에 특히 유용합니다."라는 의미는 무엇입니까?

3) REST 기반 아키텍처는 일반적으로 JSON과 같은 경량 데이터 형식을 사용하여 데이터를주고받습니다. 이것은 XML을 사용하는 JAX-WS와는 대조적입니다. XML 자체가 JSON (일부 사람들이 주장 할 수 있음)보다 훨씬 무거워지는 것은 아니지만 JAX-WS를 사용하면 JSON을 사용하는 REST를 더 가벼운 옵션으로 만드는 XML이 얼마나 많이 사용되는지 알 수 있습니다.

"JAX-RS에는 XML 메시지 또는 WSDL 서비스 -API 정의가 필요하지 않습니다."라는 의미는 무엇입니까?

4) 3에서 언급했듯이 REST 아키텍처는 종종 JSON을 사용하여 데이터를 보내고받습니다. JAX-WS는 XML을 사용합니다. JSON이 그 자체로 XML보다 훨씬 작다는 것은 아닙니다. 대부분 JAX-WS 사양은 통신 방법에 많은 오버 헤드를 포함합니다.

WSDL 및 API 정의에 대한 요점에서 REST는 JAX-WS에서 수행되는 것처럼 메시지 유형보다 API를 정의하기 위해 URI 구조와 HTTP 명령을 더 자주 사용합니다. 즉, 서비스의 다른 사용자가 서비스와 대화하는 방법을 알 수 있도록 WSDL 문서를 게시 할 필요가 없습니다. REST를 사용하는 경우 REST 서비스가 구성되는 방법과 전송해야하는 데이터 및 HTTP 명령에 대한 일부 문서를 다른 사용자에게 제공해야합니다.


매우 유용한 답변에 감사드립니다. 알고있는 JAX-WS를 JAX-RS로 차별화 할 수있는 다른 요소가 있습니까?
pmark019

92

또 다른 중요한 점

JAX-WS는 SOAP를 나타냅니다.

JAX-RS는 REST를 나타냅니다.

JAX-RS 및 JAX-WS 웹 서비스 구현 중에서 선택하는 방법은 무엇입니까?


29
실제로 JAX-WS는 RESTful 및 SOAP 기반 웹 서비스를 모두 나타냅니다. 이에 대해 생각하는 한 가지 방법은 JAX-RS가 RESTful을 전문으로하는 반면, JAX-WS를 사용하면 둘 중 하나를 선택할 수있는 더 많은 유연성을 제공하는 동시에 구성하기가 더 복잡합니다.
MattC 2014 년

간단한 설명 감사합니다.
PeerNet

2
" JAX-WS는 RESTful 및 SOAP 기반 웹 서비스를 모두 나타냅니다. "-이것은 사실이 아닙니다. 주장을 검증하기 위해 몇 가지 참조를 입력 해 주시겠습니까? JAX-WS는 HTTP를 통해 SOAP 및 HTTP를 통해 XML을 전송할 수 있지만 JAX-WS가됩니다. 평안한. RESTful이라는 것은 완전히 다른 개념입니다.
hagrawal

43

JAX-WS- XML 기반 웹 서비스 용 Java API- SOAP 표기법 (Simple Object Access Protocol) 에서 웹 서비스를 개발하는 표준 방법 입니다.

웹 서비스 호출은 원격 프로 시저 호출을 통해 수행됩니다. 클라이언트와 웹 서비스 간의 정보 교환을 위해 SOAP 프로토콜이 사용됩니다. XML 기반 SOAP 메시지를 통해 수행되는 클라이언트와 서버 간의 메시지 교환 .

JAX-WS 웹 서비스 의 클라이언트는 클라이언트가 웹 서비스를 호출하는 데 사용할 수있는 실행 코드를 생성하기 위해 WSDL 파일이 필요합니다 .

JAX-RS- RESTful 웹 서비스 용 Java API. RESTful 웹 서비스는 리소스로 표시되며 URI (Uniform Resource Identifier)로 식별 할 수 있습니다 . 이 경우 원격 프로 시저 호출은 HTTP 요청으로 표시되며 필요한 데이터는 쿼리의 매개 변수로 전달됩니다. 웹 서비스 RESTful-더 유연하고 여러 가지 MIME 유형을 사용할 수 있습니다. 일반적으로 XML 데이터 교환 또는 JSON (JavaScript Object Notation) 데이터 교환에 사용됩니다.


짧고 선명한 설명 !! 우수한.
Saurabh Rai

0

나는 Apachi Axis1.1 및 Axis2.0 및 JAX-WS에서 작업했지만 어떤 형식 으로든 wsdl을 만들 수 있기 때문에 JAX-WS가 필요하다고 제안합니다. 아파치 Axis2에서 GetInquiry ()로 작동하지 않았습니다. 대문자로 작업 이름을 시작할 수 있으므로 좋지 않다는 것을 알기 때문에 JAX-WS를 사용해야한다고 제안합니다.


0

JAX-RS는 JAX-WS와 같은 비동기 요청을 할 수 있습니까?

예, 반드시 @Async를 사용할 수 있습니다.

JAX-RS가 Java 플랫폼에서 실행되지 않는 웹 서비스에 액세스 할 수 있습니까? 그 반대의 경우도 마찬가지입니까?

예, 할 수 있습니다

"REST는 PDA 및 휴대폰과 같은 제한된 프로필 장치에 특히 유용합니다."라는 의미는 무엇입니까?

주로 사용하려는 접근 방식에 따라 공용 API에 사용됩니다.

"JAX-RS에는 XML 메시지 또는 WSDL 서비스 -API 정의가 필요하지 않습니다."라는 의미는 무엇입니까?

자체 표준 WADL (Web Application Development Language)을 가지고 있으며, 서로 다른 사고 방식으로 생성 된 리소스에 접근 할 수있는 http 요청이 있습니다 .Jax-Rs의 경우 리소스 노출을 생각해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.