miércoles, 12 de enero de 2011

GMAIL como un disco duro mas en tu equipo

Hoy voy hablar sobre uno de los proyectos que he realizado en la uni. Trata sobre sistemas de ficheros, en mi caso sobre WebDav, DavFS2 y GmailFS os pasare la versión "resumida" aclarando, que son, para que sirven y como se usan.

Me pareció interesante y desconocía completamente este uso de las cuentas de gmail, espero que os agrade.

¿que es WebDav?
WebDAV es un standard que describe como, a través de la extensión del protocolo HTTP 1.1, pueden realizarse acciones de gestión de archivos tales como escribir, copiar, eliminar o modificar. No sólo se trata de escribir ficheros en una ubicación utilizando HTTP. WebDav también nos da la posibilidad de actuar moviendo o copiando ficheros en el servidor, modificar sus propiedades, nombre o características de seguridad, niveles de acceso etc WebDAV es una extensión al protocolo HTTP 1.1 que sigue un lema muy explícito: "makes the Web Writable". El objetivo es conseguir convertir la web, a través del protocolo http, en un espacio de colaboración, donde varias personas distintas puedan participar conjuntamente en la elaboración de documentos.

Algunas de las características mas destacadas de webdav (aparte de proporcionar acceso a la escritura del documento vía http) son el locking o posibilidad de cerrar dicho acceso de escritura, mecanismo imprescindible en un entorno de trabajo compartido, para evitar que el trabajo de un nuevo usuario sobreescriba al del anterior. La posibilidad de describir propiedades (metadatos) del documento en formato xml, como titulo, asunto, autor, fecha, tamaño, que aunque no aparecen en el documento proporcionan información sobre el mismo y pueden ser fácilmente gestionados por el protocolo dav (permitiendo funciones de listado de datos, búsqueda inteligente, etc).

WebDav también provee la posibilidad de renombrar, mover, copiar o borrar documentos en el propio servidor y la posibilidad de llevar un registro de las sucesivas versiones o revisiones del documento (pudiendo recuperar cualquiera de las anteriores). También permitirá a los usuarios crear enlaces virtuales entre recursos.

Uno de los aspectos mas interesantes de webdav es que la posibilidad de trabajar o escribir no se limita a documentos, a textos. La posibilidad de trabajo conjunto se extiende a elementos HTML, GIF, JPEG, etc. De hecho ya existen aplicaciones gráficas que admiten este protocolo. WebDAV no pone ninguna restricción al tipo de documentos (elementos) sobre los que se puede trabajar.

WebDAV permitirá a multitud de dispositivos escribir de forma segura en la red. Por ejemplo, imagina una cámara digital que tenga un móvil incorporado. Tan pronto la fotografía fuese tomada, podría publicarse en la red. Otros colaboradores podrían, también de forma inmediata, realizar trabajos de retoque o postproduccion sobre la imagen. Un buscador inteligente localizaría de forma inmediata la imagen para cualquier navegante (por ejemplo, localizando las imágenes de un mismo autor)

DavFs2
DavFs2 es un código abierto del sistema de archivos con licencia GPL para el montaje de servidores WebDAV. Para comunicarse con el kernel, davfs2 puede utilizar el IC del sistema de archivos de la API, o la red de archivos Coda protocolo del sistema a través de sockets. Davfs2 utiliza la colección de WebDAV de neón para comunicarse con el servidor web.

Un ejemplo con Box.net
Cómo “montar” tu disco duro on-line de Box.net en Linux. Para ello, necesitamos el paquete davfs2 que se puede instalar con un simple “sudo apt-get install davfs2′′.

DAVFS2 es un driver del sistema de ficheros de Linux que permite que montes un recurso de WebDAV como sistema de ficheros regular. Esto Permite que los archivos en un recurso alejado en la Web sean corregidos usando el sistema de ficheros como accionamiento de disco local.

Después de haber instalado el paquete, nos vamos a “Lugares” (junto al menú típico de Ubuntu, o si lo cambiasteis al menú único con el logo de Ubuntu, estará dentro de él) y le damos a “Conectar con el Servidor”.

Ahora nos resta configurar lo para que se conecte con Box.net, usando el protocolo WebDAV, poniendo como servidor “www.box.net/dav” y en nombre de usuario, la dirección de correo o nombre de usuario que usamos para hacer login en Box.net . Después, nos aparecerá un icono en el escritorio, el cual, al hacerle doble click, nos abrirá una ventana preguntando por nuestro password de Box.net. Una vez introducido, nos abrirá una ventana de Nautilus donde podremos navegar como si fuese un disco duro más (y trabajar con los ficheros como si estuviesen en nuestro PC), por nuestro Box.

GmailFS
GmailFS no se debería confundir con GoogleFS, sistema de archivos creado por Google para manejar los archivos grandes de manera rápida y eficiente.
GmailFS es un sistema de archivos virtual desarrollado por Richard Jones que utiliza una cuenta de Gmail como método de almacenamiento. GmailFS se escribe para Linux, pero también está disponible para Windows y Mac OS X.

GmailFS funciona construyendo un sistema de archivos mediante el módulo cargable del núcleo Filesystem in Userspace (FUSE) (sistema de archivos en espacio de usuario), y maneja la comunicación con Gmail a través de la biblioteca de Python libgmail. GmailFS mismo se escribe en Python también. El dato se almacena en forma de uno o más adjuntos, permitiendo que se suba un archivo con tamaño superior al máximo admitido por Google.1
La velocidad de este sistema de archivos es limitada por la velocidad de la conexión de Internet del usuario.

Debería señalarse que las políticas de Gmail no prohíben directamente el uso de GmailFS.2 Sin embargo, se manifiesta que "Google también reserva el derecho a modificar, suspender o cancelar el servicio con o sin aviso en cualquier momento y sin ninguna responsabilidad al usuario" y "Google reserva el derecho a negarse a proveer servicio a cualquiera en cualquier momento sin aviso y por cualquier razón".

Como resultado, Google podría desactivar las cuentas usadas con GmailFS cuando quiera y sin aviso. A consecuencia, GmailFS no debería considerarse confiable como método de hacer copias de seguridad de los datos importantes. Además, las políticas de programa prohíben que "el usuario modifique o enmarque cualquier porción de las páginas web que sea parte del servicio de Gmail", lo que, discutiblemente, ocurre al usar GmailFS, que "transforma" los documentos enviados mediante HTTP en datos accesibles vía FUSE.
Algunos usuarios de GmailFS usan la codificación a nivel de sistema de archivos para proteger el dato almacenado en los servidores de Google.

Ejemplos de cómo se usa
GMailFS es un programa hecho en Phyton que usa libgmail y FUSE para montar una cuenta de GMail en LINUX como si de cualquier dispositivo físico se tratase. Los usuarios de windows tienen algo similar llamado GMail Drive (creado a partir de la idea del señor Jones, según rezan los créditos) y, aunque no lo he probado, se que los usuarios de MAC disponen de gDisk.

Es una forma cómoda para ser utilizado en ordenadores ‘estables’ como por ejemplo para transferir archivos entre casa y el trabajo o para hacer rápidas copias de seguridad de archivos sensibles cuando no tienes otra cosa a mano, pero ambas necesitan de una instalación previa (algo engorrosa en el caso de la solución para LINUX si te ‘enredas’ con las diferentes versiones de Phyton y las librerías necesarias) y presentan problemas en algunas empresas particularmente celosas con la configuración del sus cortafuegos. Además, ni siquiera son compatibles entre si en el formato de almacenamiento.
Luego apareció XMail Hard Drive, una aplicación web que soluciona muchos de estos problemas: compatible entre cualquier plataforma y no necesita más que un navegador web operativo, pero tampoco acabó de convencerme: al igual que los otros dos sistemas la información se guarda como adjuntos a una serie de correos electrónicos, pero los adjuntos no conservan el formato original del fichero y ninguno de estos sistemas tiene oficialmente las bendiciones de Google...

GMail Space es una nueva extensión para Firefox que soluciona todos estos problemas. GSpace se carga en una nueva solapa de Firefox con sólo pulsar en la nueva opción que aparece con su nombre en el menú de Herramientas y tiene el mismo aspecto de cualquier cliente FTP. Basta con introducir usuario y contraseña de nuestra cuenta de Gmail y poco más hay que saber para usarlo.


Aparte de las ventajas ya comentadas, la velocidad de carga y descarga (sobre todo la de descarga) es bastante más rápida que la de GmailFS. Como inconvenientes tiene la imposibilidad de crear directorios que contengan espacios en blanco (no así los nombres de los ficheros) y ciertas limitaciones en cuanto al tamaño máximo de los ficheros (10 MB) y a algunas extensiones de los mismos. Más molestias que inconvenientes, en realidad, y el programa está aún en una fase muy temprana de desarrollo.

La información se guarda en adjuntos a los mensajes de correo en un formato bastante inteligible, de forma que puedes usar la función de búsqueda de Google para, en caso de emergencia, localizar un determinado fichero con el mismo interfaz de GMail y sin necesidad de usar la extensión de Firefox los ficheros, además, se guardan en su formato original con lo que la recuperación mediante de este método es inmediata.

La elección entre GMailFS y GSpace se me hace difícil: Por el momento GMailFS me parece una utilidad mucho más elaborada: salvo el tamaño máximo de ficheros de 10 MB impuesto por GMail repartiendo un mismo fichero entre distintos mensajes, es capaz de montar varios ‘filesystems’ separados sobre una cuenta de GMail y es mucho más versatil: puesto que se monta como cualquier otra unidad, puedes usarlo desde un shell script o desde cualquier otro programa. GSpaces es más rápido, mucho más sencillo de instalar y es más fácil de usar desde cualquier sistema y ubicación.