Clase 03. WSDL y más XML. Mg. A. G. Stankevicius. Segundo Cuatrimestre

Documentos relacionados
Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect

Contenido. Complemento Nomina. Estructura

Contenido. Complemento Donatarias

Un ejemplo de este XML esta anexo en la sección: Ejemplo XML consultarecibopago.

SERVICIO WEB ESTADO DOCUMENTOS TRAMITADOS GUÍA USO

Estructura. Elementos Elemento: Intereseshipotecarios Diagrama. Contenido. Complemento de Intereses hipotecarios

APLICACIONES DE INTERNET: SERVICIOS DE RED Y WEB

Tomo DCCXXV No. 12 México, D.F., lunes 17 de febrero de 2014 CONTENIDO

Resolución del 29 de Octubre del 2015 Anexo No. 4 Especificaciones Técnicas FONDO DE CESANTIAS Formato Versión 1

Contenido. Complemento Concepto VentaVehiculos

GUIA DE IMPLANTACIÓN MEXICANA (GIM)

DOCUMENTO CONTRATO DEL SERVICIO

Recepción Suministros de Gasóleo Profesional desde la Entidades Emisoras de Tarjetas e Instalaciones de Consumo Propio

El nombre de cada uno de los archivos, debe especificarse mediante la siguiente secuencia de caracteres:

Semantic Annotation for WSDL and XML SAWSDL

FSE2007. Formato de fichero de Verificaciones UAFSE-FSE2007. Formato de fichero de Verificaciones. Página 1 de 8 FSE2007

Contenido. Formato pólizas del periodo

El nombre de cada uno de los archivos, debe especificarse mediante la siguiente secuencia de caracteres:

Añadido de Funcionalidades en D2 para su lanzamiento en BATCH

Contenido. Formato balanza de comprobación

Contenido. Complemento TuristaPasajeroExtranjero

Servicios Web para la gestión de anuncios de notificación a publicar en el Tablón Edictal Único

Contenido. Complemento de Estado de Cuenta Bancario. Estructura

Contenido. Formato SelloDigitalContElec. Se deberá utilizar el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

DTD y XML SCHEMA. Ingeniería de la Información

Prueba de conectividad y soluciones de integración para sistemas de salud

MANUAL TÉCNICO Sistema Declaración Informativa de Inversiones en Jurisdicciones de Baja Imposición Fiscal (JBIF) Versión 2.0

Movimiento en Cuenta Corriente y/o Ahorro Formato Versión 8

Definir las características y contenido de los archivos donde se reportan los Pagos o abonos en cuenta realizados con recursos del fideicomiso.

Manual Técnico PROCESOS DE TECNOLOGÍA DE INFORMACIÓN. Deberes de Información y Enteramiento de las Retenciones de ISLR

PROCESOS DE TECNOLOGÍA DE INFORMACIÓN. Manual Técnico. Relación Informativa de Retenciones de ISLR. Marzo 2009 Versión 1.0

Definir las características y contenido de los archivos donde se reporta el Consumos con tarjetas de crédito.

Definir las características y contenido de los archivos donde se reportan los Consumos con tarjetas de crédito.

Definir las características y contenido de los archivos donde se reportan los Pagos o abonos en cuenta realizados con recursos del fideicomiso.

XML: Reglas Básicas de Formación

El nombre de cada uno de los archivos, debe especificarse mediante la siguiente secuencia de caracteres:

CORPORACION UNIVERSITARIA AUTONOMA DEL CAUCA PROGRAMA DE INGENIERIA DE SISTEMAS 2o Periodo de 2014 MATERIA: ELECTIVA IV (MEJORAMIENTO DE PROCESOS)

Estructura Elemento: EstadoDeCuentaCombustible Diagrama

MOVIMIENTO EN CUENTA CORRIENTE Y/O AHORRO Formato Versión 9

Realizar un esquema para el almacenamiento de CD musicales con las

Manual de usuario. Descripción del servicio de envío de mensajes

PODER EJECUTIVO SECRETARIA DE HACIENDA Y CREDITO PUBLICO

Resolución Anexo No. 9 Especificaciones Técnicas INFORME DE DATOS CUENTA CORRIENTE DE COMPENSACIÓN Formato Versión 6

Anexo 24 de la Resolución Miscelánea Fiscal para Contabilidad en Medios Electrónicos

Experto Universitario Java Enterprise Servicios Web

