Presentacion ws

Post on 09-Jul-2015

903 views 3 download

Transcript of Presentacion ws

WEB SERVICES

Definición, ejemplos y usos prácticos

¿QUE ES UN WS?

El W3C define los WS como “un conjunto de aplicaciones o tecnologías con capacidad deinteroperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con elobjeto de ofrecer servicios. Los proveedores ofrecen sus servicios como procedimientosremotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de laweb”.

Entonces podríamos decir que un Web Service es una comunicación por medio de mensajesSOAP entre diferentes equipos.

Los servicios web se caracterizan por el uso que hacen de XML para el intercambio de datos,y su adaptación a distintos formatos, de modo que podemos compartir información entreaplicaciones.

Para conocer cómo se realiza el intercambio de mensajes en los Web Services debemosprimero saber cuáles son los elementos fundamentales que lo componen. Estos son el XML,SOAP y WSDL.

¿QUE ES UN WS?

El W3C define los WS como “un conjunto de aplicaciones o tecnologías con capacidad deinteroperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con elobjeto de ofrecer servicios. Los proveedores ofrecen sus servicios como procedimientosremotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de laweb”.

Entonces podríamos decir que un Web Service es una comunicación por medio de mensajesSOAP entre diferentes equipos.

Los servicios web se caracterizan por el uso que hacen de XML para el intercambio de datos,y su adaptación a distintos formatos, de modo que podemos compartir información entreaplicaciones.

Para conocer cómo se realiza el intercambio de mensajes en los Web Services debemosprimero saber cuáles son los elementos fundamentales que lo componen. Estos son el XML,SOAP y WSDL.

¿QUE ES UN WS?

El W3C define los WS como “un conjunto de aplicaciones o tecnologías con capacidad deinteroperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con elobjeto de ofrecer servicios. Los proveedores ofrecen sus servicios como procedimientosremotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de laweb”.

Entonces podríamos decir que un Web Service es una comunicación por medio de mensajesSOAP entre diferentes equipos.

Los servicios web se caracterizan por el uso que hacen de XML para el intercambio de datos,y su adaptación a distintos formatos, de modo que podemos compartir información entreaplicaciones.

Para conocer cómo se realiza el intercambio de mensajes en los Web Services debemosprimero saber cuáles son los elementos fundamentales que lo componen. Estos son el XML,SOAP y WSDL.

XML - eXtensible Markup Language

Es un metalenguaje extensible de etiquetas desarrollado por el World Wide WebConsortium (W3C). Permite a los diseñadores/programadores crear sus propias “etiquetas”o "tags" (Ej: <libro>), habilitando la definición, transmisión, validación, y la interpretación dedatos entre aplicaciones y entre organizaciones.

XML - eXtensible Markup Language

SOAP

Es una herramienta para la comunicación entre sistemas dispares, que permite elintercambio de datos complejos, tanto en la solicitud como en la respuesta.

Es un protocolo para el intercambio de mensajes basado en XML, que puede ser utilizadopara el intercambio de información estructurada y de tipos concretos entre puntos de unentorno descentralizado.

Los mensajes SOAP son independientes del sistema operativo y lenguaje de programaciónutilizado y pueden transportarse en varios protocolos de internet como SMTP, MIME yHTTP.

Un servicio web de tipo SOAP se define usando un documento con un formato específicoconocido como WSDL

WSDL

Es un protocolo basado en XML que describe los accesos al Web Service. Podríamos decir que es el manual de operación del web service, porque nos indica cuales son las interfaces que provee el Servicio web y los tipos de datos necesarios para la utilización del mismo.

WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo.

Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.

Ejemplo de WSDL

¿Como leer un WSDL?

http://postingsearcher2.ibumeran.com:8085/AvisosSearch?wsdl

<wsdl:message name="searchRequest"><wsdl:part name="parameters" element="tns:search"></wsdl:part></wsdl:message>

Links de interés

http://www.mitecnologico.com/Main/Wsdl

¿Para que me sirve un WS en mis desarrollos?

¿Para que me sirve un WS en mis desarrollos?

¿Para que me sirve un WS en mis desarrollos?

En la práctica un WS puede tener muchos usos.

¿Para que me sirve un WS en mis desarrollos?

En la práctica un WS puede tener muchos usos.

1) Algo tan sencillo como mostrar en una web el pronóstico del tiempo o la cotización de una moneda

¿Para que me sirve un WS en mis desarrollos?

En la práctica un WS puede tener muchos usos.

1) Algo tan sencillo como mostrar en una web el pronóstico del tiempo o la cotización de una moneda

2) Consultar desde nuestras aplicaciones datos a otro servidor

¿Para que me sirve un WS en mis desarrollos?

En la práctica un WS puede tener muchos usos.

1) Algo tan sencillo como mostrar en una web el pronóstico del tiempo o la cotización de una moneda

2) Consultar desde nuestras aplicaciones datos a otro servidor

3) Intercambiar datos en una operación con diferentes entidades ya sea consultando datos o enviando datos

¿Para que me sirve un WS en mis desarrollos?

En la práctica un WS puede tener muchos usos.

1) Algo tan sencillo como mostrar en una web el pronóstico del tiempo o la cotización de una moneda

2) Consultar desde nuestras aplicaciones datos a otro servidor

3) Intercambiar datos en una operación con diferentes entidades ya sea consultando datos o enviando datos

4) Interactuar con diferentes lenguajes y tecnologías. Por ej. desde un Perl acceder a un WS.

Web Service

Bumeran.com utiliza WS para hacer diferentes tareas en todos los niveles.

-Feed en el portal-Perls-Listado de avisos (usado por las SOBDs u otras webs)

Bumeran.com utiliza WS para hacer diferentes tareas en todos los niveles.

-Feed en el portal-Perls-Listado de avisos (usado por las SOBDs u otras webs)

Feed en el portal

Feed en el portal

WS en SOBD

WS en SOBD

Web Service en PHP

¿Qué es NUSOAP?

NuSOAP es un kit de herramientas (ToolKit) para desarrollar WebServices bajo el lenguaje PHP. Está compuesto por una serie de clasesque nos harán mucho más fácil el desarrollo de Web Services.

Para trabajar con NUSOAP debemos hacer un include de las libreríascorrespondientes.

¿NuSOAP es el único soporte para Web Services en PHP?

¿NuSOAP es el único soporte para Web Services en PHP?

No, no es el único, existen otros, pero es uno de los que están en una fase dedesarrollo mucho más avanzada.

PHP a partir de su versión 5 comienza a dar soporte para SOAP.

WS en PHP 5

En la version 5 de PHP se incorporan las clases necesarias para la creación dewebservices y su invocación desde clientes remotes.

Como dijimos anteriormente se puede trabajar con WS consumiendo el servicio(cliente) o dando el servicio (servidor).

Cliente en PHP 5

Cliente en PHP 5

Consumir un WS en PHP es relativamente fácil. Solamente debemos instanciar a laclase SOAP e ir llamando a los diferentes métodos que tiene definido el WS.

Es importante para esto entender el WSDL para saber como tengo que preguntar,que métodos debo usar, que datos deben pasarse como parámetros a estosmétodos y que respuesta voy a recibir.

En ciertos casos los WS tienen autenticación HTTP por lo cual en estos casos sedebe enviar estos datos al momento de instanciar la clase

Servidor en PHP 5

Armar un servidor de WS a veces no resulta tan fácil. Los errores de parseo son muy difíciles de depurar así como también la mala definición de tipos de datos y operaciones.

En líneas generales un servidor WS debe tener idealmente

1) Archivo principal que será el servidor propiamente dicho. En este archivo se definirán los métodos que tendrá mi WS. index.php

Servidor en PHP 5

Armar un servidor de WS a veces no resulta tan fácil. Los errores de parseo son muy difíciles de depurar así como también la mala definición de tipos de datos y operaciones.

En líneas generales un servidor WS debe tener idealmente

1) Archivo principal que será el servidor propiamente dicho. En este archivo se definirán los métodos que tendrá mi WS. index.php

2) Archivo de operaciones. En este archivo se definirán las operaciones que realiza el WS, cada método de WS necesita definir una operación. En la definición se indica que datos recibe y que datos devuelve (tipo de dato complejo) – operations.php

Servidor en PHP 5

Armar un servidor de WS a veces no resulta tan fácil. Los errores de parseo son muy difíciles de depurar así como también la mala definición de tipos de datos y operaciones.

En líneas generales un servidor WS debe tener idealmente

1) Archivo principal que será el servidor propiamente dicho. En este archivo se definirán los métodos que tendrá mi WS. index.php

2) Archivo de operaciones. En este archivo se definirán las operaciones que realiza el WS, cada método de WS necesita definir una operación. En la definición se indica que datos recibe y que datos devuelve (tipo de dato complejo) – operations.php

3) Archivo de definición de tipo de datos complejo. En este archive se definirán todos los tipos de datos complejos a los cuales se referencia en la registración de operaciones. complextypes.php

Servidor en PHP 5

Armar un servidor de WS a veces no resulta tan fácil. Los errores de parseo son muy difíciles de depurar así como también la mala definición de tipos de datos y operaciones.

En líneas generales un servidor WS debe tener idealmente

1) Archivo principal que será el servidor propiamente dicho. En este archivo se definirán los métodos que tendrá mi WS. index.php

2) Archivo de operaciones. En este archivo se definirán las operaciones que realiza el WS, cada método de WS necesita definir una operación. En la definición se indica que datos recibe y que datos devuelve (tipo de dato complejo) – operations.php

3) Archivo de definición de tipo de datos complejo. En este archive se definirán todos los tipos de datos complejos a los cuales se referencia en la registración de operaciones. complextypes.php

4) Librerías adicionales con funciones y/o clases que utilicen los métodos de WS class_WS.php