Inicio
He creado este espacio para compartirlo con familiares y amigos, aunque no descarto la posibilidad de que otros visitantes se encuntren a gusto y lo puedan disfrutar tambien...

InicioMapa del sitioDescargasColaboradoresEnlacesAutor    
Buscar :

Ideas


Y encima del sofá... un televisor

¿Realmente merece el televisor ese papel protagónico que solemos darle?


¿Un flat panel sobre mi buró?

¿Y por qué no... "debajo" del buró?


Melissa OnLine, no más un PC

Melissa es el nombre de un PC que vengo usando desde hace años en mi network casero como "servidor" o concentrador de mis datos y aplicaciones de Intranet. No ha sido siempre el mismo PC pero sí el mismo concepto y los mismos datos en constante crecimiento.

Este 1ro. de Mayo, Melissa dejó de ser una computadora para convertirse en una aplicación OnLine... con "base en tierra".




Armando Acosta  (05-19-2006)

Su nombre, Melissa, no está inspirado en una mujer sino en un virus que causó grandes estragos en el año 2000 si mal no recuerdo. Antes de llamarse así, se llamó SERVER1 y esto fue poco antes de 1999, cuando comencé a poner en práctica la idea de tener un "server" en casa.

La idea en sí ha demostrado con creces su utilidad y es por eso que la he mantenido por más de seis años. Más sobre esto, en mi artículo Los beneficios de un network casero.

En su última morfología, Melissa llegó a tener tres discos duros: En uno residía el sistema operativo y los programas instalados (que no eran muchos). En el otro (de gran capacidad) se almacenaban todos los datos. El tercero, de igual capacidad que el anterior, servía de respaldo a aquel, ya que todas las noches una tarea automática del sistema se ocupaba de hacer el traspaso de contenido de uno a otro.

Es una arquitectura muy conveniente que me permitía dormir en paz, sabiendo que todos mis datos estaban siendo respaldados automáticamente. A su vez, la concentración de datos en Melissa me permitía tener acceso a los mismos desde diferentes puntos de mi casa, por ejemplo desde mi "developer machine" y también desde la sala donde tengo un PC para los visitantes. Además, Melissa me servía de "Print Server" ya que el único printer que poseo, estaba conectado a ella.

Pero un buen día, y esto fue recientemente, se me ocurrió que Melissa debería ser algo más que un almacén de ficheros. Entonces desarrollé una aplicación que me permitía organizar todos mis datos (contactos, documentos, notas, fotografías, etc.) en un database y a través de una interfaz coherente. La idea es que Melissa no debería ser un PC lleno de datos y una cierta aplicación para manejarlos, sino una especie de "PDA gigante", una especie de "cajita de información", con una única interfaz hacia el usuario que le diera la personalidad de un dispositivo inmutable y no de un alterable PC.

Tuve muchas dudas sobre la tecnología a emplear. El entorno Web es muy ágil para el desarrollo de una aplicación de database, pero presenta limitaciones con las que no siempre he estado satisfecho. No obstante, necesitaba desarrollar la aplicación con rapidez y un poco a regañadientes, la escribí utilizando PHP con un MySQL database en el fondo, tecnologías estas que no solo son Web sino además "open source", nativas del entorno UNIX, aunque yo obviamente utilicé versiones Windows. La elección se basó en la esperanza en que algún día Melissa sería una máquina Linux y no Windows.

El diseño de la aplicación, que en un inicio llamé "Melissa UI", fue todo un reto para mí. En primer lugar debía tener una arquitectura modular, pues la pretensión de manejar toda mi información personal a través de ella, la convierte en una aplicación "siempre en crecimiento". Pero al mismo tiempo, todos estos módulos deberían estar interconectados entre sí, de modo que el usuario siempre pudiera establecer relaciones entre datos manejados por diferentes módulos, por ejemplo, adjuntar al record de Juan Pérez un documento que contiene su currículum vitae.

