sistema operativos

11
Contenido Punto de vista técnico........................................... 1 Estructura del sistema..........................................1 Componentes.....................................................1 Compilado con HIPHOP............................................2 Qooxdoo.........................................................2 Conectividad con Bases de Datos.................................3 Convertir documentos de Office..................................3 Arquitectura..................................................... 4 Esquema.........................................................4 Kernel..........................................................4 Conectividad....................................................4 Almacenamiento de datos.........................................5 Formato de archivos.............................................5 Administración..................................................5 Virtualización Híbrida........................................... 6 Las ventajas de la “Virtualización Híbrida”.....................6 Rendimiento.....................................................7 Seguridad........................................................ 8 Filosofía.......................................................8 Administración y Comunicación...................................8 Aplicación Web (Desarrollo).....................................8 Visión / El futuro..............................................8

Upload: antonio-rivas

Post on 15-Jan-2016

213 views

Category:

Documents


0 download

DESCRIPTION

Resumen de eyeOS

TRANSCRIPT

Page 1: Sistema Operativos

Contenido

Punto de vista técnico.................................................................................................................1Estructura del sistema....................................................................................................................1

Componentes.................................................................................................................................1

Compilado con HIPHOP..................................................................................................................2

Qooxdoo.........................................................................................................................................2

Conectividad con Bases de Datos...................................................................................................3

Convertir documentos de Office....................................................................................................3

Arquitectura................................................................................................................................4Esquema.........................................................................................................................................4

Kernel.............................................................................................................................................4

Conectividad..................................................................................................................................4

Almacenamiento de datos.............................................................................................................5

Formato de archivos.......................................................................................................................5

Administración...............................................................................................................................5

Virtualización Híbrida..................................................................................................................6Las ventajas de la “Virtualización Híbrida”.....................................................................................6

Rendimiento...................................................................................................................................7

Seguridad....................................................................................................................................8Filosofía..........................................................................................................................................8

Administración y Comunicación.....................................................................................................8

Aplicación Web (Desarrollo)...........................................................................................................8

Visión / El futuro............................................................................................................................8

Page 2: Sistema Operativos

INFORMACIÓN DEL SISTEMA OPERATIVO

Punto de vista técnico

Visto desde fuera eyeOS es una web que sólo necesita de un navegador y conexión a Internet para usarlo. Sin embargo, te invitamos a descubrir qué es eyeOS, desde el punto de vista tecnológico, cómo es eyeOS y así entender cómo funciona.

Estructura del sistemaEl 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).

ComponentesEl 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.

1

Page 3: Sistema Operativos

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.

Compilado con HIPHOP

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.

Las principales ventajas que aporta HipHop son:1. Reduce el uso del CPU hasta en un 50%.2. Hace que eyeOS sirva dos veces más tráfico usando 30% menos CPU.3. Transformación del código fuente de PHP directamente en C++, convirtiéndolo en código

máquina nativo.

QooxdooLas 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.orgSin 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.

2

Page 4: Sistema Operativos

Conectividad con Bases de DatosLa 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.

Convertir documentos de OfficeEl 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.

3

Page 5: Sistema Operativos

ArquitecturaLa arquitectura de eyeOS puede ser completamente clusterizable. Esto permite balancear la carga de eyeOS así como la conversión de ofimática para ganar en escalabilidad horizontal y disponibilidad.

Esquema

KernelEs el encargado de gestionar recursos, a través de servicios de llamada al sistema.

Conectividad Web API REST Server – Permite la comunicación entre las aplicaciones y eyeOS a través de

las API Web Netsync Server – Permite la comunicación en tiempo real. Es un servidor aislado, ya

que consume los recursos del servidor de una manera diferente a la del servidor web

4

Page 6: Sistema Operativos

Almacenamiento de datosFile System – Permite el almacenamiento de datos. NAS: Network Storage AccessDB – Almacenamiento de metadatos: grupos, perfiles de usuario, ajustes, privilegios, etc.

Formato de archivos Conversión de archivos Office – Servicio que convierte los documentos y archivos en los

formatos solicitados por eyeOS. Beneficio: eyeOS siempre maneja los archivos en el mejor formato para su entorno

Conversión de archivos multimedia – Servicio que convierte los documentos y archivos multimedia en los formatos solicitados por eyeOS.

Administración Middleware – Permite gestionar de forma sencilla el servidor de eyeOS vía web sin tener

que acceder al Linux que hay debajo y eliminando la necesidad de tener que ejecutar comandos avanzados.

5

Page 7: Sistema Operativos

Virtualización Híbrida

Las ventajas de la “Virtualización Híbrida”

