PDF de programación - Curso: OSGi: Open Services Gateway Interface

Imágen de pdf Curso: OSGi: Open Services Gateway Interface

Curso: OSGi: Open Services Gateway Interfacegráfica de visualizaciones

Publicado el 21 de Diciembre del 2019
766 visualizaciones desde el 21 de Diciembre del 2019
10,7 MB
71 paginas
Creado hace 16a (31/10/2007)
Curso: “OSGi: Open Services

Gateway Interface”

Dr. Diego Lz. de Ipiña Gz. de Artaza

http://paginaspesonales.deusto.es/dipina

http://www.morelab.deusto.es

http://www.ctme.deusto.es
[email protected]

Contenido

1.

Introducción
a. ¿Qué proporciona?
b. ¿Dónde se aplica?
c. Especificaciones y Herramientas OSGi 2.

2. Arquitectura OSGi

a. JVM, modularidad, gestión de ciclo de vida, seguridad
b. Registro de Servicios
c. Concepto de Bundle
d. Servicios Estándar OSGi

3. Programando OSGi con Knopplerfish

Instalación y configuración de plug-in para Eclipse

a.
b. Usando Ant para compilar código OSGi
c. Desarrollando un primer bundle
d. Fichero de manifesto
e. Creación de la clase Activator
f. Compilando e instalando un bundle
g. Creando interfaces de servicio
h. Usando el registro de servicios
i. Usando los servicios avanzados de servicios: ServiceListener y ServiceTracker

2/142

1

Contenido

4. Desarrollo de un ejemplo complejo en OSGi

a. Diseño de un Servicio de Descubrimiento de Servicios

distribuidos

b. Usando el LogService
c.
d. Creación de Servicios Distribuidos descubribles mediante el

Implementando el servicio, bundle y activator

Distributed Bundle Discoverer

5. Servicios Avanzados en OSGi

a. Declarative Service
b. Configuration Service
c. Event Admin Service
d. Wire Admin Service
e. R-OSGi
6. Conclusión

3/142

OSGi en Pocas Palabras

 Una framework Java para el desarrollo de aplicaciones

desplegables remotamente, que requieren:
 Robustez
 Elevada distribución
 Heterogeneidad (diferentes dispositivos)
 Colaboraciones

 Resuelve el problema de desplegar muchos programas

independientes en grandes sistemas distribuidos, proveyendo:
 Un sistema operativo para programas
 Un formato para la descarga de código ejecutable
 Un mecanismo para descubrir otros programas
 Estandarización de APIs para promocionar la reutilización
 Gestión eficiente del ciclo de vida de las aplicaciones descargadas

4/142

2

OSGi (Open Services Gateway Initiative)

 Define una Arquitectura Centralizada Orientada a

Servicios (SOA) dentro de una máquina virtual (JVM)

 ¿Por qué se creo?

 Necesidad de crear herramientas que estandaricen los aspectos de

integración del software de tal manera que la reutilización de
componentes software sea más sencilla, fiable, robusta y de bajo
coste.

 ¿Qué aporta?

 OSGi aporta modularidad dinámica a Java y permite estandarizar la

integración del software

5/142

OSGi (Open Services Gateway Initiative)

 OSGi define un entorno de ejecución estandarizado orientado a

componentes que es la base de una arquitectura SOA.
 Proporciona una pequeña capa de software que permite la cooperación

entre componentes Java en una única JVM.

 Gestiona dinámica del ciclo de vida de los componentes gestionados

(instalación, actualización o eliminación) sin reinicio del dispositivo

 Múltiples dominios de aplicación:

 Pasarelas residenciales
 Dispositivos móviles de última generación
 Industria del automóvil
 Aplicaciones de sobremesa o
 Dispositivos electrónicos (Philips iPronto, Nokia N800 y E70 o NSLU2)

 Realmente una especificación, no un producto, en R4:

 r4.core.pdf (2.01 MB) -- R4 Core Specification
 r4.cmpn.pdf (4.55 MB) -- R4 Service Compendium

