Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
GESTION Y DESARROLLO DE SERVICIOS WEB 2) Alex Pacheco Moya alex.pacheco.moya@gmail.com WSDL–S3 Descripción: WSDL • Web Services Description Language • Lenguaje para describir los servicios web como una serie de operaciones que operan sobre mensajes • Las operaciones y mensajes se describen de forma abstracta y no están ligados a ningún lenguaje de programación concreto Que proporciona una WSDL • WSDL permite que un servicio web se describa a sí mismo: – Proporciona: • URL del endpoint (punto de conexión al servicio) • Nombre de la función a llamar • Nombre y tipo de los parámetros • Tipo del valor de retorno • … oDe esta forma una aplicación podrá conocer cuál es la interfaz del servicio, y podrá integrarlo y utilizarlo de forma automática Descripción: WSDL • WSDL representa una especie de contrato entre el proveedor y el que solicita. O sea permite que un servicio y un cliente establezcan un acuerdo en lo que se refiere a los detalles de transporte de mensajes y su contenido, a través de un documento procesable por dispositivos. Definicion de interfaz de servicio: WSDL • Web Service Description Language (Working Draft) • IDL para servicios Web basado en XML - Lenguaje de Descripción de Interfaces (IDL) • Documento WSDL describe servicio web: – Tipos de datos (XML Schema) – Funciones exportadas y sus mensajes de petición y respuesta – Protocolos usados: típicamente SOAP sobre HTTP – Dirección de servicio -> URL con servidor y “componente” • P. ej. http://www.stockquoteserver.com/StockQuote • Normalmente, generado automáticamente a partir de código de servicios Como crea un WSDL • Un WSDL se crea: • A mano • Clases -> Generación automática del WSDL • Un WSDL se utiliza: • A mano • WSDL -> Generación automática de un cliente (clases) Como define un WSDL • Un servicio web se define por medio de: – <definitions>: • El elemento raíz del documento • Suele incluir la declaración de espacios de nombres – <types>: • Proporciona definiciones de tipos de datos que se emplean para definir los mensajes empleados en la comunicación • Podemos emplear XML Schema Como define un WSDL • Un servicio web se define por medio de: – <message>: • Representación abstracta de los mensajes que se intercambian en la comunicación • Un mensaje está compuesto de parámetros <part> con un tipo (de los definidos en <types>) • Cada operación tendrá un mensaje de entrada (petición) y uno de salida (respuesta) – <portType>: • Define un conjunto abstracto de operaciones (<operation>) que ofrece el servicio • Cada operación contiene un mensaje de entrada (<input>) y un mensaje de salida (<output>) de los anteriores (referencia a <message>) • Se necesita un puerto abstracto por cada protocolo soportado: por conveniencia se coloca como sufijo el nombre del protocolo, pero no es necesario (se especifica en <binding>) WSDL Distingue claramente los mensajes de los puertos • Los mensajes (la sintaxis y semántica que necesita un servicio Web) son siempre abstractos • Los puertos (las direcciones de red en las que se invoca al servicio Web) son siempre concretos Como define un WSDL • Un servicio web se define por medio de: – <binding>: • Conexión entre interfaz e implementación, especifica: – Estilo de llamada (rpc, document, etc.) » Consultar: http://www.ibm.com/developerworks/webservices/library/ws- whichwsdl/ – Protocolo utilizado y especificaciones de formatos de datos para las operaciones y mensajes definidos en un portType particular – Método de transporte de datos (HTTP, SMTP, etc.) – <service>: • Define un servicio mediante una colección de puertos a los que acceder (agrega un conjunto de <port> relacionados) • <port>: – Especifica una dirección (URL) para un <binding>, es decir, define un punto de comunicación concreto (endpoint) • Contiene documentación en lenguaje natural sobre el servicio Documento WSDL Descripcion Abstracta Los elementos utilizados para esto son: • Types: contenedor de definiciones del tipo de datos que utiliza algún sistema de tipos (por ejemplo XSD). • Message: definición abstracta y escrita de los datos que se están comunicando. • Operation: descripción abstracta de una acción admitida por el servicio. • Port Type: conjunto abstracto de operaciones admitidas por uno o más puntos finales. Ejemplo de WSDL en Java Información concreta de enlace Para completar la descripción de una interacción cliente- servidor se necesita saber: • Qué protocolo de comunicación se va utilizar (como SOAP sobre HTTP) • Como conseguir la interacción del servicio con este protocolo • Donde termina la comunicación (la dirección de red). Información concreta de enlace Para eso se utilizan los siguientes elementos: • Binding: especificación del protocolo y del formato de datos para un tipo de puerto determinado. • Port: punto final único que se define como la combinación de un enlace y una dirección de red. • Service: colección de puntos finales relacionados. Enlace WSDL • <binding> – Ofrece tres operaciones: • doGetCachedPage • doSpellingSuggestion • doGoogleSearch – El método de llamada es RPC – El protocolo utilizado es SOAP – El método de transporte de datos es HTTP Ejemplo binding WSDL Ejemplo de Binding Puerto de enlace • <portType> – Define las operaciones, con una referencia al mensaje de entrada y al mensaje de salida Mensaje • <message> – Define los parámetros de los mensajes de entrada y salida – Para cada parámetro se indica su tipo de dato Ejemplo de Mensaje Tipos • <types> – Define los tipos de datos de los parámetros de los mensajes Ejemplo types Operaciones WSDL Objetivo del WSDL El objetivo de WSDL es el de liberar a los usuarios y desarrolladores de la necesidad de recordar o entender todos los detalles de acceso a los servicios, solo es necesario una descripción WSDL para poder acceder a estos. Desarrollo de un Servicio Web • Programación de biblioteca de servicio – En algunos entornos hay que incluir información específica • En VisualStudio .Net: etiqueta [WebMethod] sobre métodos exportados • Generación automática de fichero WSDL – Generalmente, dentro de la generación de aplicación de servicio • En VisualStudio .Net: Proyecto de tipo Web Service • En servidor: fichero WSDL informa sobre cómo activar servicio – Normalmente, lo hace un servidor web con soporte de servicios web • Desarrollo de cliente: – Obtener fichero WSDL y generar proxy para aplicación cliente • En VisualStudio .Net: “Add Web Reference” REFERENCIAS BIBLIOGRÁFICAS Introducción a los Servicios Web con Java M.C. Juan Carlos Olivares Rojas Sistemas Operativos Distribuidos Fernando Pérez Costoya José María Peña Sánchez Diapositiva 1 Diapositiva 2: GESTION Y DESARROLLO DE SERVICIOS WEB 2) Diapositiva 3: WSDL–S3 Diapositiva 4: Descripción: WSDL Diapositiva 5: Que proporciona una WSDL Diapositiva 6: Descripción: WSDL Diapositiva 7: Definicion de interfaz de servicio: WSDL Diapositiva 8: Como crea un WSDL Diapositiva 9: Como define un WSDL Diapositiva 10: Como define un WSDL Diapositiva 11: WSDL Diapositiva 12: Como define un WSDL Diapositiva 13: Documento WSDL Diapositiva 14: Descripcion Abstracta Diapositiva 15: Ejemplo de WSDL en Java Diapositiva 16: Información concreta de enlace Diapositiva 17: Información concreta de enlace Diapositiva 18: Enlace WSDL Diapositiva 19: Ejemplo binding WSDL Diapositiva 20: Ejemplo de Binding Diapositiva 21: Puerto de enlace Diapositiva 22: Mensaje Diapositiva 23: Ejemplo de Mensaje Diapositiva 24: Tipos Diapositiva 25: Ejemplo types Diapositiva 26: Operaciones WSDL Diapositiva 27: Objetivo del WSDL Diapositiva 28: Desarrollo de un Servicio Web Diapositiva 29: REFERENCIAS BIBLIOGRÁFICAS Diapositiva 30
Compartir