La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

XML y Servicios Web Ricardo Eito Brun Sevilla, 23-25 de octubre 2002.

Presentaciones similares


Presentación del tema: "XML y Servicios Web Ricardo Eito Brun Sevilla, 23-25 de octubre 2002."— Transcripción de la presentación:

1 XML y Servicios Web Ricardo Eito Brun Sevilla, 23-25 de octubre 2002

2 La evolución del Web El World Wide Web ha pasado de ser un medio para la publicación de información y contenidos, a convertirse en una plataforma para el diseño y desarrollo de aplicaciones informáticas distribuidas El World Wide Web ha pasado de ser un medio para la publicación de información y contenidos, a convertirse en una plataforma para el diseño y desarrollo de aplicaciones informáticas distribuidas El navegador se ha convertido en un “cliente universal” que facilita el desarrollo de aplicaciones y la adopción de nuevas soluciones tecnológicas, al reducir costes de mantenimiento. El navegador se ha convertido en un “cliente universal” que facilita el desarrollo de aplicaciones y la adopción de nuevas soluciones tecnológicas, al reducir costes de mantenimiento. A lo largo del pasado año se ha popularizado un nuevo paradigma en el diseño de aplicaciones informáticas para la web: los llamados web services (servicios web). A lo largo del pasado año se ha popularizado un nuevo paradigma en el diseño de aplicaciones informáticas para la web: los llamados web services (servicios web).

3 La evolución del Web En el modelo de aplicación web “tradicional” encontramos una importante limitación: la interacción comienza y termina en dos puntos claramente definidos: la petición del usuario y la respuesta de la aplicación informática. En el modelo de aplicación web “tradicional” encontramos una importante limitación: la interacción comienza y termina en dos puntos claramente definidos: la petición del usuario y la respuesta de la aplicación informática. Únicamente son dos los “interlocutores” que participan en este proceso Únicamente son dos los “interlocutores” que participan en este proceso En cada intercambio de información que se produce, la aplicación informática debe “construir” una página resultado en formato HTML para presentar la información al usuario. En cada intercambio de información que se produce, la aplicación informática debe “construir” una página resultado en formato HTML para presentar la información al usuario. ¿Qué sucedecería si la aplicación informática tuviese que recurrir a un tercer sistema informático para satisfacer la petición cursada por el usuario? ¿Qué sucedecería si la aplicación informática tuviese que recurrir a un tercer sistema informático para satisfacer la petición cursada por el usuario?

4 La evolución del Web Un servicio web se suele definir como una unidad de aplicación capaz de ofrecer datos o servicios de procesamiento a otras aplicaciones informáticas. Un servicio web se suele definir como una unidad de aplicación capaz de ofrecer datos o servicios de procesamiento a otras aplicaciones informáticas. Así, una aplicación podría ofrecer distintos servicios a otras aplicaciones. Las características de estos servicios son: Así, una aplicación podría ofrecer distintos servicios a otras aplicaciones. Las características de estos servicios son: Que se solicitan a través del webQue se solicitan a través del web Que los resultados de su ejecución también se devuelven a la aplicación peticionaria a través del webQue los resultados de su ejecución también se devuelven a la aplicación peticionaria a través del web Que se tramitan según un modelo “estandarizado”.Que se tramitan según un modelo “estandarizado”.

5 La evolución del Web El concepto de servicio web está arropado por una serie de estándares publicados por el W3C y apoyados por los principales fabricantes de tecnología (IBM, Microsoft, etc.), El concepto de servicio web está arropado por una serie de estándares publicados por el W3C y apoyados por los principales fabricantes de tecnología (IBM, Microsoft, etc.), Estos estándares señalan cómo se deben cursar las peticiones de servicio a servidores remotos, la forma en la cual éstos deben enviar los resultados, y cómo se deben publicar o dar a conocer los servicios que están accesibles a través de un servidor web. Estos estándares señalan cómo se deben cursar las peticiones de servicio a servidores remotos, la forma en la cual éstos deben enviar los resultados, y cómo se deben publicar o dar a conocer los servicios que están accesibles a través de un servidor web. Ninguno de estos estándares trata la forma en la que debe implementarse o programarse el servicio en sí mismo. En este punto, se deja libertad absoluta a los fabricantes y proveedores para elegir el lenguaje de programación que deseen utilizar. Ninguno de estos estándares trata la forma en la que debe implementarse o programarse el servicio en sí mismo. En este punto, se deja libertad absoluta a los fabricantes y proveedores para elegir el lenguaje de programación que deseen utilizar.

