Está en la página 1de 20

OSGI (OPEN SERVICES

GATEWAY INITIATIVE)
Nombre: Frade Banegas Cristhian Fabricio
NúmeroLetrasNombreCompleto = 29
NúmeroTema = 9 OSGI

Ingeniería Electrónica
Univalle
Domótica
2 – Abril - 2020
• INTRODUCCIÓN
• ARQUITECTURA OSGI
• CAPAS DE LA FRAMEWORK OSGI
• ENTORNO DE EJECUCIÓN
• MÓDULOS
• CICLO DE VIDA
• SERVICIOS
• SEGURIDAD
• BENEFICIOS DE LA PLATAFORMA OSGI
• MODELO DE COLABORACIÓN EN OSGI
• MODELO DE COLABORACIÓN EN OSGI: SERVICIOS
• MODELO DE COLABORACIÓN EN OSGI: DEPENDENCIA
• OSGI Y UPNP: COMPARACIÓN
CONTENIDO
INTRODUCCIÓN
ARQUITECTURA OSGI
ARQUITECTURA OSGI

• Permite a las aplicaciones compartir una única JVM.


• Gestiona la carga de clases en una manera mejor definida y eficiente
que el estándar Java.
• Provee aislamiento/seguridad entre aplicaciones.
• Media permitiendo comunicación y colaboración entre aplicaciones.
• Provee gestión del ciclo de vida (instalar, empezar, parar, actualizar).
• Libre de políticas
• Éstas son impuestas por los bundles.
CAPAS DE LA FRAMEWORK OSGI
CAPAS DE LA FRAMEWORK OSGI
Entorno de ejecución:
• Provee un contexto de ejecución bien definido a las aplicaciones, tal como J2SE, CDC, CLDC, MIDP.
Módulos:
• Provee capacidades de carga y empaquetamiento de clases.
• Facilita el ligado entre módulos.
Ciclo de Vida:
• Instalación, comienzo, parada, actualización y desinstalación dinámica de Bundles.
• Mecanismos de dependencia para asegurar operación correcta del entorno.
Servicios:
• Modelo de cooperación entre bundles que tiene en cuenta el dinamismo.
• Completo modelo para compartir objetos entre bundles.
• Provisión de un mecanismo de eventos para gestionar el dinamismo.
Seguridad:
• Imbuida en todas las capas basada en Java y en el modelo de seguridad de Java 2.
• Añade gestión dinámica de permisos.
CAPAS DE LA FRAMEWORK
OSGI: ENTORNO DE EJECUCIÓN
OSGi requiere un entorno de computación
seguro, abierto, robusto, bien
documentado, maduro, rico y portable.
• Inspirado en Java porque en 1999 cuando se
creó OSGi, Java ya contaba con uno.
• Podrían realizarse implementaciones
alternativas de OSGi en .NET
Las APIs de OSGi utilizan un subconjunto de
las clases definidas por Java SE o Java ME
CDC/CLDC.
CAPAS DE LA FRAMEWORK
OSGI: MODULARIDAD
• Un bundle es la unidad de ejecución en
OSGi.
• Compuesto principalmente de clases Java,
librerías, recursos y manifest.mf Mejora la
modularidad de las aplicaciones Java:
• Elimina dependencias en Classpath
• Protege quién accede a qué
• Soporta versiones
CAPAS DE LA FRAMEWORK
OSGI: CICLO DE VIDA
El bundle del sistema representa a la framework OSGi.
Ofrece una API para gestionar bundles:
• Instalarlos
• Resolverlos
• Arrancar
• Parar
• Refrescar
• Actualizar
• Desinstalar
CAPAS DE LA FRAMEWORK
OSGI: SERVICIOS
• Provee un modelo de servicios dentro de una JVM.
• Descubrimiento (y notificación) de servicios basada en interfaces y propiedades,
no requiere ningún protocolo
• Asociación a uno o varios servicios mediante:
• Control de programa
• Siguiendo ciertas reglas de la framework
• Configuración de despliegue
• Aclaración sobre Service Oriented Architectures (SOA)
• Los Servicios Web se asocian y descubren en la red
• En la plataforma OSGi lo hacen dentro de una Java JVM
• La OSGi Alliance define un gran conjunto de servicios
CAPAS DE LA FRAMEWORK
OSGI: SERVICIOS
CAPAS DE LA FRAMEWORK OSGI: SEGURIDAD
• Basado en Seguridad de Java 2
• Permisos
• Firma de bundles
BENEFICIOS DE LA PLATAFORMA
OSGI
• Los componentes son pequeños
• Fáciles de hacer
• Los componentes están totalmente desacoplados unos de otros
• Aporta reusabilidad
• Modelo colaborativo
• Permite la reutilización de componentes para diferentes aplicaciones
• Gran aceptación
• Mercado grande, muchos componentes existentes
• Modelo dinámico para las personalización y variación continua de aplicaciones en los
dispositivos actuales
MODELO DE COLABORACIÓN EN
OSGI
• OSGi es más que un entorno de ejecución de Applet, MIDlet o Xlet
• Los bundles, unidades de ejecución en OSGi, colaboran mediante:
• Objetos de servicios
• Compartiendo paquetes
• Un Registro de Servicios dinámico permite a un bundle encontrar
y seguir el rastro de otros objetos de servicio
• La framework efectúa una gestión eficiente de esta colaboración
• Dependencias, seguridad
MODELO DE COLABORACIÓN EN
OSGI: SERVICIOS
MODELO DE COLABORACIÓN EN
OSGI: DEPENDENCIA
• La especificación OSGi soporta la declaración
de dependencias mediante las cabeceras:
Require-Bundle e Import-Package
• Require-Bundle crea una dependencia en un
bundle completo
• Muy fácil de usar
• Importa paquetes que no son utilizados
• Import-Package crea una dependencia en un
único paquete
• Los bundles solamente importan lo que
necesitan
OSGI Y UPNP: COMPARACIÓN

OSGi UPnP
• Java. • DTD XML  
• Código de ejecución .  • Comunicaciones  Declarativo  
• Comportamiento (Código).   • Orientado al usuario
• Program-Program oriented. • Estandarizar plantillas XML  
• Estandarizar interfaces Java.   • El servicio es remoto y lento para
• El servicio es local y rápido. ejecutar
CONCLUSIÓN
• La plataforma OSGi es algo así como un sistema operativo Java para componentes
desplegados a través de la red, ofreciendo:
• Modelo de ejecución y programación orientada a servicios simple
• Despliegue dinámico
• Capa de módulos
• Capa de servicios
• Seguridad integral
• Su misión es simplificar y hacer más eficiente incluso para entornos empotrados:
• Problemas de despliegue
• La composición de servicios
• La gestión vitalicia de los componentes
• Implementado por varios fabricantes y comunidades open source, gran apoyo de la industria
GRACIAS POR SU ATENCIÓN

También podría gustarte