Diferencia entre revisiones de «Usuario:ManuelRomero/PHP/servicioWeb»

De WikiEducator
Saltar a: navegación, buscar
(Qué es un servicio web)
Línea 16: Línea 16:
  
 
[[Archivo:servicioWeb3.png]]
 
[[Archivo:servicioWeb3.png]]
 +
 +
==Características de un servicicio Web==
 +
Los servicios web se crearon para permitir el intercambio de información. Para este cometido hay muchos protocolos de nivel de aplicacion (FTP, telnet, ssh, pop3, smtp, ...). Por ser un servicio web el protocolo base será  HTTP (de ahí el término web).
 +
 +
A diferencia de lo que estamos acostumbrados hasta ahora donde un cliente utiliza este protocolo y obtiene como resultado una página web,lLa respuesta obtenida obtenida ahora, no será una página web, sino la información que se solicitó, o bien haber realizado la acción solicitada. Por tanto, cualquier ordenador que pueda consultar una página web, podrá también solicitar información de un servicio web.
 +
 +
Ahora entre otras cuestiones, para poder crear un servicio web, o bien usar un servicio web existente, debemos tener claro:
 +
#Cómo crear la solicitud y como construir la respuesta para el cliente
 +
#Cómo conocer o publicar las funciones para que el cliente las utilice
 +
 +
Dependiendo de la tecnología o estándar que vamos a utilizar para implementar el servicio web,  estas cuestiones se resolverán de diferentes formas.
 +
 +
Existen dos formas mas o menos estandares que son SOAP y REST.
 +
Ambas se usan bastante, si bien para desarrollos rápidos se usa mucho mas REST.
 +
En este cusro veremos las dos formas de crear/usar servicios web. En este tema abordaremos SOAP
 +
[[Imagen:SoapVsRest.png]]
 +
===SOAP===
 +
*Es un protocolo que indica cómo se tienen que intercambiar mensajes entre cliente y servidor
 +
*Utiliza xml para este intercambio
 +
*SOAP se acompaña de un lenguaje llamada WSDL, usado para describir y publicar las funciones que el servicio ofrece a sus clientes.
 +
*A continuación vamos a entender y profundizar en las diferentes partes de un fichero xml de soap para poder entenderlo
 +
====Ficheros xml que soap crea para el intercambio====
 +
Un mensaje SOAP viaja en un fichero xml con la siguiente estructura
 +
 +
#Elemento principal o '''''Envelope''''' o elemento raiź  que identifica el mensaje
 +
#cabecera o header opcional. se componen de uno o varios '''''header blocks'''''
 +
#body : Es una parte obligatoria, y  contiene la información relativa a la llamada y la respuesta.
 +
[[Archivo:xmlSoap1.png]]
 +
soap:Envelope

Revisión de 07:22 16 ene 2015

http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb

Qué es un servicio web

Es una aplicación disponible en la web que responde a una solicitud de otra aplicación. La solicitud puede implicar solicitud de datos o realizar acciones. Esto facilita que nuestras aplicaciones puedan ser usadas por otras aplicaciones en la web.

ServicioWeb1.png

En la imagen vemos cómo un cliente solicita una página web, y para poder visualizar la información, ésta solicita información a otra, que se la solicita a otra ,... Usar o crear un servicio web es una buena solución cuando queremos que una aplicación comparta información con otra u otras, o cuando quieres usar el resultado que una aplicación produce a otra sin que esta segunda acceda directamente a los datos.

Supongamos que hacemos una aplicación que gestiona libros y los almacena en una base de datos. Posteriormente realizamos otra aplicación u otra persona desarrolla otra aplicación que necesita los libros que la primera gestionó. Una solución es ofrecer la base de datos a esta segunda aplicación.

ServicioWeb2.png

Pero esta no es una solución buena en todos los casos; primero por rendimiento y segundo por temas de seguridad o confidencialidad. Una segunda solución es que la app 1 se convirtiera en un servicio web que lo pudieran consultar otras aplicaciones en los términos que yo decida. Además usar la aplicación primera implica usar toda la lógica de negocio que en ella haya plasmado

ServicioWeb3.png

Características de un servicicio Web

Los servicios web se crearon para permitir el intercambio de información. Para este cometido hay muchos protocolos de nivel de aplicacion (FTP, telnet, ssh, pop3, smtp, ...). Por ser un servicio web el protocolo base será HTTP (de ahí el término web).

A diferencia de lo que estamos acostumbrados hasta ahora donde un cliente utiliza este protocolo y obtiene como resultado una página web,lLa respuesta obtenida obtenida ahora, no será una página web, sino la información que se solicitó, o bien haber realizado la acción solicitada. Por tanto, cualquier ordenador que pueda consultar una página web, podrá también solicitar información de un servicio web.

Ahora entre otras cuestiones, para poder crear un servicio web, o bien usar un servicio web existente, debemos tener claro:

  1. Cómo crear la solicitud y como construir la respuesta para el cliente
  2. Cómo conocer o publicar las funciones para que el cliente las utilice

Dependiendo de la tecnología o estándar que vamos a utilizar para implementar el servicio web, estas cuestiones se resolverán de diferentes formas.

Existen dos formas mas o menos estandares que son SOAP y REST. Ambas se usan bastante, si bien para desarrollos rápidos se usa mucho mas REST. En este cusro veremos las dos formas de crear/usar servicios web. En este tema abordaremos SOAP SoapVsRest.png

SOAP

  • Es un protocolo que indica cómo se tienen que intercambiar mensajes entre cliente y servidor
  • Utiliza xml para este intercambio
  • SOAP se acompaña de un lenguaje llamada WSDL, usado para describir y publicar las funciones que el servicio ofrece a sus clientes.
  • A continuación vamos a entender y profundizar en las diferentes partes de un fichero xml de soap para poder entenderlo

Ficheros xml que soap crea para el intercambio

Un mensaje SOAP viaja en un fichero xml con la siguiente estructura

  1. Elemento principal o Envelope o elemento raiź que identifica el mensaje
  2. cabecera o header opcional. se componen de uno o varios header blocks
  3. body : Es una parte obligatoria, y contiene la información relativa a la llamada y la respuesta.

XmlSoap1.png soap:Envelope