6 Qué es un servicio web Un servicio web consiste en una función disponible en un servidor conectado al web. Esta función puede consistir en cualquier cosa: Un servicio web consiste en una función disponible en un servidor conectado al web. Esta función puede consistir en cualquier cosa: Realizar un simple cálculo con unos datos que se le envían como parámetro,Realizar un simple cálculo con unos datos que se le envían como parámetro, Acceder a una base de datos para recuperar un conjunto de registros,Acceder a una base de datos para recuperar un conjunto de registros, Validar la corrección de una información o contrastarla frente a otros datos, etc.Validar la corrección de una información o contrastarla frente a otros datos, etc. El servicio web podrá ser solicitado desde otro programa informático que se ejecute en un ordenador conectado al web. Junto a la solicitud de la ejecución, se pueden enviar al ordenador que ofrece el servicio unos parámetros que el servicio web remoto tomará como base para el cálculo o la función. El servicio web podrá ser solicitado desde otro programa informático que se ejecute en un ordenador conectado al web. Junto a la solicitud de la ejecución, se pueden enviar al ordenador que ofrece el servicio unos parámetros que el servicio web remoto tomará como base para el cálculo o la función.

7 Qué es un servicio web La aplicación que actúa como cliente debe conocer: La aplicación que actúa como cliente debe conocer: La URL del servidor remoto que ofrece el servicio,La URL del servidor remoto que ofrece el servicio, El nombre del servicio que se solicita, yEl nombre del servicio que se solicita, y Los parámetros que se deben enviar junto con la llamada al servicio.Los parámetros que se deben enviar junto con la llamada al servicio. Estos datos se enviarán mediante HTTP Estos datos se enviarán mediante HTTP El servidor que ofrece el servicio web leerá los parámetros que se le han enviado, llamará a un componente o programa encargado de implementar el servicio, y los resultados que se obtengan de su ejecución serán devueltos al servidor que solicitó la ejecución del servicio. El servidor que ofrece el servicio web leerá los parámetros que se le han enviado, llamará a un componente o programa encargado de implementar el servicio, y los resultados que se obtengan de su ejecución serán devueltos al servidor que solicitó la ejecución del servicio.

8 Estándares para servicios web Los servicios web se definen a partir de las siguientes especificaciones: Los servicios web se definen a partir de las siguientes especificaciones: SOAP (Simple Object Access Protocol)SOAP (Simple Object Access Protocol) WSDL (Web Services Description Language)WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration)UDDI (Universal Description, Discovery and Integration) Del mantenimiento de las dos primeras, SOAP y WSDL se encarga el W3C. En el caso de UDDI, se trata de un proyecto en el que participan distintas empresas Del mantenimiento de las dos primeras, SOAP y WSDL se encarga el W3C. En el caso de UDDI, se trata de un proyecto en el que participan distintas empresas El lenguage XML constituye la base de todos ellos. El lenguage XML constituye la base de todos ellos.

9 SOAP (Simple Object Access Protocol) La especificación SOAP indica cómo se deben codificar los mensajes que circularán entre las dos aplicaciones. La especificación SOAP indica cómo se deben codificar los mensajes que circularán entre las dos aplicaciones. Fue definido inicialmente por Microsoft, Userland Software y DevelopMentor, a día de hoy se trata de una especificación mantenida por el W3C que cuenta con el apoyo de otros fabricantes como IBM, HP, Oracle, etc. Fue definido inicialmente por Microsoft, Userland Software y DevelopMentor, a día de hoy se trata de una especificación mantenida por el W3C que cuenta con el apoyo de otros fabricantes como IBM, HP, Oracle, etc. La especificación SOAP define dos modelos de mensajes: La especificación SOAP define dos modelos de mensajes: Un mensaje que se enviará desde la aplicación cliente a la aplicación servidor, solicitando la ejecución de un método al que se pasan una serie de parámetros.Un mensaje que se enviará desde la aplicación cliente a la aplicación servidor, solicitando la ejecución de un método al que se pasan una serie de parámetros. Un mensaje que se enviará desde la aplicación servidor a la cliente, y que contendrá datos XML con los resultados de la ejecución del método solicitado.Un mensaje que se enviará desde la aplicación servidor a la cliente, y que contendrá datos XML con los resultados de la ejecución del método solicitado.

10 Ejemplo mensaje SOAP petición <SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body> <catalogo:isbn>84-4553-3334-2X</catalogo:isbn></catalogo:buscaIsbn></SOAP-ENV:Body></SOAP-ENV:Envelope>

11 Ejemplo mensaje SOAP respuesta <SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body> <catalogo:titulo> Catalogar materiales especiales </catalogo:titulo> Marta de Juanes Marta de Juanes </catalogo:buscaIsbnResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

12 Implementar SOAP Para facilitar la creación y el formateo de los mensajes SOAP que deben intercambiar las aplicaciones web, los programadores disponen de distintas utilidades y aplicaciones Para facilitar la creación y el formateo de los mensajes SOAP que deben intercambiar las aplicaciones web, los programadores disponen de distintas utilidades y aplicaciones Estas implementaciones incluyen utilidades para generar los mensajes a partir de componentes Estas implementaciones incluyen utilidades para generar los mensajes a partir de componentes Actualmente existen ciertas “diferencias” en las implementaciones de los distintos fabricantes Actualmente existen ciertas “diferencias” en las implementaciones de los distintos fabricantes

13 WSDL (Web Services Description Language) Permite describir los distintos métodos o funciones que están disponibles en un servicio web, así como su signatura, es decir, el número de argumentos o parámetros que se les debe pasar, y el tipo de dato que devolverá la función como resultado. Permite describir los distintos métodos o funciones que están disponibles en un servicio web, así como su signatura, es decir, el número de argumentos o parámetros que se les debe pasar, y el tipo de dato que devolverá la función como resultado. Se establece una equivalencia entre el documento WSDL y un “contrato” que especifica los servicios que el servidor se compromete a ofrecer al cliente, siempre que éste los solicite de la forma adecuada Se establece una equivalencia entre el documento WSDL y un “contrato” que especifica los servicios que el servidor se compromete a ofrecer al cliente, siempre que éste los solicite de la forma adecuada

14 WSDL (Web Services Description Language) Los documentos WSDL deben estar disponibles en el servidor web que ofrece los servicios. Los documentos WSDL deben estar disponibles en el servidor web que ofrece los servicios. Como su creación resulta compleja, las distintas implementaciones de SOAP permiten generar estos archivos de forma sencilla, sin necesidad de conocer los elementos y la estructura del esquema XML en el que se basan. Como su creación resulta compleja, las distintas implementaciones de SOAP permiten generar estos archivos de forma sencilla, sin necesidad de conocer los elementos y la estructura del esquema XML en el que se basan.

15 UDDI (Universal Description, Discovery and Integration) A medida que el número de proveedores de servicios web aumente, será necesario disponer de un sistema de referencia que permita localizar estos servicios. Este es el propósito del proyecto UDDI A medida que el número de proveedores de servicios web aumente, será necesario disponer de un sistema de referencia que permita localizar estos servicios. Este es el propósito del proyecto UDDI UDDI es un proyecto relacionado con los servicios web y que tiene importancia, si bien no es uno de los componentes básicos de la tecnología sobre la que se construye el paradigma de los servicios web UDDI es un proyecto relacionado con los servicios web y que tiene importancia, si bien no es uno de los componentes básicos de la tecnología sobre la que se construye el paradigma de los servicios web

16 Servicios web en bibliotecas Cualquier área de trabajo que precise el intercambio de datos entre aplicaciones distribuidas a través de Internet puede beneficiarse del concepto de servicios web. Cualquier área de trabajo que precise el intercambio de datos entre aplicaciones distribuidas a través de Internet puede beneficiarse del concepto de servicios web. En el ámbito de la automatización de bibliotecas, el potencial de los servicios web no puede pasar desapercibido. En el ámbito de la automatización de bibliotecas, el potencial de los servicios web no puede pasar desapercibido. De hecho, el número creciente de bases de datos y servicios de información disponibles a través del web podrían interactuar entre sí mediante servicios web, facilitando la localización de información distribuida. De hecho, el número creciente de bases de datos y servicios de información disponibles a través del web podrían interactuar entre sí mediante servicios web, facilitando la localización de información distribuida.

17 Servicios web en bibliotecas El préstamo interbibliotecario El préstamo interbibliotecario Facilitar la gestión de bibliografías personales Facilitar la gestión de bibliografías personales El acceso a lenguajes documentales (listas de materias, clasificaciones bibliográficas) y listas de autoridades El acceso a lenguajes documentales (listas de materias, clasificaciones bibliográficas) y listas de autoridades Ya hay iniciativas: XER (XML Encoding Rules) del año 1999, de la que podemos encontrar información en la URL: Ya hay iniciativas: XER (XML Encoding Rules) del año 1999, de la que podemos encontrar información en la URL: http://asf.gils.net/xer/concept.html http://asf.gils.net/xer/concept.html y cuyo objetivo era codificar los intercambios de datos entre un cliente y un servidor Z39.50 utilizando XML en lugar de la sintáxis BER. y cuyo objetivo era codificar los intercambios de datos entre un cliente y un servidor Z39.50 utilizando XML en lugar de la sintáxis BER.

18 Servicios web en bibliotecas Otro proyecto en esta misma línea, aunque ya planteado a partir del uso de Z39.50 sobre SOAP, es el ez3950, propuesto por Poul Henrik Jørgensen del Danish Bibliographic Center Otro proyecto en esta misma línea, aunque ya planteado a partir del uso de Z39.50 sobre SOAP, es el ez3950, propuesto por Poul Henrik Jørgensen del Danish Bibliographic Center Estos proyectos se pueden enmarcar en una tendencia “generalizada” de utilizar XML para la codificación de información en formato electrónico en aplicaciones de gestión bibliotecaria: IIIRECORD, MARCXML, etc. Estos proyectos se pueden enmarcar en una tendencia “generalizada” de utilizar XML para la codificación de información en formato electrónico en aplicaciones de gestión bibliotecaria: IIIRECORD, MARCXML, etc.


Descargar ppt "XML y Servicios Web Ricardo Eito Brun Sevilla, 23-25 de octubre 2002."

Presentaciones similares


Anuncios Google