Translate

sábado, 24 de marzo de 2012

SenseiDB

LinkedIn han librearado la versión 1.0.0 de la base de datos NoSQL SenseiDB. La base de datos Sensei es una base NoSQL que fue diseñana para facilitar las modificaciones y consultas complejas.

Entre las características de esta base podemos nombrar:

  • Búsqueda de full-text
  • Búsqueda por key-value veloz
  • Alta performance durante actualizaciones concurrentes pesadas y alto tráfico de queries
  • Integración con Hadoop


Esta base hace incapie en las busquedas por lo que usuarios de Solr o Lucene usaran todos los conceptos; para las busquedas usa BQL (Browser query language) que es muy similar a SQL.

Para la obtención de datos sólo es a través de puertas de enlace(no hay un "INSERT"). Cada grupo está conectado a una única puerta de enlace. Este es uno de los puntos críticos de entender, ya SenseiDB no se manejan atomicidad ni aislamiento. Aquellos que se aplica de manera externa a nivel de puerta de enlace. La puerta de enlace debe asegurarse de que el flujo de datos se comporta de una manera esperada.

Gracias a LinkedIn ahora es Open Source!

Dejo links:
http://senseidb.com/
http://senseidb.github.com/sensei/overview.html
https://linkedin.jira.com/wiki/display/SENSEI/Home
https://github.com/linkedin/sensei


miércoles, 21 de marzo de 2012

Muchas patentes son totalmente ridículas

Encontré tarde una entrevista a Linus Tolvar, digo tarde porque es vieja; pero de igual forma quiero compartirla:

http://www.pagina12.com.ar/diario/dialogos/21-169096-2011-05-30.html

Código de Android incluido en la versión 3.3 de Kernel de Linux

Buenísima noticia, ahora el kernel de Linux cuenta con código Android. Porque es tan importante la noticia? Esta noticia es un claro ejemplo que cuando el conocimiento se comparte, se complementa y mejora.

El Kernel de Linux se va hacer más robusto gracias a que entre otras cosas lo usa Android y otras comunidades. Con el perfeccionamiento del Kernel nos vemos beneficiados todos los que usamos Linux!!!

Dejo la fuente:

http://www.efectosocial.net/2012/03/19/codigo-de-android-incluido-en-la-version-3-3-de-kernel/


IOS vs Android, cual da más trabajo?

Quede sorprendido con la siguiente infografia, no pensé nunca que IOS le gane a Android en empleos de desarrollo.


Si no ven bien pueden hacer click en la imagen.

Que opinan de esta infografia? sorprendidos?

sábado, 17 de marzo de 2012

The best Linux distro of 2011!




Buscando una nueva distro para la notebook me encontré con el siguiente articulo:

http://tuxradar.com/content/best-distro-2011

Hace un comparativo de las diferentes distros de Linux, y queda como distro ganadora Debian. Personalmente estoy fascinado por Linux Mint me parece muy cómodo, fácil de usar y elegante.

Ustedes cual prefieren??

miércoles, 14 de marzo de 2012

Play framework 2

Finalmente se anuncio de play framework 2, con nuevas novedades y una integración completa con scala.

Dejo link del anuncio y la nueva web:

http://blog.typesafe.com/introducing-play-20
http://www.playframework.org/

domingo, 11 de marzo de 2012

Porque utilizar ESB?


En arquitectura SOA el software se ve como funcionalidad colgada en una rul la cual se organiza para solucionar una necesidad del negocio.
Por ejemplo tenemos organizado 4 modulos los cuales se interrelacionan esto se veria de la siguiente forma:




Por que no poner un software que mantenga las rutas de comunicación sería como un router de nuestros servicios.



Se ve mejor no? Ese software que se encuentra en el medio de las comunicaciones de mis servicios es un ESB.



Ahora bien si un servicio expone su funcionalidad con SOAP otro con REST otro con RMI, otro con JMS etc. tengo que escribir mucho código de traducción para poder comunicar servicios. Ya se pongamos esta traducción en el ESB de esta forma el centraliza las traducciones y reutiliza ese código para comunicara diferentes servicios.



De esta forma el ESB nos permite comunicar diferentes piezas de software que se expresan de forma diferente. Ojo esto no es una funcionalidad que tengan todos los ESB por ejemplo Apache Synapsis no la trae. Pero la gran mayoría si.



En resumen esto es un ESB. 

Instalar características opcionales en ServiceMix


Para listar las características de serviceMix desde la consola con este comando:

karaf@root>features:list

Con esto tenemos el listado de características instaladas como las que no estan instaladas.
Para instalar una característica solo con el comando:

karaf@root>features:install webconsole

Con esto por ejemplo instalamos la web consola. Y con el siguiente comando lo verificamos:


karaf@root> features:list | grep webconsole



Agregar ActiveMQ al ejemplo de ServiceMix


Continuando con el ejemplo:
http://emanuelpeg.blogspot.com/2012/03/usando-apache-camel-desde-apache.html

En el anterior ejemplo creamos una ruta que movía un archivo de una carpeta a otra, bueno ahora vamos a crear un evento de ActiveMQ cuando se mueva un archivo.

Por lo tanto el archivo xml que habia llamado copia queda así:




    
      
        
        

        
          
            FileMovedEvent(file: ${file:name}, timestamp: ${date:now:hh:MM:ss.SSS})
          
        
        
      
    




Donde  FileMovedEvent va ser un evento generado por la copia y va a ser publicado en  activemq://events

Si vemos el log no vamos a ver nada porque los eventos no sos consumidos por un cliente por lo que vamos a hacer un cliente:




    
      
        
        
     
    




Guardamos este archivo tambien en la carpeta deploy con el nombre que quieran, yo le voy a poner cliente.xml

Con este cliente vamos a poder ver en el log las copias.
Reiniciamos copia.xml
osgi:stop 156
osgi:start 156

Y listo!



Dejo link de la fuente:
http://servicemix.apache.org/docs/4.4.0/quickstart/


Usando Apache Camel desde Apache ServiceMix


Para mayor comprensión pueden ver el siguiente post:
http://emanuelpeg.blogspot.com/2012/03/primeros-pasos-con-apache-servicemix.html

La idea sería construir un pequeño ejemplo de integración con Apache Camel y vamos a deployarlo en ServiceMix. La idea es copiar un archivo desde la carpeta input a la carpeta output y para mantener un registro escribir un log.

Uno de los caminos más simples para deployear un router de Camel en ServiceMix es definir el router en un Blueprint XML.




    
      
        
        
        
      
    




Este archivo hay que guardarlo en la carpeta deploy de servicemix yo le puse copia.xml

Ahora a deployear, si ejecutamos osgi:list vamos a ver nuestro servicio llamado “copia.xml”


Con osgi:start y el id del servicio podemos levantar el servicio; en mi caso el número 156

osgi:start 156

y si lo queremos parar con

osgi:stop 156

Ya esta! Si hacemos:

log:display | grep INFO

Podemos ver como se movieron los archivos.




Primeros pasos con Apache ServiceMix



Para instalar ServiceMix vea este post: http://emanuelpeg.blogspot.com/2012/03/instalar-apache-servicemix-en-linux.html

Ya en la consola podemos listar los paquetes o bundles que estan activos y los que no:

karaf@root> osgi:list

Con este comando listamos todos los paquetes instalados. Se muestra el id, estado, si es bluepring o Spring XML , el nivel, nombre y versión del paquete.

Podemos utilizar el pipe y comandos de unix, por ejemplo si necesitamos ver los paquetes de cxf:

karaf@root> osgi:list | grep cxf

Si se quiere trabajar con el log esta el comando:

karaf@root> log:display

Si solo se desea ver excepciones:

karaf@root> log:display-exception

Y también podemos cambiar el nivel de logeo con :

karaf@root> log:set DEBUG
karaf@root> log:display | grep DEBUG

Bueno este fue una primera vista general sobre Apache ServiceMix

Instalar Apache ServiceMix en Linux


Comenzamos bajando servicemix pueden bajarlo de aca: http://apache.dattatec.com//servicemix/servicemix-4/4.4.0/ o con wget pueden directamente usar esta url  http://apache.dattatec.com/servicemix/servicemix-4/4.4.0/apache-servicemix-full-4.4.0.tar.gz

Yo baje el tar, pero pueden bajar el zip para windows. Primero movemos el tar donde lo vamos a instalar   tiene que usar el usuario root o alguno que tenga permisos de escritura en la carpeta destino.

mkdir /opt/servicemix
mv apache-servicemix-full-4.4.0.tar.gz /opt/servicemix /

Y luego desempaquetamos:

tar xvfz apache-servicemix-full-4.4.0.tar.gz

Y borramos el tar:

rm apache-servicemix-full-4.4.0.tar.gz

Luego ejecutamos serviceMix

cd apache-servicemix-4.4.0/bin
./servicemix

Y obtendremos una pantalla así:


Dejo link: 



viernes, 9 de marzo de 2012

Akka 2.0 Released!

Akka el framework para Scala y java a sacado una nueva versión; como recordaran akka es un framework que se basa en el concepto de actores para brindarnos una arquitectura distribuida.

Para más información del release dejo el link:

http://akka.io/news/2012/03/06/akka-20-released.html


jueves, 8 de marzo de 2012

Apache ServiceMix







Apache ServiceMix es un flexible ESB open source, que integra funcionalidad de diversos productos de Apache como Apache ActiveMQ, Camel, CXF, ODE y Karaf. Provee el funcionamiento de un ESB integrado a una herramienta OSGI.

Las características de Apache ServiceMix son:


  • Mensajería segura gracias a Apache ActiveMQ
  • Mensajería, enrrutamiento y patrones de integración para Empresas con Apache Camel
  • ServiceMix NMR incluye eventos ricos, mensajería y auditoría lo que permite una integración con bajo acoplamiento.
  • Completo WS-BPEL con Apache ODE.
  • Basado en OSGI con la utilización Apache Karaf.


Además es licencia Apache 2.


Dejo Link:

http://servicemix.apache.org/