Definir las características y contenido de los archivos donde se reporta el Consumos con tarjetas de crédito.

TPV PC Deutsche Bank. Guía de conexión con TPV PC a través de WEB SERVICE

Definir las características y contenido de los archivos, donde se reporta la Elaboración de facturación por litógrafos y tipógrafos.

GUIA DE IMPLANTACIÓN MEXICANA (GIM)

Ingeniería de Aplicaciones Web

Contenido. Formato reporte auxiliar de cuentas y/o subcuentas

Definir las características y contenido de los archivos con la Informe Detallado de Facturación por parte del obligado a facturar.

SEGUNDA SECCION PODER EJECUTIVO SECRETARIA DE HACIENDA Y CREDITO PUBLICO

Desarrollo de Servicios Web para la ETN

Protocolo de intercambio de información (Web Services)

Estructura Elementos Elemento: EstadoDeCuentaCombustible Diagrama

Resolución No XX (28 OCT 2016) Anexo No. 6 Especificaciones Técnicas VENTAS CON TARJETAS DE CRÉDITO Formato Versión 6

Resolución No XX (28 OCT 2016) Anexo No. 5 Especificaciones Técnicas Consumos con Tarjetas de Crédito Formato Versión 6

CUARTA SECCION SECRETARIA DE HACIENDA Y CREDITO PUBLICO

Contenido. Formato reporte auxiliar de folios. 1. Estándar del formato reporte auxiliar de folios de los comprobantes fiscales de contabilidad

Definir las características y contenido de los archivos, donde se reporta la Información de Convenios de Cooperación con Organismos Internacionales.

XML-Schema. XML-Schema. XML-Schema. XML-Schema. Ventajas de XML-Schema con respecto a las DTD s:

Definir las características y contenido de los archivos donde se reporta el Ventas con tarjetas de crédito

Definir las características y contenido de los archivos, donde se reportan las Personas fallecidas.

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Manual XML MANEJANDO DATOS e INTEGRANDO APLICACIONES

Definir las características y contenido de los archivos donde se reportan los Saldos de cuentas por pagar al 31 de diciembre.

Aclaraciones al formato Facturae para los proveedores del Servicio Canario de Salud (SCS)

El nombre de cada uno de los archivos, debe especificarse mediante la siguiente secuencia de caracteres:

Sistema de Información de Sanidad Exterior (SISAEX IV) Módulo de Mercancías y Operadores Económicos

Especificación de Requerimientos WEB SERVICE DE TIMBRADO. Versión 1.6 Junio 2012.

ESCUELA SUPERIOR DE INGENIERÍA

Manejando Binary XML en Oracle Database 11gR2

Tecnologías XML y Web Semántica. Departamento de Informática Universidad de Oviedo

Un servicio Web para investigación operativa

Módulo 2: Algoritmos (continuación)

Especificación de Uso. Servicios Web Externos API Servicio Licencias Ed. Superior V-0.1

RESOLUCIÓN No (OCT. 26/06) Anexo No. 32 Especificaciones Técnicas

Especificación Técnica del Web Service de Autenticación y Autorización WSAA Para el desarrollo de Clientes de Entidades Externas

Examen de AAD 21/06/2004, 11:30 13:00 (90 )

1. Introducción a los Servicios web

1.9.- Descripción del servicio: WSDL (VI)

Validación de un XML

Descripción de servicio

TEMA 6 LENGUAJE XML. 1 Negocios y Dirección

Índice. Introducción a SOAP JAX-WS

Estructura. Elementos Elemento: Intereses Diagrama. Contenido. Complemento de Intereses

INFORMACION DE INVERSIONES EN CDT Formato Versión 7

Schema XML_ACCI_v0.xsd

INFORMACION WEBSERVICE DEL SISTEMA DE TRÁNSITO, TRANSBORDO Y REDESTINACIÓN PARA EL SERVICIO NACIONAL DE ADUANAS

Tema 3.1: Introducción a Servicios Web

WSDL (Web Services Description Language) Construcción de servicios web. Lourdes Tajes Martínez

SERVICIOS WEB DE MODIFICACIÓN DE LA D.G. DEL CATASTRO Introducción general

Taller de Web Services: Introducción a la creación, distribución, registro, consumo y presentación de resultado.

El nombre de cada uno de los archivos, debe especificarse mediante la siguiente secuencia de caracteres:

Para crear un servicio puede utilizarse cualquiera de los lenguajes disponibles en la plataforma.net.

