Aunque esto podría aparecer como un duplicado de Java Web Services, me gustaría saber por dónde empezar y continuar. En el pasado, he invertido tanto tiempo para encontrar dónde empezar, pero No pude. Hay tantas jergas y caos (¡al menos para mí!) Al leer las páginas sobre servicios web. Hay muchos términos, como JAX-RPC, JAX-WS, Axis, Rest, Servlet as WebService, EJB's
como servicio web y otros términos que desconozco. ¿Puede este grupo de usuarios consolidar y ofrecer una visión general de alto nivel de los servicios web de Java, que es fácil de comprender y seguir? Aprecio tu amabilidad y gracias por tu ayuda.Cómo escribir servicios web efectivos en Java
Respuesta
De hecho, es un poco jungla para entender los servicios web. La página wikipedia es decente, pero todavía carece de algunos elementos.
He marcado esta respuesta como wiki de la comunidad, así que no dude en actualizarla o corregirla. Es solo una base.
Un término hinchada:
En primer lugar, el servicio web término se utiliza para referirse a muchas cosas. Si bien muchas personas lo usan para referirse al servicio web basado en SOAP, el término puede usarse para denotar cualquier servicio proporcionado a través de una interfaz web; esta es una fuente de confusión.
Implementación y diseño de estilo:
- a base de jabón - jabón sigue siendo el estándar de facto para los servicios web. SOAP es un protocolo sobre HTTP que describe el intercambio de mensajes y excepciones. SOAP creció de algo simple a algo muy complicado con todos los WS-* standards que se agregaron más tarde. Los más importantes son: WS-Policy, WS-Security, WS-Addressing, WS-Transaction. Otra especificación importante es MTOM para mensajes grandes.
- RESTful - El término RESTful se relaciona con el hecho de que el servicio es sin estado y toda la información relevante se pasa como parámetro. Además, en lugar de utilizar un protocolo como SOAP, se utilizan los verbos HTTP simples, p.
Get
,Put
,Delete
,Update
. - Sin estado - WS generalmente son apátridas. El procesamiento empresarial a veces se basa en los llamados identificadores de correlación (con WS-Addressing) que se utilizan para unir las solicitudes y la respuesta en conjunto; esta es la misma idea, como almacenar un identificador de sesión en una cookie porque HTTP es sin estado.
- Stateful - Hay alguna propuesta para tener WS con estado, pero no sé mucho al respecto.
de implementación y la tecnología de pilas:
- Servlet - La manera más bajo nivel para implementar un WS: básicamente analizar la petición y la respuesta HTTP escupir todo por sí mismo.
- EJB - Desde EJB3, EJB se puede exponer como servicio web muy fácilmente. Necesita un contenedor EJB, por supuesto.
- Apache Axis - Solía ser una pila de tecnología popular que está disminuyendo ahora.
- Apache CXF - Otra opción popular.
- JBossWS - Otra opción popular.
- JAX-WS - La pila oficial de servicios web de Sun, muy buena. Hasta ahora sé, este replaces JAX-RPC que simplemente fue renombrado JAX-WS.
conceptos relacionados y jerga:
- WSDL - Define el contrato/interfaz del servicio web, en caso de WS basado en SOAP.
- Contrato primero - Se refiere al hecho de que una tecnología puede admitir cualquier WSDL proporcionado por adelantado. Por el contrario, una tecnología de implementación que generará el WSDL basado en la implementación del servicio web, en cuyo caso el WSDL no siempre se puede personalizar según sea necesario
- Perfil - Para simplificar este desastre, han introducido perfiles que son grupos de especificaciones/capacidades relacionadas que necesitan soporte para la interoperabilidad. El principal es WS-I Basic Profile.
- UDDI y descubrimiento - Parece que algunas personas pensaban que el servicio web se publicaría en un registro público para ser descubierto por el consumidor potencial. No creo que esta visión haya ganado mucho impulso.
La mejor explicación que conozco para los servicios web "contratar primero" es Spring web service module.
- 1. Servicios web en Java
- 2. Cómo aprender los servicios web de Java
- 3. Cómo simular servicios web SOAP en java
- 4. Cómo implementar servicios web en java
- 5. ¿Cómo autenticar los servicios web java basados en Java?
- 6. Java: RMI vs servicios web
- 7. Formas de lograr rasgos efectivos de Java?
- 8. Servicios web alternativos a Java/Spring
- 9. servicios web, aplicación web
- 10. ¿Cómo pruebo los servicios web?
- 11. ¿Cómo facturas tus servicios web?
- 12. Rol de JAXB en servicios web basados en Java
- 13. ¿Cómo monitoreas tus servicios web?
- 14. SSL bidireccional para servicios web en GAE (java)
- 15. ¿Cómo crear servicios web en Zend Framework?
- 16. python vs java en el desarrollo de servicios web?
- 17. Consumir servicios web SOAP en iOS
- 18. Marcos de servicios web en haskell
- 19. Autenticación mutua con servicios web
- 20. Servicios web SOAP en erlang
- 21. cómo son los servicios web Restful mejores que los servicios web basados en SOAP
- 22. Seguridad y autenticación en servicios web
- 23. Servicios web tranquilos
- 24. ¿Servicios web por contrato?
- 25. Protección de servicios web
- 26. Mejor IDE para desarrollar servicios web de Java (para principiantes)
- 27. Uso y prueba de servicios web en Eclipse
- 28. Marcos más fáciles de implementar servicios web REST de Java
- 29. ¿Cuál es el mejor marco de servicios web de Java?
- 30. ¿Cómo descubro los servicios web RESTful?
+1 Detallada a la vista general. – CoolBeans
+1 Publicación muy agradable, algo que necesitaba desesperadamente hoy, de manera conveniente. – aperkins
¿Alguien puede compartir los procedimientos de configuración, con eclipse, axis2, tomcat –