Implementando servicios web con php

Solo disponible en BuenasTareas
  • Páginas : 7 (1637 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de noviembre de 2011
Leer documento completo
Vista previa del texto
Implementando servicios web con PHP
En la actualidad el término servicios web (web services) forma parte esencial dentro del mundo del desarrollo de software, ya se ha escrito mucho sobre que son y cuales tecnologías usan, por lo tanto la razón de ser de este artículo es realizar una implementación real de servicios web con una tecnología tan importante como lo es el PHP, hablando un pocotambién de los fundamentos teóricos pero sin ahondar demasiado en el tema.
Para lograr la implementación de servicios web en PHP se usó las tecnologías XML-RPC y SOAP sobre las cuales se implementaron servidores y clientes consumidores de servicios web.
Servicios Web
Los servicios web han venido a revolucionar el mundo de la programación, nos ofrecen una infinidad de ventajas y nos ayudan a mejorar laforma de procesar información. Pero, ¿qué es un servicio web?, pues bien, es computación distribuida utilizando estándares abiertos como XML y HTTP para llamar o invocar funciones de otras aplicaciones independientes sea cual sea el sistema operativo o plataforma en que se ejecutan.
Ahora bien, podemos realizar un servicio web sencillo en nuestra computadora, pero posiblemente éste no cumplirácon estándares de comunicación, es por eso que debemos de entender que para realizar una correcta función de nuestros servicios web es necesario estandarizarlos por medio de protocolos. Existen dos tendencias en particular que es XML-RPC y SOAP. Estos dos protocolos son lenguajes de mensajería basada en XML, estandarizados por el consorcio W3C.
XML-RPC
XML-RPC es el protocolo de llamada deprocedimientos remotos (RPC: Remote Procedure Calling), el cual trabaja sobre internet. Un mensaje de XML-RPC es una petición del HTTP-POST [1]. El cuerpo del mismo está en XML, un procedimiento es ejecutado en el servidor y el valor que devuelve está en formato XML. Un ejemplo de una petición [6] sería el siguiente:
POST /RPC2 HTTP/1.0
User-Agent: Frontier/5.1.2 (WinNT)
Host: betty.userland.comContent-Type: text/xml
Content-length: 181

   ejemplo.buscaIsbn
  
     
         1
      
   

Un ejemplo de respuesta [6] sería entonces:
HTTP/1.1 200 OK
Connection: close
Content-Length: 158
Content-Type: text/xml
Date: Fri, 17 Jul 1998 19:55:08 GMT
Server: UserLand Frontier/5.1.2-WinNT

  
     
         PHP
     
  

SOAP
SOAP (Simple Object Access Protocol,Protocolo de acceso a objetos simple)[3] es un protocolo basado en XML que consiste de tres partes: la primera define cuál es el mensaje y cómo procesarlo, la segunda es un sistema de reglas de codificación para expresar tipos de datos definidos y una tercera parte para representar respuestas de llamadas por parte de procedimientos remotos.
La diferencia básica entre los dos protocolos anteriores essu complejidad. XML-RPC está diseñado para ser sencillo, mientras que SOAP está hecho con la idea de ofrecer un soporte completo de todo tipo de servicio web.
Por otro lado, también es conveniente describir qué es WSDL. Pues bien, WSDL es un formato XML que describe los servicios de red como un conjunto de puntos finales que procesan mensajes contenedores de información orientada tanto adocumentos como a procedimientos. Las operaciones y los mensajes se describen de manera abstracta y después se enlazan a un protocolo de red y a un formato de mensaje concreto para definir un punto final de red.
Desarrollo de un servidor XML-RPC
Como usaremos el framework XML-RPC [2] desarrollado por Edd Dumbill para desarrollar nuestros servicios web basados en XML-RPC.
Dicho framework cuenta con laclase xmlrpc_server para construir nuestros servidores, la cual se ha desarrollado lo más simple posible. El constructor básicamente hace todo el trabajo, veamos un pequeño ejemplo:
array("function"=>"foo")));
?>
Es todo lo que necesitamos hacer en un servidor. El único argumento que requiera la clase es un arreglo asociativo de los nombres de los métodos a los nombres de las funciones que se...
tracking img