Un sábado frío y gris en Madrid… las 8:30 h y empezamos a prepararnos. Portátil, iPad y muchas ganas de llegar. Las 9.30 h y ya estamos en la puerta del Congreso de los Diputados, nos espera David Castelló que nos ha conseguido un pase para el OpenSpace en Tuenti.

Para el que no lo sepa como yo, dejamos un enlace que explica qué es un OpenSpace. Una vez dentro, y tras el periplo de subir a la cuarta planta y esperar a que nos abran la puerta en Tuenti, nos encontramos más caras conocidas, relacionadas con la informática y la tecnología a nivel nacional, mucho nivel y muchas ganas de empezar.

Una vez en las oficinas de Tuenti nos llevan a la zona charlas y la cocina, ¡somos unos 40!

Ricardo Borillo toma las riendas del OpenSpace y comienza explicando qué es, y como lo vamos a realizar. La idea me cautiva, ya que en el OpenSpace, disponemos de un tablón en blanco, con dos tracks bien definidos (Zona proyector y Zona televisión), y las horas que disponemos para compartir conocimiento, experiencias, problemas y soluciones.

Al final, tras un brainstorming de ideas sobre las que charlar a lo largo del día, ordenamos entre todos los temas y los separamos en los diferentes tracks.

Antes de que llegue la primera charla comenzamos el networking y casi se nos va de las manos el tiempo… nada como estar entre amigos.

11:00 h. Comienzan las charlas y decidimos ir al tema "Frameworks y Herramientas", en esta charla comenzamos a discutir sobre el uso de frameworks, si es mejor usar un framework, hacerte uno propio, etc… Y finalmente terminamos hablando sobre las herramientas que disponemos (ORM, ODM, componentes externos, etc…). La charla es muy interesante, y nos descubre que la mayoría de la gente se preocupa más por la persistencia que por cualquier otra cosa a la hora de desarrollar.

Y cuando la charla se pone más interesante… ring!!! las 11.45 y tenemos que cambiar.

11:45 h. Llega la segunda charla y como ya había usado y hablado de mongoDB me pica la curiosidad por descubrir DDD… y la primera pregunta que me surge es ¿qué es DDD?. DDD o Domain-driven design. Este término no nos dice mucho, pero escuchando a los gurús que tenemos en la charla, comienzan a descubrirnos los entresijos y las estrategias para diseñar aplicaciones con DDD. Tras 10 o 15 minutos de introducción, comienza una charla filosófica e idílica que a muchos de nosotros nos supera por la falta de conocimiento en el tema.

Tras un pequeño descanso, café con galletas y fruta, gracias a tuenti, nos volvemos a poner en marcha.

13:00 h. Otro concepto nuevo, propuesto por Ricardo Borillo, ¡BD Grafos!. Ricardo comienza a hablarnos un poco sobre el tema y rápidamente nos damos cuenta todos los que estamos en esta discusión, de la potencia que guarda en su interior las bases de datos con grafos, y la cantidad de aplicaciones que tiene hoy en día con las redes sociales.

Se habla de neo4j, de la facilidad de su uso, y de la amplia versatilidad de drivers que dispone para la mayoría de lenguajes y frameworks de moda (Spring, Java, Rails, Ruby, PHP, .net, Python, NodeJS, etc…). Además neo4j es accesible mediante un API Rest, lo que facilita mucho su uso si tenemos la carencia del driver.

La potencia de este tipo de base de datos, radica en el formato de almacenamiento, tanto de la información, como de las relaciones. La información se almacena en formato nodo, con un número indeterminado de atributos y las relaciones entre nodos también se definen de forma dinámica y con un número indeterminado de atributos. Por ejemplo, podemos definir dos personas como nodos y definir que entre ellas existe una relación que puede ser amistad, familiar o pareja; Y en la misma relación almacenar atributos relativos a la relación. Mejor un ejemplo gráfico.

En el ejemplo vemos las relaciones que existen entre los diferentes nodos (Personas).

13:45 h. Llegados a este punto, no podía haber mejor charla que la que nos dieron algunos de los trabajadores de tuenti. Nos explicaron la infraestructura de servidores y arquitectura del software. Entre otras cosas, nos contaron que tienen su propio framework en PHP, más de 1000 servidores y toda la información almacenada en MySQL y Memcache.

16:00 h. Tras la comida volvimos para hablar entre todos de ActiveRecord vs. DAO, llegando a la conclusión de que la mayoría usábamos ActiveRecord por comodidad, aunque era muy sencillo desactivarlo para usar DAO.

16:45 h. Tras la primera charla descafeinada por la hora de la siesta, nos despertamos para hablar sobre transacciones distribuidas y como solucionar los problemas de las mismas, sobre todo en entornos bancarios. Algunos presentaron sus problemas: venta de entradas online con sistema de reserva, control de stock en sistemas distribuidos (Amazon). Y se propusieron algunas soluciones como el uso de colas mediante el protocolo AMQP y RabbitMQ para distribuir la información entre los servidores.

17:30 h. Y como última charla, llegamos a la persistencia de datos geolocalizados. Nos mostraron un ejemplo de uso en mongoDB con matrices 2D, para mejorar el rendimiento y búsqueda de documentos. También nos enseñaron un proyecto (Positren) que muestra las posiciones de los trenes y cercanías españoles en tiempo real.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete