viernes, 26 de octubre de 2007

Introduccion a los Web Services

Web Services es un sistema que permite y apoya la interoperabilidad. Se permite a las aplicaciones escritas en diferentes lenguajes que se ejecuten en diferentes sistemas operativos, y poder comunicarse unos con otros, intercambiar informacion y realizar diferentes operaciones. Los elementos basicos de los Web Services son un conjunto de normas a sabar, basado en XML SOAP (Simple Object Access Protocol), WSDL(Web Services Description Language) y UDDI (Universal Description, Discovery and Integration).



El diagrama de arriba es la forma mas simple de diagrama que puede ayudarle a visualizar los servicios web, y muestra como dos aplicaciones remotas pueden interactuar unos con otros usando servicios web. El protocolo utilizado para esta interaccion es SOAP remoto.

Simple Object Access Protocol (SOAP)

SOAP es un protocolo liviano para el intercambio de informacion en un entorno distribuido. Se trata de un protocolo basado en XML. El aspecto mas importante de SOAP es su sencillez y extensibilidad. Un mensaje SOAP contiene datos en forma de XML. SOAP consta de tres partes:

  1. Es un marco para describir lo que hay en un mensaje y la forma de procesar el mensaje
  2. Se trata de un conjunto de reglas de codificacion
  3. Se trata de una convencion para representar llamadas a procedimientos remotos (peticion y respuesta)

PHP y Web Services

PHP es un lenguaje de scriting utilizado ampliamente y de proposito general. Es basicamente una cuestion del lenguaje, pero tiene las capacidades de un lenguaje orientado a objetos tambien. Su sintaxis es similar a la de Perl, C, Java, etc puede ser muy facilmente incorporar codigo HTML dentro de él, esto hace que el desarrollo web en PHP sea muy facil. Algunas de las caracteristicas de PHP que ha mejorado su capacidad para el desarrollo de los servicios web se examinan a continuacion.

Capacidades de la programacion orientada a objetos

  • PHP soporta XML
  • La extension de PHP CURL (Client URL Library) permite comunicarse a traves de diferentes protocolos como HTTP, HTTPS, FTP, Telnet, LDAP.
  • La caracteristica mas importante de PHP es la implementacion del open source en los web services

PHP usando servicios Web NuSoap

NuSoap es un conjunto de clases PHP que nos permite enviar y recibir mensajes SOAP sobre HTTP. Puede descargar esta libreria nusoap.php en http://www.nusphere.com/. Es de codigo abierto, licenciado bajo la licencia GNU GPL. Una vez que haya descargado nusoap.php, simplemente es necesario guardarlo en cualquier lugar que desee en su maquina, pero no hay que olvidar incluir path de este archivo, incluyendo al mismo tiempo, este fichero en su especificacion de codigo php. Me permito sugerir que se le mantenga en la misma carpeta de trabajo en el que encuentra el codigo. Para incluir las clases de NuSoap en nuestro codigo:

include('nusoap.php');

Si la ruta del archivo nusoap.php (que puede ser absoluta o relativa) es incorrecta, el mencionado codigo generará una advertencia, pero continuara la tramitacion del resto del codigo. Tambien podemos usar debajo de la mencionada funcion, segun sea necesario.

  • require() :- es similar a la funcion include(), si no que hace que los programas se detengan en caso de fracaso.
  • require_once():- es similar a require(), pero no incluye el archivo si ya se ha incluido.
  • include_once():- similar a include(), pero no incluye el archivo si ya se ha incluido

fuente: phpbuilder.com

3 comentarios :

  1. Blaxter dijo...

    No mezclemos la velocidad con el tocino. Un WebService no tiene porqué usar SOAP, es más, un buen web service no lo usará. SOAP ha sido el impedimento que han tenido desde los comienzos los webservices para su expansión. Menos mal que la guerra terminó, y SOAP está listo para sentencia. REST powah!

  2. Anónimo dijo...

    Probablemente sea posible la integracion de estos dos conceptos pero muy mal vista por la flexibilidad que pueda aportar un web services conbinado con PHP.

    Aunque aun asi es muy interesante verlo.

  3. Setting dijo...

    blaxter posiblemente tengas razon, pero la diversidad en proyectos que necesitan esta caracteristica para proporcionar flexibilidad en su entorno de trabajo es muy amplia, y sobre todo para PHP esto es un pequeño avance en su universabilidad y eficiciencia.