La finalidad de la migración del O3Server.cfg a base de datos es pasar toda la información que contiene (cubos publicados, roles, usuarios, 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.)
- 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:
<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
La forma de volver a la situación inicial, trabajando con O3Server.cfg, es:
- 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, a menos que se use la funcionalidad de Exportación e Importación.