6/142

3

OSGi Alliance

 OSGi es gestionado por la OSGi Alliance:

http://www.osgi.org/, actualmente más de 30 empresas:

Alpine Electronics Europe Gmbh , Aplix Corporation , BMW Group , Computer Associates ,
Deutsche Telekom AG , Echelon Corporation , Electricité de France (EDF) , Ericsson Mobile
Platforms AB , Esmertec , Espial Group, Inc. , ETRI Electronics and Telecommunications
Research Institute , France Telecom , Gatespace Telematics AB , Gemplus , Harman/Becker
Automotive Systems GmbH , Hitachi, Ltd. , IBM Corporation , Industrial Technology
Research Institute , Insignia Solutions , Intel Corporation , KDDI R&D Laboratories, Inc. ,
KT Corporation , Mitsubishi Electric Corporation , Motorola, Inc. , NEC Corporation , Nokia
Corporation , NTT , Oracle Corporation , Panasonic Technologies, Inc. , ProSyst Software
GmbH , Robert Bosch Gmbh , Samsung Electronics Co., Ltd. , SavaJe Technologies, Inc. ,
Sharp Corporation , Siemens AG , Sun Microsystems, Inc. , Telcordia Technologies, Inc. ,
Telefonica I+D , TeliaSonera , Vodafone Group Services Limited

7/142

Características Principales de OSGi

1. Gestión de componentes software

 Formato de empaquetamiento para aplicaciones (bundle)
 Instalar/Arrancar/Parar/Actualizar/Desinstalar un bundle
 Capacidad de recibir actualizaciones futuras de productos

2. Gestión de Componentes Remota

 Provee una API de gestión a utilizar por un bundle de gestión que mapea un

protocolo a un conjunto de llamadas

 Hace frente a aspectos de heterogeneidad

3. Cooperación entre Aplicaciones

 Los bundles pueden contribuir tanto con código como servicios al entorno
 Contenedor abierto donde las aplicaciones no se ejecutan aisladas, comparten

librerías

 El Registro de Servicios de OSGi ofrece modelo ligero para publicar, encontrar

y asociar servicios dentro de una JVM



Incluye un servicio de notificación para generar eventos de ciclo de vida

4. Naturaleza Dinámica

 La actualización de componentes no requiere el reinicio

5. Otras propiedades

 Despliegue simplificado
 Separación estricta de interfaz e implementación (enfoque SOA)
 Entorno de Ejecución Seguro
 Componentes Comerciales pueden Desplegarse Fácilmente

8/142

4

¿Qué proporciona OSGi?

 Framework de componentes software estándar y abierto para

productores de dispositivos, proveedores de servicios y
desarrolladores

 Modelo de coexistencia para permitir diferentes componentes

dentro de una JVM

 Modelo cooperativo donde las aplicaciones pueden descubrir y usar

servicios provistos por otras aplicaciones en la misma instancia de
OSGi

 Arquitectura flexible de gestión remota: API de despliegue que

controla ciclo de vida de aplicaciones: bundle + ciclo de vida de
bundle

 Conjunto de servicios opcionales como HTTP, Wiring, IO o

eventos

 Entorno de ejecución seguro

Complejidad del Software

Service Oriented Programming

y
t
i
v
i
t
c
u
d
o
r
P

Structured
Programming

Assembly

Complexity and Size

9/142

10/142

5

¿Dónde se aplica?

 Pasarelas residenciales:

 Empresas como Siemens producen dispositivos para la automatización

del hogar y sus componentes conectados por PLC o UPnP. Hace
controlables remotamente a esos dispositivos.

 Aplicaciones de dektop:

 El popular entorno de desarrollo Eclipse está basado en OSGi

