TL; DR
JAX-WS es para servicios web basados en XML como SOAP. JAX-RS no tiene la misma restricción.
JAX-WS generalmente se orienta hacia servidor a las interacciones del servidor con contratos bien definidos (WSDL) y por lo general cuando el servicio y el lado del cliente son de grupos separados. Requiere muchos recursos, por lo que no es factible para las interacciones de cliente a servidor donde la capacidad de la red o del dispositivo cliente es menos que óptima.
JAX-RS está orientada al cliente para interacciones con el servidor, aunque el servidor a servidor está bien. Como tiene pocas obligaciones de servicio, puede ajustarse a lo que el cliente necesite.
Más información
La API JAX-RS sólo proporciona enfoques de código en primer lugar, mientras que JAX-WS permite tanto de código primero (por lo general no se recomienda) y el contrato de primera utilizando archivos WSDL (más comúnmente recomendada).
JAX-RS 2.0 presenta la API cliente que es una envoltura inteligente para HttpUrlConnection que tiene mucha capacidad de mapeo, JAX-WS también es una envoltura, pero los datos que trata en las implementaciones de referencia son solo XML.
JAX-RS tiene la ventaja de crear API que son más fáciles de crear y digerir los mensajes en diferentes navegadores y dispositivos móviles, es decir, la estructura JSON. No introduce la noción de un sobre y usa HTTP para él. No introduce criptografía o seguridad, usa HTTPS para eso.
JAX-WS aunque se ejecuta en HTTPS para criptografía proporciona adiciones para seguridad usando WS-SecurityPolicy etc. Además, los contratos se establecen firmemente utilizando WSDL y se pueden verificar fuera de la aplicación utilizando ESB como DataPower.
Entonces, ¿para elegir
JAX-WS es generalmente orientados hacia el servidor a servidor interacciones con contratos bien definidos (WSDL) y por lo general cuando el servicio y el lado del cliente son de grupos separados. Requiere muchos recursos, por lo que no es factible para las interacciones de cliente a servidor donde la capacidad de la red o del dispositivo cliente es menos que óptima.
JAX-RS está orientada al cliente para interacciones con el servidor, aunque el servidor a servidor está bien. La única obligación contractual entre un cliente y servidor es el mensaje y los encabezados de solicitud. Como tiene pocas obligaciones de servicio, puede ajustarse a lo que el cliente necesite.
Sin embargo, usar las API de servicios RESTful es similar a hacer meta-programación como Ruby y Python que retrasa los problemas de tiempo de ejecución ya que no existe un esquema definido acordado y técnicamente impuesto por las dos partes. Como tal, no recomiendo los servicios RESTful en todas partes, pero lo recomendaría si tuviera el control de las dos partes, lo que normalmente ocurre cuando construyes una aplicación web que usa HTML/CSS/JS estático y conversaciones con un servidor RESTful para el datos.