Servicios Web y SOA. Índice. Introducción a los Servicios Web. Invocación de servicios web SOAP Qué es un Servicio Web?... 4

El nombre de cada uno de los archivos, debe especificarse mediante la siguiente secuencia de caracteres:

Resolución No del 31 de Octubre de 2014 Anexo No. 54 Especificaciones Técnicas

Tema 8 Servicios web. F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Transcripción:

Ingeniería de Aplicaciones para la Web Semántica Clase 03 WSDL y más XML Mg. A. G. Stankevicius Segundo Cuatrimestre 2005

Copyright 2 Copyright 2005 A. G. Stankevicius. Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delantera o trasera. Una copia de esta licencia está siempre disponible en la página http://www.gnu.org/copyleft/fdl.html. La versión transparente de este documento puede ser obtenida en http://cs.uns.edu.ar/~ags/iaws.

Contenidos El rol de WSDL dentro de los SW. Estructura de un documento WSDL. Introducción a los esquemas XML. Especificación de tipos simples. Especificación de tipos compuestos. Restricciones de forma y de contenido. 3

Anatomía de un servicio web Registro de servicios Descubrimiento Publicación Cliente del servicio Invocación Proveedor del servicio 4

El rol de WSDL dentro de los servicios web Descripción y publicación del servicio UDDI XML (UDDI) Localización del servicio Proveedor del servicio web XML (WSDL) Directorio de servicios web XML (WSDL) 5 Servicio Servicio Servicio Servicio W E B XML (SOAP) XML (SOAP) Utilización del servicio

Qué es WSDL? 6 WSDL es un lenguaje basado en XML que permite: describir servicios web, y además especificar cómo accederlos. Todo documento WSDL determina la ubicación de un cierto servicio y de los métodos que ese servicio hace visible. Todavía no es una recomendación aceptada por la W3C. La versión 2.0 (a punto de salir) lo será.

Qué describe WSDL? WSDL describe dos aspectos de los servicios web: La información que debe estar presente en la invocación a un determinado método. La información que es retornada de toda invocación válida a un cierto método. En cierto sentido se está especificando las condiciones bajo las cuales el cliente del servicio contratará las prestaciones. 7

Qué más describe WSDL? WSDL también hace referencia a la ubicación física de cada uno de los métodos exportados por un cierto servicio. Para cada método se hace mención explícita de qué protocolo de comunicación se debe adoptar para poder comunicarse con el mismo. 8

Estructura de un documento WSDL 9 WSDL caracteriza al servicio web que se está definiendo mediante los siguientes elementos XML: <porttype>: Define las operaciones soportadas por el servicio web. <message>: Describe la estructura de los mensajes que utiliza cada operación. <type>: Indica los tipos de datos empleados por las operaciones del servicio web. <binding>: Especifica qué protocolo de comunicación es adoptado.

Estructura de un documento WSDL 10 <definitions> <types>...definición de los tipos de datos... </types> <message>...de los mensajes entendidos por las operaciones... </message> <porttype>...de las operaciones publicadas... </porttype> <binding>...de las vinculaciones a protocolos... </binding> </definitions>

Fragmento de un documento WSDL <message name="getstockpricerequest"> <part name="stock" type="xs:string"/> </message> <message name="getstockpriceresponse"> <part name="value" type="xs:string"/> </message> 11 <porttype name="stocksrates"> <operation name="getstockprice"> <input message="getstockpricerequest"/> <output message="getstockpriceresponse"/> </operation> </porttype>

Modelos de comunicación de las operaciones 12 Cada puerto puede brindar múltiples operaciones. <porttype name="..."> <operation name="..."> </operation>... </porttype> A su vez, cada operación puede adoptar un modelo de comunicación diferente: RCP (existen <input> y <output>) De sentido único (sólo hay <output>).

Definición de los argumentos de las operaciones Los argumentos de las operaciones definidas dentro de un mismo servicio se describen mediante sendos mensajes: <message name="oprequest">... </message> <message name="opresponse">... </message> 13 <porttype name="wsname" <operation name="op"> <input message="oprequest"/> <input message="opresponse"/> </operation> </porttype>

Definición de los tipos de datos usados Todo tipo de dato mencionado en la definición de los argumentos de las operaciones deben estar a si vez debidamente especificados: <message name="consultaalumno"> <part name="registro" type="xs:integer"/> </message> 14 <message name="consultaalumno"> <part name="registro" type="lu"/> </message>

Tipos de datos predefinidos por los esquemas XML 15 En la definición de los argumentos es posible hacer uso de los tipos de datos ya contemplados por los esquemas XML: xs:string xs:integer xs:decimal xs:boolean xs:date xs:time

Tipos de datos no predefinidos 16 También es posible definir tipos de datos propios apelando a los esquemas XML: <xs:schema... >... </xs:schema> Se asocia un tipo de dato a cada elemento defindo en el esquema XML: <xs:element name="lu" type="xs:integer"> Estos elementos pueden contener a su vez otros atributos: <xs:attribute name="alive" type="xs:boolean">

Restricciones en el uso 17 Los atributos pueden ser declarados como obligatorios u opcionales: <xs:attribute name="alive" type="xs:boolean" use="required"> <xs:attribute name="unemployed" type="xs:boolean" use="optional"> Los atributos pueden tener asociado un valor por defecto: <xs:attribute name="alive" type="xs:boolean" default="true">

Restricciones acerca del contenido 18 También es posible especificar ciertas restricciones sobre los posibles valores que un elemento puede tomar: <xs:element name="age"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="100"/> </xs:restriction> </xs:simpletype> </xs:element>

Restricción a sólo un conjunto de valores 19 Otra forma de restrigir los valores que se permiten es la siguiente: <xs:element name="carbrand"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:enumeration value="ford"/> <xs:enumeration value="chevrolet"/> <xs:enumeration value="torino"/> </xs:restriction> </xs:simpletype> </xs:element>

Restricción a valores que conforman a un patrón La forma mas poderosa de restrigir los posibles valores es a través de patrones: <xs:element name="csmail"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value= "[a-z]{2,3}@cs\.uns\.edu\.ar"/> </xs:restriction> </xs:simpletype> </xs:element> 20

Restricciones en la longitud Finalmente, también se puede restringir la cantidad de caracteres requeridos: <xs:element name="password"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:minlength value="5"/> </xs:restriction> </xs:simpletype> </xs:element> 21

Reutilización de definiciones 22 Las definiciones de datos pueden ser usadas de dos formas; in situ: <xs:element name= prodid > <xs:simpletype>... </xs:simpletype> </xs:element> O bien, introduciendo un nombre para permitir un uso posterior: <xs:simpletype name= Id >... </xs:simpletype>

Definición de tipos estructurados 23 El potencial de los esquemas XML brilla recién al contemplar la definición de tipos de datos estructurados. Los esquemas XML permiten definir tipos estructurados de manera similar a Lisp o Prolog, es decir, mediante listas. Los tipos estructurados se describen como secuencias de otros tipos simples o estructurados.

Ejemplo de definición de tipos de estructurados Los tipos de datos estructurados se definen a través del tag <complextype>: <xs:element name="data" type="contact" 24 <xs:complextype name="contact"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype>

Extensión de tipos estructurados 25 Un tipo de datos estructurados puede ser extendido de la siguiente forma: <xs:complextype name="addressbook"> <xs:complexcontent> <xs:extension base="contact"> <xs:sequence> <xs:element name="email" type="xs:string"/> <xs:element name="nick" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype>

Alternativas dentro de los tipos estructurados 26 Dentro de un tipo estructurado es posible expresar la existencia de alternativas: <xs:complextype name="staffdcic"> <xs:complexcontent> <xs:choice> <xs:element name="teacher" type="teacher"/> <xs:element name="assistant" type="assistant"/> </xs:choice> </xs:complexcontent> </xs:complextype>

Repeticiones dentro de los tipos estructurados 27 Dentro de un tipo estructurado es posible expresar la existencia de alternativas: <xs:complextype name="courses"> <xs:complexcontent> <xs:sequence> <xs:element name="course" type="course" minoccurs= 0 maxoccus= 3 /> </xs:sequence> </xs:complexcontent> </xs:complextype>

Binding de operaciones a protocolos concretos 28 La especificación del protocolo en concreto se hace mediante el elemento <binding>: <binding type="stockprice" name="b1"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation> <soap:operation soapaction="http://example.com/getprice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding>

Modelos de comunicación y estilos de codificación SOAP 29 La especificación de todo servicio web deja en claro la decisión tomada en torno al modelo de comunicación y a los estilos de codificación del SOAP Body y del mensaje SOAP en sí: RPC/Encoded. Document/Literal. Para un discusión más a fondo: Keep up with the Web service styles.