84 votos

¿cuál es la diferencia entre XSD y WSDL

¿cuál es la diferencia entre un XML Schema y WSDL ?

La diferencia que noté es que WSDL contiene XSD y en WSDL podemos declarar operaciones, pero no en XSD . ¿Es eso correcto?

117voto

marc_s Puntos 321990

WSDL (Lenguaje de Descripción de Servicios Web) - esto describe su servicio y sus operaciones - ¿cómo se llama el servicio, qué métodos ofrece, qué tipo de parámetros y valores de retorno tienen estos métodos?

Es una descripción del comportamiento del servicio, su funcionalidad.

XSD (Definición de Esquema Xml) - describe la estructura estática de los tipos de datos complejos que se intercambian por esos métodos de servicio. Describe los tipos, sus campos, cualquier restricción en esos campos (como la longitud máxima o un patrón regex) y así sucesivamente.

Es una descripción de los tipos de datos y, por lo tanto, las propiedades estáticas del servicio - se trata de los datos.

88voto

Paolo Puntos 11860

XSD define un esquema que es una definición de cómo se puede estructurar un documento XML. Se puede utilizar para comprobar que un determinado documento XML es válido y sigue las reglas que se han establecido en el esquema.

WSDL es un documento XML que describe un servicio web. Muestra qué operaciones están disponibles y cómo deben estructurarse los datos para enviarlos a esas operaciones.

Los documentos WSDL tienen un XSD asociado que muestra lo que es válido para poner en un documento WSDL.

22voto

MKod Puntos 146

XSD : Es la definición del esquema XML.

XML: Es un lenguaje de marcado extensible.

WSDL : Es el Lenguaje de Definición del Servicio Web.

No voy a responder en términos técnicos (en otras palabras, el sonido técnico es difícil para el novato de entender las diferencias). Por lo tanto, decidí compartir o explicar a los novatos como sigue:

No es fácil hablar o comunicarse con las diferentes aplicaciones que se desarrollan utilizando dos tecnologías diferentes, por ejemplo, la tecnología de la información y la comunicación: Una compañía en Chicago podría desarrollar una aplicación web usando Java y otra compañía en Nueva York podría desarrollar una aplicación en C# y cuando estas dos compañías deciden compartir información entonces entra en escena XML. Ayuda a almacenar y transportar datos entre dos aplicaciones diferentes que se desarrollan utilizando tecnologías diferentes. Nota: No se limita a un lenguaje de programación, por favor investigue sobre el transporte de información entre dos aplicaciones diferentes.

XSD es una definición de esquema, por lo que lo que quería decir es que le dice al usuario que desarrolle su XML en dicho esquema. Por favor, vea las imágenes de abajo. Y, por favor, miren de cerca con el elemento "load-on-startup" y su tipo que es un número entero. En la imagen XSD puedes ver que se supone que es un valor entero para el "load-on-startup" y por lo tanto cuando el usuario creó su XML pasó un valor int a ese elemento en particular. Sólo para recordar, XSD es un esquema y un estilo donde como XML es una forma de comunicarse con otra aplicación o sistema. Uno tiene que ver XSD y crear XML de tal manera o de lo contrario no se comunicará con otra aplicación o sistema que ha sido desarrollado con una tecnología diferente. Una empresa en Chicago proporciona una plantilla XSD para que una empresa en Texas escriba o genere su XML en el formato XSD dado. Si la compañía en Texas no se adhirió a esas reglas o al esquema mencionado en XSD entonces es imposible esperar información correcta de la compañía en Chicago. Hay tanto que hacer después de la historia mencionada, que un aficionado o novato tiene que saber mientras codifica para algo como lo que dije anteriormente. Si realmente quieres saber lo que pasa después, entonces es mejor sentarse con los ingenieros de software senior que realmente desarrollaron los servicios web. A continuación viene WSDL, por favor siga las imágenes y trate de averiguar dónde encajará WSDL.

*********** \========A continuación se muestra una imagen parcial de XML ========== *********** XML image partial

*********** \========A continuación se muestra una imagen parcial de XSD ========== ***********

XSD image partial

*********** \========A continuación la imagen parcial del WSDL ======= *********

WSDL image partial

Tuve que crear una muestra de WSDL para un servicio web llamado Book. Nota, es un XSD pero tienes que llamarlo WSDL (lenguaje de definición de servicios web) porque es muy específico para los servicios web. El siguiente WSDL (o en otras palabras XSD) está creado para una clase llamada Book.java y me ha creado un servicio de jabón. Como el servicio web SOAP creado es de nuevo un tema diferente. Uno tiene que escribir la clase java y antes de ejecutarla para crear como servicio web el usuario tiene que asegurarse de que la API de Axis2 está instalada y de que Tomcat para alojar el servicio web está en su sitio. Generar un simple servicio web SOAP es un tema diferente, por favor, investigue en la web.

Como servidor (el que da permite a otros (clientes) acceder a la información o los datos de sus sistemas) en realidad da al cliente (el que necesita utilizar la información o los datos del servidor) acceso completo a los datos a través del Servicio Web, porque ninguna empresa del mundo está dispuesta a exponer su base de datos a los extraños. Al igual que mi empresa, decidió dar alguna información sobre los productos a través de Servicios Web, por lo que tuvimos que crear una plantilla XSD y pasarla a algunos de nuestros clientes que quieren trabajar con nosotros. Ellos tienen que escribir algún código para hacer un uso completo del XSD dado y hacer llamadas a los Servicios Web para obtener datos del servidor y convertir los datos devueltos en su requerimiento adecuado y luego mostrar o publicar datos o información sobre el producto en su sitio web. Hay mucho en esta historia, así que no voy a profundizar en esto. Un ejemplo simple sería la reserva de billetes de avión. Una aerolínea permitirá a terceros utilizar los datos de vuelo en su sitio para la venta de boletos. Pero de nuevo hay mucho más que eso, es sólo no dejar que terceros agentes de boletos de vuelo vendan boletos, habrá sincronización y seguridad en el lugar. Si no hay sincronización, entonces hay un 100% de posibilidades de que más de un cliente compre el mismo billete de avión de varias fuentes.

Espero que los expertos contribuyan a mi respuesta. Es muy difícil para el novato o el novata entender XML, XSD y luego trabajar en los Servicios Web.

8voto

Priyank Bolia Puntos 3825

XSD es para validar el documento, y contiene metadatos sobre el XML mientras que WSDL es para describir la ubicación y las operaciones del servicio web.

3voto

vivyzer Puntos 36

XSD (definición de esquema XML) define el elemento en un documento XML. Puede utilizarse para verificar si los elementos del documento xml se ajustan a la descripción en la que se va a colocar el contenido. Mientras que wsdl es un tipo específico de documento XML que describe el servicio web. El propio WSDL se adhiere a un XSD.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X