(http://www.eclipse.org/osgi/)

 Dispositivos móviles de nueva generación:

 Los fabricantes de dispositivos móviles requieren una plataforma para el
despliegue continuo de servicios escalable, flexible y de pequeño tamaño
basada en OSGi y Java (JSR 232 – http://jcp.org/en/jsr/detail?id=232 y
http://gceclub.sun.com.cn/java_one_online/2006/TS-3757/TS-3757.pdf)

 Automoción:

 Series 5 y 7 BMW incorporan OSGi para su plataforma de información y

entretenimiento (AMI-C – http://www.ami-c.org/)

 Próximamente en Servidores de Aplicaciones Empresariales
 Interface21, creadores de Spring, definiendo la nueva generación de

servidor EE en OSGi (http://www.springframework.org/osgi/specification)

 Ultima versión de IBM WebSphere basada en OSGi

11/142

Ejemplo de Despliegue OSGi en el Hogar (1)

HomeControl

Security

Webpad

Entertainment/

Gaming

Access

from any Web Terminal

Aggregation &

Management Platform

Notification

Server

e.g. access from office
or via PDA/WAP phone

Subscriber, Service and

Device Management

Home Office

Different
Networks

Internet

Secure Tunnel

OSGi

Service Gateway

Access
Gateway

Family
Portal

Firewall

Internet
Services

Service
Offering

Services
Provider

12/142

6

Ejemplo de Despliegue OSGi en el Hogar (2)

13/142

Implementaciones OSGi R4 Comerciales

 Existen varias implementaciones de OSGi comerciales

certificadas para la versión 4:
 Makewave Knopflerfish Pro 2.0 (www.makewave.com) 

comercial/libre

 ProSyst Software mBedded Server 6.0 (www.prosyst.com)
 Samsung OSGi R4 Solution (www.samsung.com)
 KT OSGi Service Platform (KOSP) 1.0 (http://www.kt.co.kr/)
 HitachiSoft SuperJ Engine Framework (http://hitachisoft.jp/)

14/142

7

Implementaciones OSGi R4 Libres

 Además, las siguientes implementaciones libres de R4

OSGi también existen:
 Eclipse Equinox (http://www.eclipse.org/equinox/) – framework

OSGi usada en Eclipse

 Makewave Knopflerfish (http://www.knopflerfish.org/) – más usada

y mejor documentada (elegida para este curso)

 Apache Felix (http://felix.apache.org/site/index.html)

 OSCAR

Aplicaciones Reales usando OSGi

 X-ray measurement Systems
 BMW 7 series
 Eclipse
 Siemens Medical
 Nokia E70
 Siemens Gigaset SX765
 Espial Set-top box
 VDO on-board computer
 Prosyst mBedded Server, Remote

Manager and Builder

 Bosch and Siemens Home

Appliances

 Philips iPronto
 Telefónica ehogar
 Websphere application server

15/142

16/142

8

Características Esenciales de OSGi

 Gestión de componentes software

 Gestión remota de componentes

 Cooperación entre componentes/aplicaciones

 Provisión de entorno de ejecución seguro

17/142

Gestión de Componentes Software

 OSGi provee las siguientes funciones para la gestión del

ciclo de vida de aplicaciones:
 Bundles: formato de empaquetamiento para aplicaciones. Es un

simple JAR compatible con mecanismos de compresión ZIP.

 Gestión de ciclo de vida de bundles:

 Instalar un bundle
 Arrancar/parar un bundle
 Actualizar un bundle
 Desinstalar un bundle

Java VM

OS

CPU

IO

18/142

9

Configuración Remota de Componentes

 OSGi está concebido para dispositivos que operan

desatendidos o controlados por un operador de
plataforma que requiera gestión remota

 El ciclo de vida del software no para cuando un dispositivo

abandona la fábrica

 Es conveniente poder actual
  • Links de descarga
http://lwp-l.com/pdf17061

Comentarios de: Curso: OSGi: Open Services Gateway Interface (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad