2008-10-23 17 views
7

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

6

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 ...

+0

Diría que los servicios REST y WSDL/SOAP tienen diferentes usos/áreas donde difieren en intensidad. –

+0

Muy de acuerdo. – mwilliams

5

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.

0

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.

3

Para mí, WSDL parece ser otro ejemplo de "arquitectura de cebolla" sobre-diseñada, como los EJB Java originales. Muchas capas y lágrimas.

1

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.

Cuestiones relacionadas