HowTo configurar programaciones con base de datos
Escenario
Se quiere usar una base de datos para la persistencia de los proceso de Workflow de la herramienta O3 y persistencia de usuarios.
Estamos en una instalación nueva.
Procedimiento
- Instalar O3PS
- Levantar el AdmServer
- Colocar licencias
- Ir al Wizard de migración y elegir Usar una base distinta a la incluida en O3.
- Elegir el Motor de BD adecuado
- Completar datos y testar la conexión, puede que para algunas bases de datos haya que proveer el driver correspondiente. El driver se debe colocar en 2 lugares:
* en <o3>classes/jdbc
* en <o3>/jboss/server/default/lib - Apretar el botón de siguiente
- Apretar el botón de siguiente nuevamente
- En la última pantalla elegimos Habilitar el uso de la base de datos
- En caso de elegir MySQL como motor hay que hacer una corrección para evitar un bug del driver, editar el ds de mysql, debería estar en <o3>/jboss/server/default/deploy/gserver/gserver-mysql-ds.xml.Dejar <connectinon-url> del siguiente modo:
<connection-url>jdbc:mysql://Nombre_del_server:3306/base_de_o3?useOldAliasMetadataBehavior=true</connection-url>
- Para el caso de estar en la versión 5.1.100:
- Entrar mysql y cambiar en la tabla cubebuilderdef el id que se autonumérico
- Entrar mysql y cambiar en la tabla namedcron el id que se autonumérico
- Entrar mysql y cambiar en la tabla reportcastdef el id que se autonumérico
- Levantar jboss
- Ir al browser Archivo->Procesos->Abrir Proceso
- Elegir carpeta <o3>/files/Process
- Elegir archivo CronBuilder.xml y aceptar
- Ir Publicación->Enviar definición al servidor (hay que haber elegido la ventana con el proceso)
- Ir de nuevo a Publicación->cambiar estado, hay que cambiarlo a testing
- Ir de nuevo a Publicación->cambiar estado, hay que cambiarlo a producción
- Ir Archivos->Procesos->Bandeja de entrada
- Estando en la bandeja de entrada ir a Pendientes->crear instancia del proceso
- elegir el cronbuilder
- Repetir pasos 8 a 11 para el O3Builer.xml, no hay que crear una instancia del O3Builder ya que el CronBuilder se encargará de ello.
Con esto quedaría todo pronto para empezar a crear crons para la construcción de cubos
Administrando los procesos
Los procesos creados deben ser administrados desde 2 componentes del browser
- Bandeja de entrada
- WAdmin
Bandeja de entrada
Para abrir la bandeja Archivos->Procesos->Bandeja de entrada
En la imagen vemos que hay 1 tarea pendiente en la parte izquierda, pero en la medida que coloquemos diferente cubos/reportes para construir/enviar aparecerán otras tareas pendientes.
Builder schedule
Esta tarea es la encargada de cada 10 minutos chequea que no se haya agregado otro cubo/reporte para crearle la instancia correspondiente.
Cuando nos paramos en esta tarea pendiente vemos que su actividad actual es Wait for expiration.
Supongamos que en el admserver le decimos que el cubo Demo se va a construir en forma automática, luego de aplicar veríamos esto en la bandeja de entrada.
La construcción del cubo demo es ahora una tarea pendiente más (Process Executor).
Si nos paramos en esta tarea veremos que esta Wait for execution. Esto es que está esperando ser realizada.
WAdmin
Este componente nos permite ver todos los procesos y sus estados respectivos, además nos permite cambiar esos estados.
En Archivos->Procesos->WAdmin
Para buscar el proceso la forma más fácil es filtrando, para ello apretamos el botón con una lupa que esta en la parte "Definición del proceso". Nos aparecerá la pantalla que se ve en la imagen de arriba.
Seleccionamos el proceso u1- Producción dentro de O3Builder. y aceptamos
Luego apretamos el botón de buscar
Veremos una lista del estilo:
Como ya dijéramos se ven todo los proceso, los pendientes, los cerrados, etc.
En la imagen se ve uno pendiente y dos cerrados.
Cancelar un proceso pendiente
Si por alguna razón quisiéramos cancelar el proceso pendiente (estado en Proceso) debemos cliquearlo y luego apretar el botón GoTo de la barra de herramientas.
Se despliega una pantalla con un combo activity, elegir final activity
Activar un proceso cerrado
Del mismo modo si quisiéramos activar un proceso cerrado, seleccionamos en el combo Initial Activity
Hacer que CronBuilder se ejecute antes de los 10 minutos
Muchas vecese queremos estar seguros que la construcción de un cubo quedó agendada y no queremos esperar a que el cron builder espere el tiempo establecido. Para ello en definición de procesos elegimos cron builder y luego buscamos.
Lo seleccionamos y apretamos el botón GoTo de la barra de herramientas. Elegimos la actividad show attrs. Si nos fijamos el id del trabajo, luego de elegir la actividad deberá cambiar. Podemos ahora verificar en la bandeja de entrada que se ha agregado la construcción del nuevo cubo.