EyeOS es una
plataforma de nube privada con una interfaz de escritorio basada en la web.
Comúnmente llamado escritorio en la nube por su interfaz única, eyeOS
proporciona un escritorio completo desde la nube con gestión de archivos,
herramientas de gestión de la información personal, herramientas colaborativas
y aplicaciones de la compañía.
Se trata de un nuevo concepto en almacenaje virtual, el cual
se considera como revolucionario al ser un servicio clave para el
Web 2.0 ya
que dentro de una web que combina el poder del actual
HTML,
PHP,
AJAX y
JavaScript para
crear un entorno gráfico de tipo
escritorio.
La diferencia entre otros entornos escritorio al hacer
posible iniciar el escritorio eyeOS y todas sus aplicaciones desde un
navegador
web. No se requiere instalar ningún software adicional, ya que solo se
necesita un navegador que soporte AJAX, Java y
Adobe
Flash (dependiendo de las aplicaciones que se deseen ejecutar).
Este servicio se destaca principalmente por sus fuertes
medidas de seguridad, lo que le ha valido un crecimiento medio de 400 usuarios
al día[
cita requerida]. Algunas de sus
medidas de seguridad involucran el uso de cortafuegos, respaldos totales cada
24 horas, y formateos mensuales como medida preventiva en caso de que algún
código malicioso se lograra infiltrar.
CARACTERISTICAS
El escritorio
eyeOS ha replanteado el concepto de escritorio web. En lugar de mostrar una
gran cantidad de iconos en un fondo de pantalla, hemos decidido utilizar el
escritorio para mostrar la información más útil para el usuario. La pantalla es
ahora una serie de widgets con la información más importante sobre tu sesión y
tu información personal, para ayudar así a aumentar tu productividad.
Las aplicaciones base
eyeOS viene por defecto con las aplicaciones necesarias para crear y trabajar
con archivos de Office (con un procesador de textos), calendario, correo
electrónico, (con el apoyo POP3/IMAP) y mucho más. eyeOS pretende ser un
conjunto muy estable para el trabajo en línea cómoda, tanto individualmente
como con otros usuarios de forma simultánea.
Mejor, desarrollos sencillos
Hacer aplicaciones para eyeOS 2.0 es más fácil que nunca. El GUI (Graphical
User Interface) está completamente hecho con JavaScript, el sistema está basado
en OOP (Object-Oriented Programming) y cada parte puede ser ampliada o
modificada sólo extendiendo clases y sobrescribiendo o añadiendo métodos. La
nueva librería GenericDao te permite guardar y recuperar datos de la base de
datos de manera transparente: No es necesario conocer SQL. Crear RIA (Rich
Internet Applications) es fácil y rápido, porque el antiguo framework PHP ha
cambiado. Ahora eyeOS es un framework que combina JavaScript y PHP: no hay
manera más rápida y sencilla de crear una RIA.
Trabajo colaborativo
eyeOS 2.0 ha sido diseñado como un escritorio mucho más social. La nueva
versión introduce nuevas formas, fáciles e intuitivas para compartir archivos,
calendarios y mucho más entre los usuarios y grupos.
Desde el punto de vista técnico
·
Arquitectura
El sistema está claramente dividido entre los componentes
que se ejecutan en JavaScript y los que funcionan en PHP, ya que al fin y al
cabo, eyeOS es una aplicación web.
Las aplicaciones se dividen en dos partes: la que se ejecuta en el sistema del
cliente (navegador web) y la parte interpretada por el PHP (servidor web). El
lado del cliente se utiliza para dibujar la interfaz de usuario mediante
JavaScript, y cuando se lleva a cabo una operación (por ejemplo, leer la base
de datos), la parte interpretada por el PHP se ejecuta mediante una petición
AJAX (xmlhttprequest).
·
Componentes
El sistema consta de cinco partes bien diferenciadas
- Núcleo (comúnmente
conocido como kernel): Es el componente central que gestiona la implementación
del resto de componentes que forman el motor de eyeOS.
- Servicios: Son los componentes
esenciales que el sistema necesita para que eyeOS funcione y administre su
propia actividad interna. Por ejemplo, un componente responsable de la
administración de usuarios, sería un servicio.
- Bibliotecas: Son pequeños
componentes del sistema que son responsables de proporcionar apoyo y seguridad
al sistema de eyeOS.
- Frameworks: Se trata de los
componentes de más alto nivel en el sistema. El entorno de trabajo es un
componente que no es esencial, que añade funcionalidad a eyeOS, pero que por sí
mismo no ejecuta operaciones para eyeOS. Es el caso del conversor de Office
- Bootstrap: Es el responsable
de cargar todo el sistema antes de llevar a cabo cualquier operación.
Todos los módulos de eyeOS encajan en una de estas cinco
categorías.
En el diagrama, las capas exteriores están íntimamente
ligadas a la lógica de dominio, mientras que las que están más cerca del centro
son componentes de nivel inferior, lejos de la lógica de dominio y más
vinculadas al sistema u otros temas relacionados con el entorno.
·
Compilación
Que el backend de eyeOS esté programado en PHP tiene muchas
ventajas: PHP es muy sencillo de aprender, escribir, leer y depurar y gracias a
los diferentes tipos de herramientas que se introdujeron, PHP se ha convertido
en un lenguaje de Programación que cambia y evoluciona rápidamente. Prueba de
ello es que páginas web tan famosas como Facebook lo usan. A pesar de todo, no
es un lenguaje ni ligero ni eficiente, hecho que puede afectar al rendimiento
de eyeOS.
Para hacer ganar eficiencia y conseguir que eyeOS pueda
funcionar bien en servidores con menos rendimiento, el código está compilado
utilizando HipHop. HipHop es un proyecto desarrollado por Facebook que traduce
código PHP a C++. De esta forma, es posible desarrollar las páginas en PHP, con
lo sencillo que ello resulta, y la cantidad de gente que conoce el lenguaje, y
luego convertir todo el código a C++, mediante un programa traductor. El
resultado es código C++ que se ejecuta como extensión de PHP, consiguiéndose
que no se tenga que interpretar el código cada vez que se hace una petición.
·
Qooxdoo
Las aplicaciones Web se suelen desarrollar utilizando XHTML,
CSS y otras tecnologías similares. Sin embargo, el código de la aplicación de
eyeOS está programado en JavaScript y se utiliza una biblioteca de gráficos
llamado Qooxdoo (“QX”, para abreviar). Qooxdoo se utiliza para crear interfaces
de usuario similares a las de otros escritorios mediante el uso de herramientas
como Qt, GTK +, o el Swing, lo que permite desarrollar una GUI (interfaz
gráfica de usuario) con JavaScript en lugar de con XHTML y CSS. El enfoque de
Qooxdoo permite a los programadores crear una interfaz similar a la de un
escritorio de un ordenador. Qooxdoo es un proyecto de software de código
abierto independiente de eyeOS, disponible en: qooxdoo.org
Sin embargo, eyeOS lo incluye, sin que los desarrolladores
tengan que descargar o añadir nada. Todas las aplicaciones de eyeOS se
desarrollan utilizando esta biblioteca gráfica. Es importante revisar el
tutorial de Qooxdoo para poder desarrollar y entender el funcionamiento de las
bibliotecas.
El desarrollo aplicaciones para eyeOS se puede resumir como
la creación de una interfaz gráfica en JavaScript utilizando Qooxdoo y llamando
a las funciones de archivos en PHP que la aplicación necesite, junto con los
servicios o los frameworks que puedan ser necesarios.
·
Conectividad a Bases de Datos
La flexibilidad de eyeOS tiene, en el apartado de Base de
Datos, un claro ejemplo. Gracias a la capa de abstracción existente puede funcionar
con cualquier motor de base de datos SQL estándar, dando más posibilidades a la
solución y adaptándose a la realidad existente. Por defecto la virtual
appliance que se distribuye funciona con el motor de base de datos MySQL.
Además, si una aplicación necesita también conectarse a la base de datos para
crear sus propias tablas y almacenar información en ellas, tienes dos formas de
hacerlo:
La primera es mediante una conexión normal a la base de
datos. eyeOS proporciona una serie de métodos para obtener una conexión a la
base de datos en cualquier momento.
La segunda manera es utilizando GenericDAO, una API avanzada
de eyeOS que permite al desarrollador no tener que preocuparse por el SQL.
·
Conversión de Office
El motor de conversión de documentos ofimáticos de eyeOS
está formado por tres partes fundamentales: el master, el slave y el motor de
conversión.
El master y el slave permiten tener múltiples servidores de
conversión entre los que se distribuirá la carga para conseguir así un máximo
rendimiento y aprovechamiento de los recursos. Cada slave es capaz de
administrarse a sí mismo para asegurar la integridad de la máquina donde se
ejecute.
El motor de conversión es Calligra, una suite ofimática
desarrollada por la comunidad de KDE y que nos permite tener una calidad de
conversión muy buena a la vez que nos da un mayor control sobre el código
fuente (es más pequeño) permitiendo una mejor y más rápida solución de
problemas.
Finalmente, Calligra utiliza muchos menos recursos que otras
soluciones (usar de motor OpenOffice, por ejemplo), lo que nos permite
convertir más documentos con menos costes.