athento runtime
Post on 19-Jun-2015
97 Views
Preview:
DESCRIPTION
TRANSCRIPT
Yerbabuena Software ~ 2013
Athento RuntimeAthento Platform v1.3.3Víctor Sánchez ~ R&DYerbabuena Software
Yerbabuena Software ~ 2013
Runtime OSGi✔ Basada en NXRuntime.✔ Provee:
✔ Soporte OSGI nativo.✔ Modelo de componentes basado en OSGi.✔ Modelo de Servicio.✔ Sistema de puntos de extensión.✔ Modelo de despliegue.✔ Gestión de dependencias.
Yerbabuena Software ~ 2013
Runtime OSGi (2)✔ Ensambla
✔ Athento Core✔ Athento Services
✔ + HLS✔ Tecnologías de presentación✔ Hot-deploy
Yerbabuena Software ~ 2013
¿Qué es OSGI?✔ OSGI: Open Services Gateway Initiative
✔ http://www.osgi.org✔ Plataforma de servicios modulares basados en Java.✔ Características en Athento:
✔ Modelo de componentes basado en bundles✔ Registro de servicios✔ Gestión de dependencias entre componentes
Yerbabuena Software ~ 2013
¿Qué es un bundle?✔ Todos los módulos de Athento son bundles.✔ Tienen un único ID.✔ Declara sus dependencias
✔ Un bundle no se activa hasta que se resuelvan sus dependencias.
✔ Declara un conjunto de componentes.
Yerbabuena Software ~ 2013
¿Qué contiene un bundle?✔ Fuentes Java para compilación y test.
✔ src/main/java y src/test/java✔ Recursos para compilación y test.
✔ src/main/resources y src/test/resources✔ Definición del bundle
✔ src/main/resources/META-INF/MANIFEST.MF✔ Definición de componentes del bundle
✔ src/main/resources/OSGI-INF
Yerbabuena Software ~ 2013
Modelo de componentes✔ Los componentes son declarados en un bundle con descriptores XML.✔ Cada componente de Athento puede:
✔ Declarar sus dependencias.✔ Definir sus puntos de extensión.✔ Contribuir a puntos de extensión existentes.
✔ Definir servicios.Nota: no olvidar estos 4 puntos!
Yerbabuena Software ~ 2013
Modelo de componentes
Yerbabuena Software ~ 2013
Tecnologías a destacar: extensible✔ Creación de puntos de extensión en cualquier componente.
✔ Añadir nuevas funcionalidades justo cuando se necesite.
✔ No necesitamos tocar código fuente (NO-intrusismo)
✔ Simplemente configurar mediante declaración XML.
Yerbabuena Software ~ 2013
Tecnologías a destacar: flexible y ágil✔ Sólo desplegamos los servicios necesitados.✔ Desplegable en múltiples JVMs.✔ Soporta clustering.✔ Transparencia en despliegue cliente/servidor.✔ Uso de múltiples opciones de despliegue.
Yerbabuena Software ~ 2013
Componentes en Athento✔ Definidos en descriptores XML.✔ Declarados en el archivo META-INF/MANIFEST.MF del
bundle.✔ Provee:
✔ Uno o más servicios.✔ Uno o más puntos de extensión.
Yerbabuena Software ~ 2013
Puntos de extensión✔ Contribuir configuración de puntos de extensión existentes.
✔ Contribuir en código y comportamiento de puntos de extensión existentes.
✔ Extender otros componentes y personalizar nuestro servicio.
Yerbabuena Software ~ 2013
Puntos de extensión
Yerbabuena Software ~ 2013
MANIFEST.MF✔ Líneas requeridas
✔ Manifest-Version: 1.0✔ Bundle-ManifestVersion: 1✔ Bundle-Version: 1.0.0
✔ Específicas en nuestro bundle✔ Bundle-Name: nombre del bundle✔ Bundle-SymbolicName: nombre único de representación del bundle. Pon siempre al final ;singleton:=true
✔ Bundle-Vendor: nombre de la compañía✔ Provide-Package: paquetes que provee el bundle.
✔ Dependencies✔ Require-Bundle: bundles requeridos por este bundle
Yerbabuena Software ~ 2013
MANIFEST.MF✔ Registro de componentes:
✔ Nuxeo-Component: añadimos todos los componentes que queremos desplegar.
✔ Buenas prácticas:✔ Cuidado con los espacios y las comas.✔ Asegúrate de que el SymbolicName sea único:
✔ Una buena elección es el nombre del paquete que provee.✔ No olvidar añadir ;singleton:=true al final.
✔ Añade al final del archivo una nueva línea en blanco.
Yerbabuena Software ~ 2013
deployment-fragment.xml✔ Describe cómo desplegar el bundle.
✔ Ejecuta comandos batch.<?xml version="1.0"?><fragment version="1">
<extension target="application#MODULE"> <module> <ejb>${bundle.fileName}</ejb> </module> </extension>
<install> <unzip from="${bundle.fileName}" to="/" prefix="web"> <include>web/athento.war/**</include> </unzip> </install>
</fragment>
Yerbabuena Software ~ 2013
Ejercicio
Mi primer bundle
Yerbabuena Software ~ 2013
Athento Platform
¡Gracias!
top related