febrero 26, 2010

Migrando del ALBPM 6.0 al OBPM 10.3

Una de las tareas que he tenido que hacer ultimamente es una migración de un proyecto que se encuentra en el BPM de AquaLogic 6.0 (cuando todavía le pertenecía a BEA) hacía la versión 10.3 que ahora se llama Oracle BPM.
Me dijeron: tienes que instalar la nueva versión en un cluster de weblogic, despliegas las aplicaciones y listo...
Quiero pensar que eso me dijeron pero no lo creían en verdad... en fin, me puse a pensar en las implicaciones: las instancias de procesos existentes, las bases de datos de los procesos y la app si es que tiene, los servicios que utilizan, compatibilidad, etc, que se yo, nisiquiera conocía el BPM de Oracle... jaja, así es, había trabajado con el de IBM pero nunca con el de BEA - Oracle.
Me puse a investigar y encontré la Oracle BPM 10.3 Upgrade guide muy sencilla y al parecer efectiva. No creo que tenga mayor caso repetir todo lo que dice la guia, está mas o menos documentado todo el proceso. Digo mas o menos porque uno de los prerequisitos es que el que está haciendo la migración debe dominar ALBPM 6.0 y por lo tanto omiten muchas cosas "obvias".
Para todos aquellos que no quieran leer la guía de Oracle o quieran algo mas puntual y directo de lo que tienen que hacer aquí está la guía:


Supuestos
Supongamos que vamos a migrar el BPM 6.0 al 10.3, con esto me refiero a una serie de aplicaciones (ear) que estan actualmente instaladas. Obviamente debemos tener el weblogic con su BPM instalado y funcionando en la versión 6.0.


Implicaciones
  1. Hay que migrar el código, es decir: hacer cambios en los proyectos actuales. No pretendo profundizar en eso porque lo único que hay que hacer es ajustarlo debido a que la interpretación de los tipos de datos decimales cambio como se explica en esta parte de la guía.
  2. Actualizar el ambiente del 6 al 10.3. Es aquí donde viene lo divertido (no complicado) y donde suelen pasar cosas "extrañas".
  3. Instalar las apps en el nuevo ambiente de trabajo 10.3 una vez migrado.


El detalle del paso 2
**Primero apagamos todo lo que tiene que ver con el engine del ambiente 6.0.
**Removemos las apps del engine y workspace del weblogic y lo apagamos. El objetivo de esto es que no se creen nuevas instancias de procesos, se modifiquen las existentes o se interfiera con la base de datos.
**Preparamos el nuevo weblogic para el ambiente 10.3, lo instalamos y creamos el nuevo dominio donde vamos a desplegar el engine del BPM. Aquí lo pueden hacer como mas les guste y tienen que agregar su configuración de cluster y toda la tropicalización que necesiten para su ambiente.
**Ahora vamos a crear la configuración del OBPM desde el Admin Center:


  1. Elijan la opción de usar servicio de directorio existente (Use existing directory service).
  2. NO deben seleccionar la opción Create Process Engine.
  3. NO deben seleccionar la opción Create Oracle BPM application EAR files (por default esta opción está deshabilitada si no eligieron la opción anterior).
  4. Elijan la opción de configurarWeblogic (Oracle WebLogic configuration) y hagan click en siguiente.
  5. En la pantalla del tipo de proveedor de directorio deben utilizar la configuración que tiene actualmente su BPM 6. Si es LDAP apuntan a su servidor LDAP, pero si es una administrada por Oracle deben utilizar la misma base de datos y usuario que utiliza actualmente su instalación de BPM 6. Remarco esto porque el nuevo engine del BPM se conectará a la BD con el usuario que actualmente tiene y en su primera vez, cuando detecte que es una BD de un BPM 6, ejecutará una serie de operaciones para actualizar el catálogo que esten utilizando. También es importante que el usuario tenga permisos de create, insert, update, drop. Por default los tiene.
  6. En la siguiente pantalla les pedirá el usuario y contraseña del directorio que quieren utilizar. Deben de ser los que utiliza actualmente su BPM 6.
  7. En la siguiente pantalla les pedirá los datos de la BD del directorio. Recuerden utilizar los mismos que tienen en su configuración actual del BPM 6.
  8. Finalmente en la siguiente pantalla deberán colocar la información del dominio de weblogic que quieren utilizar. Esta configuración es la del nuevo servidor weblogic donde se va a instalar el nuevo engine del BPM 10.3


**Al oprimir el botón "siguiente" se comenzará a crear el nuevo engine del OBPM en el dominio elegido. Si toda la configuración estuvo correcta terminará sin problemas, de lo contrario tendrán que revisar su información e intentarlo de nuevo hasta que la configuración sea exitosa.
**Ahora levanten el Administrador de procesos, pueden hacerlo desde el centro de administración o desde línea de comandos, como prefieran.
**Entren a la aplicación webconsole y luego a su nuevo engine.
**Una vez en el engine revisen su configuración para ajustarla al nuevo ambiente, de entrada tienen que cambiar el Home Directory y Log Directory. Además deben revisar los datasources que se encuentran en el nuevo weblogic. Hasta este punto ya debe de estar desplegada la app del deployer y creado el datasource del directorio, hay que modificar el nombre JNDI de ese datasource para que se llame igual a como se llamaba antes en el ambiente 6.0. Adicionalmente deben crear el datasource que apunte a la BD del engine, ese lo pueden copiar de su viejo weblogic (siempre y cuando hayan eliminado la app del engine y workspace, de lo contrario cuando levanten el viejo servidor para revisar la configuración estas apps podrían tratar de moficiar la BD, la cual ya está actualizada).
**Una vez ajustadas todas las variables necesarias tanto en el Administrador de Procesos como en el WebLogic (los datasources muy importantes) construyan y desplieguen las aplicaciones del engine y workspace.


Para terminar
Finalmente, si no hubo ningún error, deben instalar los ears ya corregidos (recuerden el detalle de los decimales) y listo, su ambiente 10.3 está corriendo junto con todo el trabajo pendiente que dejó el 6.0.