Spire.IO: solución PaaS para múltiples tareas comunes de programación
miércoles, marzo 14, 2012 at 12:31PM
javaHispano

spire

La idea de usar servicios en la nube de Internet es hoy por hoy una practica común y un área en constante crecimiento. Los beneficios son amplios, principalmente reflejados en función de tiempo y dinero, siendo estos factores fundamentales a la hora de emprender cualquier proyecto de tecnología.

Aun así, existen distintos tipos de servicios en la nube de Internet. Entre ellos, el modelo de Plataforma como Servicio (o como se le conoce en inglés por sus siglas PaaS - Platform as a Service) sobre cual nos basaremos en este artículo.

PaaS surge como parte de un proceso natural en el área de diseño y desarrollo de sistemas computacionales. Este proceso evolucionó como consecuencia natural del desarrollo de software, en el cual se identifican patrones de diseño que sirven como soluciones comunes en varios tipos de problemas. Por ejemplo, ¿cuantas veces hemos visto la necesidad de escribir un modulo de software encargado de hacer autenticación de usuarios? ¿De recuperación de contraseñas? ¿De conexión a la base de datos? ¿De carrito de compras? ¿De integración con redes sociales? Y estos sólo para nombrar algunos de los ejemplos mas comunes.

Esta situación nos lleva en muchos casos a crear nuestros propios repositorios de librerías reusables entre distintos proyectos o en otros casos a emprender una búsqueda de librerías ajenas. Como desarrolladores de software, es muy probable que al menos una vez nos hemos encontrado en una situación similar. Seria ideal contar con alguien que se encargue a ofrecer estas soluciones, que sea fácil de usar y bajo en costo. Esto es una de las promesas de PaaS que busca principalmente librar a los desarrolladores de servicios que podemos llamar "comunes" y "repetitivos" en casi todo proyecto de software, ofreciendo la posibilidad de que uno pueda enfocarse sobre aquello que en verdad contribuya valor agregado.

Spire.io es una plataforma que busca ayudar a los desarrolladores ofreciéndoles  servicios REST que les permitan solucionar estos problemas, disminuyendo sustancialmente los tiempos y costos de desarrollo. Spire.io entiende estos problemas y esta comprometido a ofrecer estas soluciones mediante servicios caracterizados principalmente por facilidad de uso, accesibilidad y escalabilidad.

El primero de estos servicios disponibles actualmente en Spire.io es el servicio de comunicación de mensajes en tiempo real. Este tipo de sistemas es hoy en día una pieza fundamental en el diseño de sistemas distribuidos, aplicaciones de web y móviles. Pero este es sólo el comienzo, y muchos otros servicios interesantes e indispensables están aun por venir, como pueden ser notificaciones “Push” para dispositivos móviles iOS y Android, registro y autenticación de usuarios, base de datos, etc

El plan básico de mensajes en tiempo-real de Spire.io es totalmente gratuito, se puede acceder con tan sólo registrar una cuenta y obtener un “secret key.” En cuestión de 5 minutos, puedes estar disfrutando y desarrollando contra el producto con mínimo esfuerzo

Spire.io tiene a su disponibilidad librerías para distintas plataformas y lenguajes de programación. Consciente de la importancia y el poder de desarrollo de aplicaciones en Java, Spire.io recientemente acaba de anunciar la disponibilidad de su librería en Java. Este cliente de Java puede ser usado como un librería independiente o en proyectos móviles para Android

Usarlo es increíblemente sencillo. En este ejemplo de la librería de Java podemos ver como crear un canal a donde se pueden enviar mensajes:

import io.spire.Spire;
    import io.spire.api.*;

    Spire spire = new Spire();
    spire.start(accountSecret);    // tu secret key
    
    //crear un canal de mensajes
    Channel channelFoo = spire.createChannel("foo_channel");    
    //enviar un mensaje
    Message message1 = channelFoo.publish("Hello Spire!");
    
    //Ahora vamos a crear otra sesión en donde podamos recibir nuestros mensajes:

    Spire spire2 = new Spire();
    spire2.start(accountSecret);
    
    Subscription subscriptionFoo = spire2.subscribe("subscriptionFoo", "foo_channel");
    
    Events events = subscriptionFoo.retrieveMessages();
    Message message = events.getMessages().get(0);
    System.out.println(message.getContent().toString()); // => "Hello Spire!"

Asi como la plataforma de Java, Spire.io esta también disponible en JavaScript (para usar en el Browser y en Node.js), Ruby y Python

Contribuir a este proyecto es sumamente fácil y la colaboración es siempre bienvenida por Spire.io. Sólo hay que hacer un “Fork” en la librería de Java en Github y enviar tu “pull request.

Si tienes cualquier pregunta, mandame un correo a “jorge ARROBA spire.io” o encuentranos en twitter @spireio (somos bilingues!)

 

Article originally appeared on javaHispano (http://www.javahispano.org/).
See website for complete article licensing information.