Tengo problemas para entender por qué un WSDL sería tan beneficioso, cuando la verdad es que la definición del servicio no es legible por el ser humano, y la mayoría de los desarrolladores usarán herramientas automatizadas para consumirlo y generar objetos en la aplicación. ¿Por qué no es más fácil para un proveedor de servicios definir un esquema XML simple, y simplemente dígame en la documentación qué puedo obtener y cómo puedo obtenerlo? Comprendo todo el aspecto de la "definición universal", pero todo parece tan complicado para mí. La mayoría de las API para sitios sociales usan una arquitectura REST básica, y lo único que hacen es darle una representación esquemática de los datos que recibirá. En serio, debo estar perdiendo algo aquí.¿Por qué exactamente querría usar un WSDL para describir un servicio web?
Respuesta
En un momento, WSDL era popular y estoy seguro de que para muchas herramientas internas (y grandes sistemas SOA), WSDL todavía está en uso. Pero está en lo cierto, la adopción de REST ha sacado a WSDL del mapa un poco una vez que "entra en escena".
Tome por ejemplo Amazon S3. Ofrecen un WSDL junto con la API REST. Leí en alguna parte que el 98% de los usuarios de S3 están utilizando la API REST y Amazon está considerando descartar la compatibilidad con WSDL.
REST está limpio. WSDL a menudo depende de otras herramientas para analizarlo o crear funciones automáticamente para que su aplicación se beneficie de los servicios ofrecidos por WSDL. REST también tiene la ventaja de ser mucho más natural al aprovechar HTTP y no confiar realmente en nada más. Uno obtiene SOAP en la mezcla y muchos otros acrónimos que van junto con WSDL, termina con mucho en sus manos ...
Entonces, ¿qué "esquema XML simple" propondría que permita que las herramientas den el mismo nivel de soporte de generación de código que ahora?
Creo que los diseñadores de WSDL argumentarían que ya están dando el esquema más simple que pudieron y que expuso todo lo que necesitaban. No estoy diciendo necesariamente que esté de acuerdo, pero ser capaz de autogenerar clientes es muy poderoso.
WSDL es un archivo de representación XML y un estándar de comunicación para cualquier sistema externo para comunicarse con su servicio web independientemente de sus tecnologías o plataformas de implementación. Para su información, los servicios RESTful pueden usar un archivo de lenguaje de definición llamado WADL para describir el servicio también. Por lo tanto, no se trata solo de servicios web.
Este enlace debería ser útil.
http://www.prescod.net/rest/rest_vs_soap_overview/
Este es un gran recurso para ayudar a aquellos que no entienden SOAP vs contención RESTO. Son diferentes herramientas. Úselos para que resuelva su problema de la manera más eficiente.
Para mí, WSDL parece ser otro ejemplo de "arquitectura de cebolla" sobre-diseñada, como los EJB Java originales. Muchas capas y lágrimas.
Por un lado, WSDL es lo que utilizan las herramientas automatizadas para generar objetos. Y ya es un formato XML bastante simple, pero estoy empezando a creer que una herramienta que haga que escribir XML sea más fácil nunca existirá. No creo que nadie diga que es un protocolo mejor que REST, pero salió primero, tiene una gran compatibilidad con herramientas (Visual Studio lo abstrae completamente al crear y consumir servicios), y es un estándar, por lo que probablemente seguirá siendo popular para Un rato.
- 1. ¿Por qué querría usar jQuery?
- 2. Cómo usar un WSDL
- 3. ¿Servicio web REST WSDL?
- 4. ¿Por qué querría comenzar un hilo "suspendido"?
- 5. cómo generar un archivo WSDL de un servicio web C#
- 6. ¿Por qué exactamente usamos NoSQL?
- 7. cómo generar servicio web fuera de wsdl
- 8. Cómo llamar a un servicio web (descrito por un wsdl) desde java
- 9. Cómo llamar a un servicio web sin wsdl en .net
- 10. Generar servicio web a partir de WSDL
- 11. ¿por qué SOAP sin WSDL?
- 12. ¿Por qué querría uno usar ruby sobre python o viceversa?
- 13. Cómo usar un archivo WSDL para crear un Proxy WCF?
- 14. ¿Por qué querría usar una base de datos no relacional?
- 15. Cómo recuperar un WSDL de un solo archivo para un servicio WCF (WSDL plana)
- 16. ¿Por qué querría uno usar AttributeUsage AllowMultiple al crear atributos?
- 17. .Net - Servicio web de consumo sin WSDL
- 18. Incrustar el WSDL para un servicio web en un cliente JAX-WS .jar
- 19. WCF: myservice.svc? Wsdl muestra "¿Ha creado un servicio.", No WSDL?
- 20. ¿Cuál es el método preferido para un 'WSDL' para el servicio web REST?
- 21. Creación de un servicio web simulado a partir de un archivo WSDL en Python
- 22. Enlazar un WSDL personalizado a un servicio WCF existente
- 23. cliente web para servicio web
- 24. Cómo usar un archivo WSDL para crear un servicio WCF (no realizar una llamada)
- 25. ¿Qué recomienda utilizar para visualizar gráficamente un WSDL?
- 26. ¿Cuál es el punto en un WSDL con un servicio basado en el resto?
- 27. Usar la reflexión para llamar a un servicio web ASP.NET
- 28. ¿Por qué usar SOAP para servicios web?
- 29. Cliente ASP.NET/C# para consumir un servicio web PHP/MYSQL (WSDL)
- 30. Crear un servicio web ASMX a partir de un archivo WSDL
Diría que los servicios REST y WSDL/SOAP tienen diferentes usos/áreas donde difieren en intensidad. –
Muy de acuerdo. – mwilliams