La finalidad de la migración del O3Server.cfg a base de datos es pasar toda la información que contiene (cubos publicados, vistas, etc.) a base de datos, y seguir trabajando desde allí.
Los pasos para la migración son:
- Creación o actualización de la base de datos.
- Migración de los datos.
- Configuración del O3Server para iniciarse con base de datos.
1- Actualización o creación de la Base de Datos.
No es necesario que el Servidor O3 esté levantado a no ser que se quiera usar la base Hypersonic que viene en el jboss, conectandose por host:puerto.
Iniciar el AdmServer y en la toolBar seleccionar "Herramientas -->Generador Esquemas Base de Datos". Esto muestra la siguiente ventana:
Se configura la conexión a la base de datos:
- Motor, las opciones posibles son SQL Server Microsoft, SQL Server Opta, Oracle, MySQL, PostgreSQL, HsqlDb, Derby, other.
- Manejador (driver) a utilizar (debe tenerse el driver correspondiente en el servidor <InstalaciónO3>\jboss\server\default\lib)
- Url completa a la base de datos (servidor, puerto de la base de datos, nombre de la misma, etc.). En caso de realizar la migración a una nueva base de datos, la misma debe estar creada de antemano.
- Usuario y contraseña (que se guardará encriptada) para la base de datos.
Además:
Config datasource
Se debe configurar <InstalaciónO3>\jboss\server\default\deploy\gserver\gserver-hsql-ds.xml, según la base de datos a la que se quiera exportar (salvo que se vaya a utilizar Hypersonic), se debe cambiar el contenido de los siguientes tags: <connection-url>, <driver-class>, <user-name> y <password>, y comentar <metadata>.
Configuración inicial (original):
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url> ... <driver-class>org.hsqldb.jdbcDriver</driver-class> ... <user-name>sa</user-name> <password></password> ... <metadata> <type-mapping>Hypersonic SQL</type-mapping> </metadata>
Ejemplo para conexión a SQL Server:
En este caso la configuración del archivo corresponde a indicar la URL, el driver, usuario, contraseña y comentar el tag indicado.
<connection-url>jdbc:sqlserver://Server:1433;DatabaseName=PruebaO3ServerCfg;SelectMethod=cursor</connection-url> ... <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> ... <user-name>sa</user-name> <password></password> ... <!--Finalmente se comenta el tag:--> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) <metadata> <type-mapping>Hypersonic SQL</type-mapping> </metadata> -->
Se deberá comentar la property hibernate.dialect = org.hibernate.dialect.HSQLDialect de <InstalaciónO3>\jboss\server\default\ideasoft-o3\GServer.properties si no se va a trabajar con Hypersonic, dejando hibernate.dialect = org.hibernate.dialect.SQLServerDialect si se va a utilizar SQL Server, por ejemplo.
Luego se tiene 3 opciones:
1- Verificar la conexión a la base con el botón "Verificar Conexion". Si la conexión es satisfactoria se mostrará un mensaje como el siguiente:
2- En caso de que se quiera crear las tablas, se debe de presionar el botón con la etiqueta "Generar Tablas". Se mostrará el siguiente mensaje:
3- Si las tablas ya existen y lo que se quiere es actualizar la estructura de las mismas, se debe de presionar el botón con la etiqueta "Actualizar Tablas".
Se crearán/actualizarán las tablas de RBAC, E2, jwf, y las necesarias para cubos, vistas, cubos-roles, cubos-perfiles, modelos, etc.
2- Migración de los datos.
Luego de una actualización exitosa de la base de datos, se debe de proceder a migrar los datos del O3Server.cfg (cubos, vistas, etc.) a la base de datos.
Para migrar los datos se debe:
- Iniciar el O3 server y conectarse usando el AdmServer
- Luego desde el AdmServer, seleccionar en la toolBar la opción "Herramientas --> Migrador de configuración del Servidor". Para realizar la migración se debe presionar el botón con la etiqueta "Migrar" y a continuación se mostrará en el área de "Mensajes de la migración" la información de qué se migró:
- La última linea del mensaje está avisando que ya están disponibles los cubos como para comenzar a trabajar desde base de datos.
3- Configuración del O3 Server para levantar con Base de Datos.
Luego de haber seguido los pasos anteriores se debe de bajar el servidor y editar el archivo GServer.properties para modificar la property o3.config.dataBase de <InstalaciónO3>\jboss\server\default\ideasoft-o3\GServer.properties, con el valor "true".
Al levantar el servidor nuevamente este tomará la información que se guardó en la base de datos y toda nueva información sera guardada en este lugar.
Como los usuarios admin y user están en RBAC, se deben crear manualmente en el AdmServer una vez que se migró a base de datos.
Volver a trabajar con O3Server.cfg
Como ya se mencionó a partir de O3 5.0 se almancena la configuración del servidor en base de datos, a diferencia de versiones anteriores donde la configuración era almacenada en el archivo O3Server.cfg
Para facilitar la migración desde versiones anteriores se ofrece este mecanismo que tiene por resultado eliminar el uso del O3Server.cfg y pasar a adminsitrar en base de datos la información de cubos publicados y perfiles de acceso.
De todas formas se aclara que si se necesita volver a la situación inicial, trabajando con O3Server.cfg, el procedimiento sería:
- Apagar la property (o3.config.dataBase = false) y
- Reiniciar el O3 Server.
Los cambios hechos desde la migración (publicación de nuevos cubos, creación de nuevas vistas, etc.), no se verán reflejados en el O3Server.cfg.