2010-07-22 4 views
22

필자는 Jax-WS와 Jax-RPC의 두 가지 웹 서비스를 작성했습니다. 그들은 단지 문자열을 반환합니다.JAX-WS vs. JAX-RPC

나는 jMeter와 스트레스 테스트를 모두했고, 이상하게도 Jax-RPC가 조금 빨랐다.

Jax-WS가 성능 (응답 시간, CPU 시간, 힙) 측면에서 실제로 이익을 얻는 방법은 무엇입니까? 어떻게 증명할 수 있습니까?

감사합니다. =)

답변

34
  1. 당신은 그래서 벤치 마크 아무것도의 대표 인 경우 나도 몰라 그들 :

  2. 에 대해 아무 말도 열심히 사용하고있는 구현에 대해 아무것도 언급하지 않았다, 어떤 결론을 내릴 지 확신 할 수 없습니다.

  3. JAX-WS는 JAX-RPC보다 일반적으로 더 나은 성능을 제공합니다 (the already mentioned article 참조).

  4. JAX-RPC는 Java EE 6에서 삭제 된 이후의 표준입니다 (따라서 향후 버전에서 제거 될 수 있음). 가지 치기를위한 이유 : JAX-RPC는 RPC 호출로서 SOAP 웹 서비스를 모델링하는 초기 시도였습니다. 웹 서비스는 이후 RPC 모델이되었다. 훨씬 강력하고 기능이 풍부하며 인기있는 JAX-WS API는 JAX-RPC를 효과적으로 대체합니다.

요약하면 필자는 JAX-RPC에 대한 새로운 프로젝트의 기반이되지는 않을 것입니다.

2
  • JAX-RPC 1.0 :java.rmi.Remote 인터페이스 개념에서 작동합니다. RemoteException을 사용합니다. 즉 서비스 끝점 인터페이스 (SEI)의 모든 원격 메소드가 표준 java.rmi.RemoteException을 던집니다. JAX-RPC 2.0JAX-WS 2.0으로 이름이 바뀌 었습니다.
  • JAX-WS는 : 주석 @WebService, @SOAPBinding, @WebMethod, @WebParam, @WebServiceClient 등을 사용합니다.
  • Java : JAX-RPC는 Java 1.4를 사용합니다. JAX-WS는 Java 5.0을 사용합니다.
  • SOAP : JAX-RPC 및 JAX-WS는 SOAP 1.1을 지원합니다. JAX-WS는 SOAP 1.2도 지원합니다.
  • XML/HTTP : WSDL 1.1 사양은 SOAP 바인딩없이 HTTP를 통해 XML 메시지를 보낼 수있는 수단 인 HTTP 바인딩을 정의했습니다 .JAX-RPC는 HTTP 바인딩을 무시했습니다. JAX-WS는이를 지원합니다.
  • WS-I (웹 서비스 상호 운용성 조직) 기본 프로필 : JAX-RPC는 WS-I의 기본 프로필 (BP) 버전 1.0을 지원합니다. JAX-WS는 BP 1.1을 지원합니다.
  • 데이터 매핑 모델 : JAX-RPC에는 자체 데이터 매핑 모델이 있으며 JAX-WS의 데이터 매핑 모델은 JAXB입니다.