Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Arquitectura y tecnología
100% basado en Java
Athento ECM está 100% construido sobre JAVA, por lo que lo que necesitas para ejecutar Athento ECM es una JVM (Java Virtual Machine) en el entorno destino.
Modelo de componentes basado en OSGI
Los componentes y servicios de la plataforma están empaquetados de forma que cada parte del software está contenida por un paquete OSGI que declara:
- Sus dependencias
- Los componentes proporcionados
- Los servicios que ofrece
Otras plataformas de código libre integradas
- Drools: para gestión de reglas
- Seam: usado por el modelo de Componentes Web en el JSF UI toolkit
- Shindig: para OpenSocial
- Jena RDF: el proveedor RDF
Vista general de la arquitectura
En una vista general de la arquitectura podremos identificar cuatro elementos principales:
- Runtime: Contiene el modelo de despliegue, servicios y componentes para hacer funcionar la plataforma. Está basado en el modelo de componentes OSGI añadiendo algunas funcionalidades extra.
- Core: El núcleo de Athento ECM contiene todos los servicios y componentes necesarios para la gestión y almacenamiento de documentos.
- Servicios: Contiene la gestión de servicios y componentes: flujos de trabajo, servicios de auditoría, servicio de comentarios, etc. Todos los servicios usan el núcleo para la gestión de los documentos, son genéricos y configurables y no dependen de la capa de interfaz de usuario (o User Interface - UI).
Expand | ||
---|---|---|
| ||
Table of Contents | ||
---|---|---|
|
Ubicación física de datos (sistema de ficheros y base de datos)
La ubicación de los documentos en el repositorio de binarios a nivel de filesystem se realiza por defecto en la siguiente ruta: $NUXEO_HOME/nxserver/data, sí deseásemos modificar la ruta de los binarios porque tenemos un disco con gran capacidad, bastaría con crear una carpeta e indicar esta en el wizard de instalación como veremos más adelante.
La ubicación de la base de datos, por lo general se realiza en /var/lib/postgresql/9.3/main/ aunque también es susceptible de ser movido a otra ubicación con más espacio. En este caso sería necesario parar PostgreSQL, mover la carpeta main al nuevo disco y realizar un enlace simbólico.
Por ejemplo:
Code Block |
---|
ln -s /nueva_ubicación/main /vaR/lib/postgresql/9.3/main |
Cómo configurar el sistema operativo para Athento
Para la ejecución de Athento ECM es necesaria la instalación de Java 7 como servicio del sistema o en un lugar accesible por la plataforma.
Puedes descargar Java 7 JDK desde este enlace.
Si no deseas instalar Java 7 en tu equipo, puedes descomprimirlo y referenciarlo desde el fichero de configuración de Athento ECM situado en $NUXEO_HOME/bin/nuxeo.conf bajo el nombre JAVA_HOME
Code Block |
---|
sudo apt-get update sudo apt-get install openjdk-7-jdk imagemagick ufraw poppler-utils libreoffice libwpd-tools ghostscript exiftool unzip |
También será necesario crear el usuario athento en el sistema.
Code Block |
---|
sudo adduser athento |
Cómo instalar y configurar la base de datos
Athento ECM usa como base de datos PostgreSQL, por lo que en los siguientes apartados se describe el proceso de instalación en diferentes sistemas operativos y la creación de un rol y una base de datos para la aplicación.
Instalación en Linux
Para instalar PostgreSQL en linux con el repositorio APT, ejecuta desde consola los siguientes comandos:
Code Block |
---|
sudo apt-get update sudo apt-get install postgresql postgresql-contrib |
Crea un rol y una base de datos para Athento ECM
Athento ECM necesita un rol y una base de datos en Postgre SQL, que puedes crearlas desde la consola de Linux o desde la consola de pgAdmin.
Desde la consola de Linux:
Code Block |
---|
sudo su -m postgres psql CREATE ROLE athento WITH PASSWORD 'athento' LOGIN; CREATE DATABASE athentoecm ENCODING 'UTF8' OWNER athento; \c athentoecm CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));'; CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT; COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text'; CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));'; CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT; COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text'; |
Cómo instalar y configurar el repositorio documental
Instalación en Linux
Para la instalación, seguiremos los siguientes pasos.
Descarga la versión multiplataforma desde el siguiente enlace
Code Block wget http://staticdebla.athentoyerbabuena.comes/dist/athentoecmresources/nuxeo-cap-6.0-tomcat.zip
Descomprime el fichero zip
Code Block unzip nuxeo-cap-6.0-tomcat.zip
Ve a la carpeta raíz de Nuxeo, a la carpeta /bin y dedita el fichero nuxeo.conf, incluyendo la ruta en la que se encuentra java 7 descomprimido, en el caso de que no sea un servicio del sistema.
Code Block cd nuxeo-cap-6.0-tomcat/bin/
Editaremos el fichero nuxeo.conf para establecer la configuración de Athento ECM
Code Block nano nuxeo.conf ---------------------------- ######################### # Athento configuration # # BBDD # nuxeo.templates=postgresql nuxeo.db.name=<bbdd_name> nuxeo.db.user=<bbdd_user> nuxeo.db.password=<bbdd_user_password> nuxeo.db.host=<bbdd_host> nuxeo.db.port=5432 # Ports # nuxeo.server.http.port=8080 nuxeo.server.ajp.port=8009 # Libreoffice # jod.office.home=/path/to/libreoffice # Binaries repository directory (By default: $TOMCAT_HOME/nxserver/data/)# # Uncomment next line to set a specific directory for binaries #nuxeo.data.dir=/path/to/data/dir # Logs directory (By default: $TOMCAT_HOME/log/) # #nuxeo.log.dir=/path/to/log/dir # End of Athento configuration # ################################
- Procederemos a arrancar la aplicación
Arranque y parada del servidor
La aplicación puede ser arrancada y parada desde el script nuxeoctl
Code Block |
---|
./bin/nuxeoctl stop ./bin/nuxeoctl startbg ./bin/nuxeoctl restartbg |
NOTA: Sí usamos nuxeoctl nunca debe lanzarse como sudo, ha de ser lanzado con el usuario que ejecuta la aplicación, en este caso athento.
Ubicación de los logs
En la configuración por defecto, podemos detectar el log de la aplicación en la ruta $NUXEO_HOME/log/server.log
Configuración inicial
Al instalar la aplicación, ésta será accesible desde http://127.0.0.1:8080/nuxeo. Accede a esta url desde un navegador de internet, como Mozilla Firefox, Google Chrome o Internet Explorer.
Al acceder por primera vez, aparecerá la página de configuración inicial de la plataforma. Tienes que prestar especial atención a la pestaña Database Settings:
- Selecciona como base de datos PostgreSQL.
- Introduce las credenciales de acceso a tu base de datos (las creadas en el apartado anterior.
En la pestaña Module Installation selecciona los módulos que quieres incluir en tu instalación y pulsa continuar.
Tras realizar esta acción, podemos finalizar la instalación del producto y una vez finalice el reinicio automático podremos acceder desde http://127.0.0.1:8080/nuxeo con las credenciales por defecto.
Usuario: Administrator
Password: Administrator
Instalación de Athento ECM
Para el despliegue de plugins desarollados para Athento ECM, deben colocarse estos (en formato .jar) en la carpeta $NUXEO_HOME/nxserver/plugins por defecto, la distribución ya incluye la traducción de etiquetas al Español y el diseño de Athento.
Una vez colocados los plugins, bastara con realizar un reinicio de la aplicación.
Code Block |
---|
cp mi-plugin-1.0.jar $NUXEO_HOME/nxserver/plugins/ $NUXEO_HOME/bin/nuxeoctl restartbg |
Recomendaciones y buenas prácticas
Athento como Servicio
Para añadir Athento como servicio y que arranque de forma automática en caso de reinicio del servidor, será necesario ejecutar los siguientes pasos.
- Descargar el script de servicio
Code Block |
---|
wget -O nuxeo http://static.athento.com/dist/tools/nuxeoservice |
2. Copiar el script a /etc/init.d y darle permisos de ejecución
Code Block |
---|
cp nuxeo /etc/init.d/ chmod a+x /etc/init.d |
3. Añadir el script al arranque del sistema
Code Block |
---|
sudo chmod a+x /etc/init.d/nuxeo sudo update-rc.d nuxeo start 98 2 3 4 5 . stop 02 0 1 6 . |
Control de ficheros temporales
Con el fin de que no nos encontremos con problemas de disco debido a ficheros temporales generados por el sistema, es una buena práctica añadir un cron que vaya limpiando la carpeta /tmp, para ello ejecutaremos el siguiente comando.
Code Block |
---|
sudo crontab -e |
Se nos abrirá un editor y añadiremos esta línea al final
Code Block |
---|
00 18 * * * find /tmp -mtime +2 -delete |
Comandos básicos para gestión del sistema desde consola
Manejo del servicio de Athento
Code Block |
---|
Parada del servicio: sudo /etc/init.d/nuxeo stop Arranque del servicio: sudo /etc/init.d/nuxeo start Status del servicio: sudo /etc/init.d/nuxeo status |
Manejo del servicio de PostgreSQL
Code Block |
---|
Parada del servicio: sudo /etc/init.d/postgresql stop Arranque del servicio: sudo /etc/init.d/postgresql start Status del servicio: sudo /etc/init.d/postgresql status |
Control de espacio en discos
Code Block |
---|
df -h |
Control de uso de ram
Code Block |
---|
free -m |
Control de uso de CPU, RAM y procesos
Code Block |
---|
sudo apt-get install htop |
Consulta de logs de Athento
Code Block |
---|
less $NUXEO_HOME/log/server.log |
Acceder a la base de datos
Code Block |
---|
psql |
Backups and recovery
Copia de seguridad de Athento
Los documentos se encuentran en:
Code Block |
---|
$NUXEO_HOME/ |
Copia de seguridad de la base de datos
Se puede hacer una copia de seguridad de las bases de datos desde consola.
La sintaxis para realizar copias de seguridad desde consola es la siguiente:
Code Block |
---|
pg_dump -U <usuario> -W <nombre_bbdd> -f <nombre_fichero_dump.sql> |
Recuperación a partir de una copia de seguridad
Para recuperar las bases de datos a partir de una copia de seguridad:
- Crear una base de datos con el mismo nombre que tenía la original.
- Conectar la nueva base de datos por PostgreSQL
- Importar la nueva base de datos desde PostgreSQL mediante el siguiente comando:
Code Block |
---|
\i <ruta_del_fichero_dump.sql> |
Procedimiento recomendado
Consulta el resto de la documentación en doc.athento.com.
Expand | ||
---|---|---|
| ||