viernes, 29 de julio de 2011

thrift ese gran desconocido

Finalmente tenia que ocurrir. en mi trabajo la cosa anda chunga y me han pedido que haga solo haga media jornada. Para mi es un problema, muchos planes a tomar viento. En otras parece que tendré mas tiempo para hacer algunas en las que hace tiempo que quiero meterme.

A partir de ahora no solo hablare de meego, intentare contar mis experiencias con mas lenguajes y librerías. En la que ando ahora investigando es en Thrift, una librería parecida a protobuf pero con algunas diferencias.

Para un proyecto que tenia en mente quería utilizar la web no solo para que el navegador se conectara como se hacia en la web 1.0, o para hacer diversas gestiones aprovechando XmlHttpRequest como se hace en web 2.0. Quería que se comportara parecido a oauth, o sea, conectarse a un sitio y hacer diversas gestiones. En base  a eso se han echo muchos programas para android.

Luego esta el alojamiento, por ejemplo appengine tiene ciertas limitaciones pero seria delito no aprovecharlo. O si tienes un servidor propio seria un delito no aprovechar el lenguaje c para mas rapidez y menor consumo de memoria.

Se me ocurrió la idea de montar un sistema en el cual se pueda conectar con cualquier protocolo de transporte( http, tcp/ip a saco, etc) y en el que dentro pudiera utilizarse diversos protocolos de datos (json, xml, binario a saco) Para aprovechar en cada cliente el menor consumo en procesador en serializacion y para que un sistema se pudiera poner en cualquier tipo de servidor.

Lo primero es lo de siempre, mirar si hay ya echo algo. Encontré protobuf de google para no hacer un protocolo binario desde cero. Y encontré una comparación con apache thrift. En cuanto vi thrift ya sabia que me había quitado una parte del sistema de encima.

Thift genera en mas lenguajes que protobuf, pero además tiene definido varios protocolos de transporte, por ejemplo montar el servidor en servlets o en socket directamente. y varios protocolos de serialización, como por ejemplo json o un binario propio.

Aun estoy en pruebas con el e iré añadiendo aquí mis progresos. Debido a que quiero hacer también un cliente en meego y Thift genera en c++, pero en librerías estándar, no se si me servirá. Sino, no descarto si no existe hacer alguna librería en qt para que genere también en esta librería.

No hay comentarios:

Publicar un comentario