Reasociando tu dominio de SOA Suite con un Policy Store basado en Base de Datos. SOA Suite 11g.

Por default cuando instalas un dominio de Fusion Middleware, el Policy Store (parte del Java Platform Service) está basado en archivos. Seguramente ubicas el system-jazn-data.xml, o el mismo jps-config.xml.

Es hasta cierto punto normal que dejes esa configuración por default, hasta que se presenta la necesidad de generar usuarios, conectarse a un LDAP, etc. Incluso en un ambiente Productivo, Oracle no sugiere (o incluso no soporta) este tipo de configuración.

Sobre todo si estás en un ambiente de clúster en dónde tienes una serie de máquinas distribuidas, depender del Policy Store basado en archivos, puede llegar a ser riesgoso. Pues si estos archivos se dañan, tu dominio de weblogic corre el riesgo de quedar en mal estado.

Existen tres opciones para tu Policy Store. Esto aplica a un ambiente de 11g, seguramente 12c es muy equivalente, pero todo lo que se verá a continuación es de 11g. Igualmente estamos usando como ejemplo a Oracle SOA Suite, como componente de Fusion Middleware:

1. Basado en archivos. Justamente la configuración por default. Estos archivos son los que mencioné al iniciar el post. Todos los roles, grupos, etc., está basada en dichos archivos. Cada vez que asignas un usuario a un grupo en particular, digamos el rol de Architect de Oracle BAM, el archivo system-jazn-data.xml se ve afectado.

2. Basado en BBDD. Esta es una opción muy directa a utilizar, pues finalmente la SOA Suite (como casi todos los componentes de Fusion Middleware) requieren de una base de datos para su ejecución. Así que ya no tienes que buscar una base de datos adicional para realizar esta configuración, pues ya la tendrás.

3. Basado en un LDAP. En 11g aún se menciona a Oracle Internet Directory (OID), y sí, para esta versión esa es justamente la sugerencia. Aquí todo está basado en una estructura de árbol adentro de OID

En definitiva las opciones 2 y3 son las adecuadas para producción.

Vamos a usar la opción 2, para ejemplificar cómo realizar el cambio.

PASO 1

Debes de instalar el esquema de OPSS. Si no lo hiciste al momento de instalar tu dominio de SOA Suite. Entonces realiza los siguientes pasos. Ejecuta el rcu.sh (o rcu.bat si estás en Windws).

Escoge el prefijo que ya tengas, o genera uno nuevo. Selecciona la opción de OPSS:

image

Saldrá la siguiente pantalla, solicitando el password a utilizar:

image

Te dirá que se generarán los table spaces necesarios. Esto igual consúltalo con tu DBA, pues ellos regularmente tienden a cuestionar este tipo de cosas: tamaños, nombres, etc. Y si esto va a ser un cambio en Producción, con mas razón:

image

Da click en siguiente y simplemente te hará un resumen:

image

Da click en Crear y generará los objetos necesarios:

image

Finalmente terminará y te hará un resumen de lo generado:

image

Posteriormente, entra al Weblogic Console de tu dominio y genera un datasource con las siguientes opciones. Es muy relevante que te fijes en las opciones de XA, pues este DS no debe soportar XA. Si lo haces, seguramente tendrás problemas:

image

Escoge ese tipo de driver:

image

Pon atención a las siguientes opciones:

image

Ya con el datasource generado, debes de ir a la línea de comand, pues usaremos la opción de WLST para hacer la reasociación. También la puedes hacer vía Enterprise Manager, pero aquí usaremos WLST.

Conéctate tal como aparece en la siguiente pantalla y ejecuta el comando:

reassociateSecurityStore(domain="soa_domain", servertype="DB_ORACLE",datasourcename="jdbc/OPSS_DS", jpsroot="cn=SecurityStore", join="false")

El parámetro join es importante, y quizás te preguntes porqué viene en false, si justamente lo que queremos es asociarnos a una BBDD. Bien, este parámetro quiere decir que si en este repositorio ya existe un Policy Store al cual te quieras unir. En este caso no es así, pues recién lo vamos a crear.

image

Cuando terminé, debes ver lo siguiente:

image

image

Así de simple, has re-asociado a tu dominio con un Policy Store basado en BBDD. Toda la gestión la basará allí. Las estructuras y datos estarán adentro de las tablas generadas por el OPSS.

El perfilamiento que hayas hecho de tus aplicaciones (por ejemplo BPM, Composer, BAM) se migran también. No solo te genera la estructura en BBDD, pero te migra las asociaciones de roles que hayas hecho.

Para comprobar que ha sucedido bien, entra al Enterprise Manager:

image

Este procedimiento es rápido, solo ten cuidado en respaldar tu dominio, previo a que hagas los cambios. Pero en realidad el cambio lo haces en menos de una hora.

(NOTA: Si no alcanzas a ver las imágenes, da click en ellas para que las veas en su tamaño original)