Necesito aprender servicios web en Java. ¿Cuáles son los diferentes tipos en él? [cerrado]

Recientemente, decidí comenzar a aprender sobre los servicios web de java y cuando empecé a buscar un tutorial para los servicios web de java en google, descubrí que hay muchos tipos de servicios web basados ​​en XML, basados ​​en SOAP, y también en servicios REST.

Además, descubrí que hay una especificación JAX-WS para servicios web basados ​​en xml y una especificación JAX-RS para crear servicios web RESTful.

P1) Me confundí, sería fantástico que alguien me ayudara a comprender la diferencia entre estos diferentes tipos de servicios web, de modo que pueda decidir cuál aprender primero.

P2) Además, quiero aprender en profundidad sobre la creación de diferentes tipos de servicios web en Java. ¿Existe algún tutorial o recursos que puedan dar una idea de cada tipo de servicio web y una comparación entre ellos?

P3) según los escenarios y las condiciones en que deba decidir que quiero crear un servicio web basado en XML en lugar de un servicio SOAP o debo ir con el servicio RESTful.

Respuestas a la pregunta(3)

Su respuesta a la pregunta