martes, septiembre 09, 2014

Creando un Servicio Web con PHP

Descargar Codigo Fuente

Introducción

Hoy, intentaremos escribir una funcionalidad de servicios web y también la forma de consumirla mediante código PHP. Básicamente, se trata de un nivel de servicio web de principiante pero podemos ver el nivel de sencillez que resulta para a futuro poder utilizarlo.

Contenido

  1. Que es SOAP?
  2. Porque SOAP?
  3. Creando un metodo para el web services.
  4. Consumiendo un web service(Cliente)

Desarrollo:

Que es SOAP?

SOAP iesta basado en XML lo que se considera de lectura humano. Es un protocolo para acceder a un servicio Web. Se trata de un sencillo protocolo basado en XML para permitir el intercambio de requerimientos de información a través del protocolo HTTP

Porque SOAP?

Para el caso, se requiere de tantas aplicaciones para la comunicación de datos entre los sistemas, una form es por medio de llamadas a procedimiento remoto (RPC) entre objetos como DCOM y CORBA pero HTTP no fue diseñado para esto.
  • RPC representa compatibilitibidad
  • La seguridad es un problema
  • Los servidores Firewalls y proxy, normalmente bloquean el trafico.
Una mejor manera de comunicarse entre las aplicaciones es a través de HTTP, HTTP es compatible con todos los navegadores y servidores de Internet. Por eso es preferible servicio SOAP.

Podemos colaborar con otros programadores de la construcción de gran tamaño y aplicaciones complejas en múltiples plataformas.

Utilizando el Codigo

Aquí, vamos a crear un servicio web utilizando el código PHP, para ello seguiremos los siguientes pasos:
Paso 1: Se debe descargar la libreria de esta URL http://sourceforge.net/projects/nusoap/.
Paso 2: Instalar WAMP/XAMPP en ambientes Windows o en Linux instalar el servidor Apache con PHP, luego ubicar para Windows www/httpdoc, en Linux en var/www/html.
Paso 3: Crear una carpeta llamada "serviciowebsoap"  segun el Paso 2.
Paso 4: Copiar en la carpeta "lib" lo que se descargo en el Paso 1, dentro de la libreria Paso 3.
Paso 5: Crear dos archivos "server.php" y "client.php" en la carpeta creada en el Paso 3.
Paso: Para el "server.php", escribir el sigiente codigo:
<?php
//Invocar a la libreria 
require_once ('lib/nusoap.php'); 
//uitilizando SOAP_SERVER para crear un objeto server 
$server = new soap_server; 

//registrr la function que trabajo en el servidor
$server->register('get_message'); 

// crear la funccion 
function get_message($your_name) 
{ 
if(!$your_name){ 
return new soap_fault('Client','','Digite su Nombre:!'); 
} 
$result = "Bienvenido a ".$your_name .". Gracias por utilizar el primer servicio web  en PHP con SOAP"; 
return $result; 
} 
// crear HTTP oyente
$server->service($HTTP_RAW_POST_DATA); 
exit(); 
?> 
 
Paso 7: Despues de haber creado el archivo "server.php" , vamos a crear ahora el archivo que podamos probar su funcionalidad. En el navegador escribirmos los siguiente http://localhost/serviciowebsoap/server.php?wsdl.
Paso 8: Crear el archivo cliente o consumidor "client.php" en la carpeta serviciowebsoap. Digitamos lo sigueinte:
<?php 
require_once ('lib/nusoap.php'); 
// Reuqerimos el valor del parametro
$param = array( 'your_name' => 'Jose Candelario'); 
// Crear un objeto que haga referencia a los servicios web
$client = new soapclient('http://localhost/serviciowebsoap/server.php'); 
// Invocar la funcion del servidor y enviar parametros
$response = $client->call('get_message',$param); 
//Process result 
if($client->fault) 
{ 
echo "FAULT: <p>Code: (".$client->faultcode."</p>"; 
echo "String: ".$client->faultstring; 
} 
else 
{ 
echo $response; 
} 
?> 
 
Paso 9: Respaldar todo los archivoss, seguidamente en el Navegador digite lo siguiente http://localhost/serviciowebsoap/client.php.
Se visualizara el siguiente resultado: 
Bienvenido a JOSE CANELARIO. Gracias por utilizar el primer servicio web utilizando  PHP con SOAP.

Como ven la creación y utilizacion de servicios web con PHP resulta bastante sencillos.

No hay comentarios: