domingo, 14 de octubre de 2012

Stomp en PHP


Stomp es una extensión que permite a aplicaciones php comunicarse con cualquier Message Brokers compatible con el protocolo STOMP, a través de sencillas interfaces procedurales orientadas a objetos.

Esta extensión nos permite leer o enviar mensajes a una cola, dicha cola esta implementada con el ActiveMQ que ha sido implementada en el proyecto del curso para poder resolver el tema de mensajería.

Para poder utilizar Stomp desde nuestra aplicación PHP tenemos que incluir la librería:

require_once("../Stomp.php");

Luego procedemos a implementar a quien va a enviar los mensajes a la cola:

<?php
$queue1 = '/queue/queue1';
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}
for($i=1;$i<10;$i++) {
    $msg1 = "queue one my data".$i;
    $stomp->send($queue1, $msg1, array('persistent' => 'true'));
}
unset($stomp);
?>


Teniendo ya nuestro método que envía los mensajes a la cola, continuamos creando al consumidor, quien se encargará finalmente de sacar los mensajes de la cola para procesarlos:

<?php
$queue1 = '/queue/queue1';
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

$stomp->subscribe($queue1);
while(1) {
    $frame = $stomp->readFrame();
    if ( $frame != null) {
        echo $frame->body; //process your message
        echo "\n";
        $stomp->ack($frame);
    }
}

unset($stomp);
?>


De esta manera rápida y sencilla podemos atender y enviar los mensajes a una cola para que sean procesados de la manera que uno crea conveniente para su aplicación en uso.


sábado, 13 de octubre de 2012

SOAP Client en PHP


La clase SoapClient proporciona un cliente para servidores SOAP 1.1, SOAP 1.2. Puede ser usada en modo WSDL o modo no-WSDL.

Esta clase me ha sido muy útil para poder consumir los servicios web SOAP hospedados en un aplicativo Java Maven en el proyecto del curso, es fácil y muy sencillo de usar.

De esta forma podemos llamar a la clase SoapClient y hacer un llamado a la función que nos retornara la información necesaria para ser procesada:

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>


Ahora bien, esta clase nos brinda una serie de métodos a los cuales podemos acceder:
  • SoapClient::__call — Llama a una función SOAP (obsoleto)
  • SoapClient::__construct — Constructor de SoapClient
  • SoapClient::__doRequest — Realiza una petición SOAP
  • SoapClient::__getFunctions — Devuelve una lista de todas las funciones SOAP disponibles
  • SoapClient::__getLastRequest — Devuelve la última petición SOAP
  • SoapClient::__getLastRequestHeaders — Devuelve los encabezados SOAP de la última petición
  • SoapClient::__getLastResponse — Devuelve la última respuesta SOAP
  • SoapClient::__getLastResponseHeaders — Devuelve los encabezados SOAP de la última respuesta
  • SoapClient::__getTypes — Devuelve una lista de los tipos SOAP
  • SoapClient::__setCookie — El propósito de __setCookie
  • SoapClient::__setLocation — Define la localización del servicio Web a utilizar
  • SoapClient::__setSoapHeaders — Define los encabezados SOAP para las subsiguentes llamadas
  • SoapClient::__soapCall — Llama a una función SOAP
  • SoapClient::SoapClient — Constructor de SoapClient

De esta forma podemos manejar la información retornada del servicio web y procesarla de la mejor manera para poder mostrarla como más nos convenga.

viernes, 12 de octubre de 2012

Bootstrap de Twitter




Bootstrap es un framework para personas que saben lo que están haciendo cuando construyen interfaces personalizables para sitios web estéticamente agradables de una manera fácil y rápida.

Twitter acaba de lanzar Bootstrap 2.0, una actualización tan grande que equivale a una reescritura casi completa. Este lanzamiento tiene bastantes características nuevas, pero el techo real es que el framework es completamente "responsive".

Boostrap es una herramienta Open Source para el desarrollo rápido de aplicaciones web que ha ido creciendo en popularidad hasta convertirse en uno de los proyectos más destacados en la plataforma de código abierto GitHub. 

Esta herramienta me ha sido muy útil para poder realizar mi proyecto en el curso, puesto que no necesite de mucho tiempo para poder implementarla ya que viene con un diseño estándar que es muy fácil de aplicar, toda la información necesaria para poder empezar a utilizar esta herramienta esta en su página web principal: Bootstrap Twitter 2.0.



jueves, 11 de octubre de 2012

REST vs SOAP

REST frente a SOAP. Como de costumbre, con las tecnologías competidoras ambos tienen valor, el desafío es saber cuándo utilizar cada uno (por suerte, la respuesta es casi siempre REST).

SOAP

Es un propio protocolo y se centra en la exposición de piezas de lógica de aplicación (no de datos) como servicios. SOAP expone las operaciones. SOAP se centra en el acceso a las operaciones con nombre, cada implementar alguna lógica de negocio a través de diferentes interfaces. 

Aunque SOAP se conoce comúnmente como "servicios web"es un nombre inapropiado. SOAP tiene muy poco o nada que ver con la Web. REST proporciona verdaderos "servicios web", basada en URI y HTTP. 

REST

Usted está exponiendo una API pública a través de Internet para manejar las operaciones CRUD sobre los datos. REST se centra en el acceso a los recursos nombrados a través de una única interfaz coherente.

REST utiliza el estándar HTTP es mucho más simple. Creación de clientes, el desarrollo de APIs, la documentación es mucho más fácil de entender.

REST permite a muchos formatos de datos diferentes, donde como SOAP sólo permite XML. Si bien esto puede parecer que añade complejidad a descansar porque usted necesita para manejar varios formatos, en mi experiencia, en realidad ha sido muy beneficiosa. JSON generalmente es un mejor ajuste para los datos y analiza mucho más rápido. REST permite un mejor apoyo a los clientes del explorador, debido a su soporte para JSON. Es un mal argumento (por la Autoridad), pero vale la pena mencionar que Yahoo utiliza REST para todos sus servicios como Flickr y del.ici.ous. Amazon y Ebay proporcionar tanto aunque el uso interno de Amazon es casi todo lo demás origen . Google utiliza para proporcionar SOAP sólo para todos sus servicios, pero en 2006 en desuso en favor de REST.