Así pues, surgieron los siguientes principios de diseño:

  • Un modulo principal llamado Core, que ofrece servicios comunes al resto de los módulos.
  • Modulos independientes (uno por cada tipo de información), los cuales son TOTALMENTE independientes entre sí, es decir, si uno de ellos se retira, el sistema continúa funcionando normalmente. Esto implica que ningún módulo puede conocer ABSOLUTAMENTE nada de las interioridades de los demás.
  • Todo dato puede ser relacionado con otro bajo el control del usuario. La funcionalidad necesaria para lograrlo, debe ser un servicio del Core.
  • El Core también debe proveer un mecanismo para búsqueda global, la cual retorna una lista de records encontrado por módulo. (La implementación de esto fue un verdadero reto porque parecía chocar con el principio de total independencia de los módulos, pero finalmente pude hacerlo).
  • Un sistema de seguridad basado en "pertenencia de la información" y no en "niveles de acceso". Aún cuando el sistema es para mi uso personal exclusivamente, dejo abierta una ventana para futuros usuarios.

El resultado fue una aplicación muy útil que me permite mantener mi información organizada y asequible. Hay que decir que gran parte del tiempo tuve que emplearlo en importar un gran volumen de datos que ya existían en aplicaciones anteriores. El tiempo de desarrollo ha sido asombrosamente breve: me tomó apenas dos semanas desarrollar el Core y menos de una semana por módulo.

Todo marchaba bien hasta que alguien me sugirió la idea de colocar a Melissa UI en la Internet. Hay que decir que ya estaba expuesta a la Internet a través de mi router... la nueva idea consistía en ponerla "en" la Internet.

No era difícil en realidad, ya que como dije, la aplicación estuvo concebida desde un inicio para entorno UNIX. Una cosa sí me limitaba: el inmenso volumen de ficheros binarios como documentos y fotos, unos 7 GB en total. No hay servicio de hosting que yo pueda pagar que me ofrezca esa capacidad de disco duro.

La solución vino de un producto de reciente aparición en el mercado, el "Network Drive". Estos aparatos son especies de "External Hard Drives", pero en lugar de tener una interfaz USB ó Fire Wire, la tienen ethernet. La idea es que uno conecte el Network Drive en el Network Local y se comunique con él vía TCP/IP, cual si este fuese un PC.


Lo que yo compré no fue exactamente un Network Drive sino un "Network Storage Link". No viene con ningún disco duro sino con dos puertos USB para que uno conecte allí un external hard drive cualquiera. Posee un FTP Server de modo que uno pude transferir ficheros al hard drive conectado, usando este protocolo.

Lo que hice pues, fue colocar este dispositivo en mi network casero y exponerlo a la Internet a través del router en el puerto 21. La aplicación Melissa UI fue colocada en un web hosting (es decir, en la Internet) y modificada ligeramente en cuanto al manejo de ficheros binarios (fotos y documentos). Ahora la aplicación (renombrada "Melissa Online") se comunica directamente con mi Network Drive vía FTP a través de la Internet.

Para minimizar problemas de conectividad, Melissa Online mantiene un "Cache" de los ficheros a medida que los sube al hsoting. La primera vez que el usuario los utiliza, Melissa Online los trae vía FTP desde el Network Drive y los deposita en el Cache... y allí permanecen de modo que cuando el usuario los requiere por segunda vez, ya no tiene que sufrir el tiempo de subida ni arriesgarse a que dicha subida no tenga éxito por problemas de conectividad. No obstante el usuario tiene la opción de removerlos del Cache a voluntad, lo cual es recomendable si se trata de información confidencial.

Como mencioné al principio, Melissa Online fue puesta en servicio el día 1ro. de Mayo, de modo que solo tiene 18 días de existencia. No obstante, en tan poco tiempo ha demostrado su inmensa utilidad. Su desarrollo continúa y continuará por mucho tiempo seguramente. Ya dije que esta es una aplicación "siempre en crecimiento".

Tengo que confesar, sin embargo, que el hecho de que Melissa haya dejado de ser un PC o algo tangible, me da un poco de tristeza. Por seis años Melissa me ha acompañado, siempre despierta y siempre susurrando sus abanicos a media noche, cuando el silencio hace más evidente su electrónica respiración. Ahora he de imaginar que Melissa está en el Cielo, cuidando mis datos con el mismo celo de siempre, intangible pero eternamente viva... es por eso que no me he atrevido a llamarla de otro modo sino por su eterno y querido nombre de Melissa.


  • Otros articulos técnicos


  • Imprimir   Enviar a un amigo   
                                                    

    Miami / USAmail@armandoacosta.comInicio