athento runtime
DESCRIPTION
Athento RuntimeTRANSCRIPT
![Page 1: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/1.jpg)
Yerbabuena Software ~ 2013
Athento RuntimeAthento Platform v1.3.3Víctor Sánchez ~ R&DYerbabuena Software
![Page 2: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/2.jpg)
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.
![Page 3: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/3.jpg)
Yerbabuena Software ~ 2013
Runtime OSGi (2)✔ Ensambla
✔ Athento Core✔ Athento Services
✔ + HLS✔ Tecnologías de presentación✔ Hot-deploy
![Page 4: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/4.jpg)
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
![Page 5: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/5.jpg)
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.
![Page 6: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/6.jpg)
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
![Page 7: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/7.jpg)
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!
![Page 8: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/8.jpg)
Yerbabuena Software ~ 2013
Modelo de componentes
![Page 9: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/9.jpg)
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.
![Page 10: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/10.jpg)
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.
![Page 11: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/11.jpg)
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.
![Page 12: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/12.jpg)
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.
![Page 13: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/13.jpg)
Yerbabuena Software ~ 2013
Puntos de extensión
![Page 14: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/14.jpg)
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
![Page 15: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/15.jpg)
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.
![Page 16: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/16.jpg)
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>
![Page 17: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/17.jpg)
Yerbabuena Software ~ 2013
Ejercicio
Mi primer bundle
![Page 18: Athento Runtime](https://reader038.vdocumento.com/reader038/viewer/2022100500/55841205d8b42a34708b48f6/html5/thumbnails/18.jpg)
Yerbabuena Software ~ 2013
Athento Platform
¡Gracias!