3. Opción vertical
Aplicación Web con servicios de Athento
Platform en la misma JVM.
✔
✔
Document Management ~ base.
Interfaz de usuario propia.
✔ Ejemplos:
✔
Athento iDM,
✔ Athento Capture
✔ Athento eAdministration
✔ Aplicaciones adaptadas a necesidades...
✔
Yerbabuena Software ~ 2013
4. Opción vertical
✔
Ejemplos:
✔ DGT~SDGI: para sistema de
interoperabilidad basado en DM.
✔
BBVA: gestión de expedientes inmobiliarios
con conexión a Nuxeo DM.
PAPERLESS: gestión de dosieres con
conexión a Nuxeo DM y PostgreSQL.
✔ (Demos)
✔
Yerbabuena Software ~ 2013
6. Opción horizontal
Aplicación Web privada en modo
administración con capa de servicio para
acceso remoto.
✔
Interfaz de usuario para configuración de
servicios activos.
✔
Útil para capa intermedia entre
aplicaciones y repositorios.
✔
Yerbabuena Software ~ 2013
7. Opción horizontal
✔
Ejemplos:
✔ DGT: conecta sus aplicaciones con
repositorios mediante Athento Platform
en modo horizontal.
✔
Organiza (Dipu. de Málaga): capa
horizontal que ofreces servicios de
configuración y seguridad comunes.
Yerbabuena Software ~ 2013
8. Tecnologías a destacar: entorno
Compilación y empaquetado basado en
estándares.
✔ Uso de JUnit, JMeter, ... en realización de
test.
✔ Herramientas de eclipse.
✔
✔
Maven, Jenkin, Sonar, SVN, Artifactory, ...
Yerbabuena Software ~ 2013
9. Basado en estándares
✔
Modelo OSGi: Athento Runtime
✔
Basada en NXRuntime (Equinox).
✔
Fuerte soporte para estándares Java.
✔
Java EE 5, JMX, JTA, JPA, JMS, JAAS, …
✔
Integración con componentes open source
(Seam, Hibernate, JSF, Richfaces ...)
Yerbabuena Software ~ 2013
10. APIs
✔
Java (POJO) y EJB3 remotos
✔
EJB3 sólo en versiones JBoss
WebServices ( JAX-WS, JAXB, XMLRPC)
✔
✔
REST APIs ( JAX-RS, Restlets)
✔
Conector CMIS: OpenCMIS
✔
Basado en Apache Chemistry.
Yerbabuena Software ~ 2013
11. ¿Cómo es un proyecto?
Un proyecto en Athento consta de 4 módulos,
dos obligatorios y dos opcionales(*):
✔ Módulo API: Definición de modelo,
interfaces y constantes.
✔ Módulo Core: Implementación de servicios,
implementación del modelo.
✔ Módulo Web*: Implementación de clases de
interfaz e inclusión de los recursos web.
✔ Módulo Facade*: Definición de interfaces de
acceso remoto. (Si se ignora del conector de
entrada EJB3)
✔
Yerbabuena Software ~ 2013
15. Distribution: EAR assembly
✔
Proyecto Athento Distribution.
✔ Uso del plugin assembly de maven.
✔ Definición del fichero de definición de ensamblaje:
athento-platform.xml
Se incluye la definición de comandos y artefactos en
ensamblaje:
commands.xml: incluye las salidas de cada
ensamblaje.
athento-all.xml: define los artefactos asociados a
cada salida definida en commands.
✔
Yerbabuena Software ~ 2013
16. Distribution: EAR assembly (2)
✔
Cuando verticalizamos Athento Manager:
Creamos su propio proyecto
${project}-distribution
✔ Definimos descriptores de ensamblaje con las
dependencias necesarias.
✔ Configuración propia
✔ Sobreescribimos la UI.
✔
Yerbabuena Software ~ 2013