La experiencia nos dice que virtualizar el PC del cliente con VDI es costoso y propenso a provocar problemas de rendimiento. Sin embargo, la razón de ser del control central del escritorio es potente. Con la centralización y la estandarización, la carga de trabajo de asistencia se reduce y las actualizaciones de software se simplifican en gran medida. Sin embargo, la virtualización de todas las aplicaciones y el escritorio de la requiere una CPU significativa en los servidores centrales. Por otra parte se deben adquirir un nuevo Windows y licencias de Office.¿Qué pasaría si pudieras virtualizar a través de VDI sólo tus aplicaciones legacy y seguir manteniendo el control central de los escritorios de sus usuarios? Esto es lo que llamamos la virtualización de escritorios híbrida: dando prioridad al protocolo más eficiente, es decir, la tecnología web, siempre que se pueda, y proporcionando la plataforma eyeOS para tomar el control completo de la interfaz de usuario.SaaS y aplicaciones bajo demanda son accedidas vía SSO dentro de la nube privada de eyeOS, mientras que las aplicaciones legacy están virtualizadas a través de las tecnologías existentes, como VDI Citrix Xen ‘App y se entregan a través de la interfaz de usuario de eyeOS. Dado que la tecnología web es muy eficaz, cualquier cambio incremental de aplicaciones virtualizadas a aplicaciones web ayudan a reducir el tamaño del centro de datos. todo esto va directamente a la línea de fondo y reduce la complejidad del centro de datos.Por último, los ordenadores existentes con sus licencias de software locales se pueden aprovechar, ya que pueden ejecutar un navegador y gestionar una conexión a Internet. Incluso simples máquinas Linux puede hacerlo.

6

Page 8: Sistema Operativos

Rendimiento

En cuanto uno se plantea la virtualización de los espacios de trabajo, a menudo surge la pregunta del rendimiento. Conectarse a las aplicaciones de la empresa desde una nube privada parece una opción muy atractiva, pero ¿la experiencia de usuario será tan positiva como la del sistema tradicional de cliente-servidor?

eyeOS ha hecho un gran esfuerzo por crear una solución indetectable de cara a los usuarios. En primer lugar, la mayor parte de la carga de la interfaz la lleva el navegador local: mover el ratón, minimizar o maximizar una ventana, navegar a través de los menús, escribir, etc., son tareas que se llevan a cabo en local.

En segundo lugar, la arquitectura de eyeOS separa claramente las tareas principales, lo que da la posibilidad de dedicar servidores separados si la carga se vuelve intensa.

Y por último, el núcleo de eyeOS está compilado en C++ para aumentar la velocidad lo máximo posible: las peticiones se responden de media en 15 ms.El resultado es excepcional: los usuarios no perciben que su escritorio eyeOS está en una nube privada de la empresa y no en su PC.

7

Page 9: Sistema Operativos

Seguridad

FilosofíaLa filosofía de eyeOS está basada en dos conceptos: Defense-In-Depth y Separation-Of-Duties. La filosofía que se persigue es reducir los servicios públicos mientras esté configurado con una buena política por defecto. Aparte, se revisa periódicamente tanto manual como automáticamente para mitigar el riesgo. En caso de duda, se ofrecen las herramientas suficientes para que el usuario final decida por sí mismo el nivel de seguridad que quiere conferir a su eyeOS.

Administración y ComunicaciónLa máquina virtual tiene protecciones del estilo Host-Based, con nulas dependencias al exterior. Por eso, las únicas vías de administración ofrecidas son mediante SSH y el panel de administración ofrecido por eyeOS. Este panel de administración ofrece herramientas de diagnóstico, activación de actualizaciones automáticas, configuración de certificados SSL propias, gestión de creación de copias de respaldo, etc.

Aplicación Web (Desarrollo)Como aplicación web, las protecciones son inherentes en su diseño. Desde sus inicios se ha apostado por disponer de un Framework encargado de gestionar la seguridad de las operaciones realizadas. Utilizando dichas funciones, el programador no tiene que preocuparse de los permisos ni de los caracteres especiales. También se recurre a una buena gestión de registros, pruebas de seguridad específicas para mantener la integridad del sistema, formación continua del personal, gestión de errores y alertas, bloqueo de peticiones automáticas, integración del Single Sign-On con otros portales, acceso a ficheros públicos con contraseña y expiración, y un largo etcétera de detalles que reducen el impacto en caso de cualquier negligencia.

Visión / El futuroYa que se busca ser un punto de referencia, se sigue trabajando en esta línea, incorporando progresivamente mejoras en el campo de una interacción Humano-Computador segura en las diferentes articulaciones del sistema, con el objetivo de poder ampliar las medidas de protección, pero que sigan siendo invisibles para el usuario final.

8