Hoja de ruta para la migración de AE4 a Bussiness Works
De Wiki Asqueados
Preparativos
- Descargar el adaptador y el IM del PVCS.
- Descargar documentación del XML Canon.
- MOI
- ESM
- XSD
- exp
- Descargar un proceso ya migrado en el que nos fijaremos para ver los detalles.
- Mirar en qué máquina se ejecuta el Adaptador y el IM en cada entorno.
- Compilar y probar el adaptador en el entorno de desarrollo.
- Generar los XML de prueba a partir de los XSDs con el XMLSpy.
- Usar jspet para simular los mensajes.
- Contrastar el MOI con la estructura de los objetos en el IM.
- Contrastar los EOM con los mapeos en el IM y en el MOU.
GDP
- Crear el proyecto de BW.
- Importar el fichero Base.zip (obtenido de PVCS).
- Si se usa Adaptador de Eventos, importar también el AdaptadorEventosBase.zip.
- Si se usa Librería de Acceso al Middleware, importar también el libAccMiddlewareC.zip (libAccMiddlewareJava.zip si el adaptador es Java).
- Crear las clases en el BW como las clases (corregidas) de AE4.
- Objetos de negocio
- Crear las clases para los errores específicos del adaptador (ej: NORM_ERR-000001).
- No olvidar dar valores iniciales a los atributos.
- Servicios
- Crear los Esquemas a partir de los XSDs.
- Crear adaptador pesado.
- Añadirle el Security Plugin en Message Filter.
- Crear las sesiones (RV y RVCMQ).
- Crear publicadores y subscriptores (en Adapter Services).
- En las operaciones seguras el subscriptor empieza por SEC_.
- Crear Metadata URLs:
- AESchemas/ae/AMENA/MOVILES/COMUN.aeschema
- AESchemas/ae/AMENA/MOVILES/COMUN/TRAZAS/CORE.aeschema
- AESchemas/ae/AMENA/MOVILES/COMUN/ERRORES/CORE.aeschema
- AESchemas/ae/AMENA/MOVILES/SERVICIOS/COMUN.aeschema
- Operaciones
- Objetos de negocio y secuencias.
- Errores y trazas propios, si los hay.
- Crear las propiedades extendidas (menú resources), a raíz de las CustomProperties de AE4 (pestaña custom del adaptador en designer).
- Añadir una propiedad llamada "sistema" cuyo valor es el nombre del adaptador (por ejemplo, "AdaptadorNormalizacion").
- Crear AdaptadorDummyLigero.
- El Instance Name es AdaptadorDummyLigero, pero el SDK AppName es DummyLigero.
- Añadirle el Security Plugin como arriba.
- Crear una sesión RV.
- Crear publicadores y subscriptores.
- En las operaciones seguras el publicador empieza por SEC_.
- Un publicador para cada operación.
- Un sólo subsrcriptor llamado RECIBE_RESPUESTA.
- Asegurarse de que el tamaño de los logs de los adaptadores es el correcto.
- Crear los procesos de negocio (mirar la estructura en alguno ya hecho).
- Crear el archivo para despliegue: EAR.
- Añadir en la carpeta raíz un Enterprise Archive.
- Añadir dentro de ese archivo un Process Archive. Incluir en él todos los procesos.
- Añadir un AdapterArchive y enlazarlo con el adaptador que ya tenemos.
- Si tenemos adaptador de eventos, hacer lo propio para él.
- Lo mismo con la librería de acceso al middleware.
- Verificar.
- Construir el archivo.
- Con el Administrator, desplegar el archivo EAR que hemos obtenido en el punto anterior.
- Probar que el GDP reacciona adecuadamente ante errores en la entrada (atributos o elementos que faltan, etc).
- Poner el GDP en el Designer en modo prueba y lanzar las peticiones desde la máquina remota.
Adaptador
- Adaptar el código fuente de las callbacks a los (pocos) cambios necesarios (ver otro proyecto).
- En todos:
- Cambiar en los comentarios las referencias obsoletas sobre la empresa, etc.
- Asegurarse que siempre que se libere un puntero (delete) se le asigne NULL.
- Añadir EndPoint al final de los nombres de publicadores y subscriptores (puede aparecer en diferentes archivos).
- Si en algún fichero se usa ObtenerParametro, cambiar customProperties por extendedProperties (verificar que sean las rutas adecuadas) en el Adaptador del GDP.
- En Cargador:
- Añadir SEC al principio del nombre del subscriptor para las operaciones que sean seguras.
- El método RegistrarCallback (de la clase CApp) ya no tiene el último argumento (MTrue).
- En CCbk:
- En onEvent, se añade la variable pMensajeParaError, que se inicializa y se le asigna un tracking (ver en el ejemplo).
- En makefile:
- Clarificar el código lo máximo posible. Hacer uso intensivo de variables para referenciar a los directorios.
- Cambiar los directorios de los includes del Maverick y el coreAdaptador.
- Cambiar coreAdaptador por coreAdaptadorAE5.
- Cambiar lanzaderaAdaptador por lanzaderaAdaptadorAE5.
- Cambiar -lmaverick41 por -lmaverick50.
- En todos:
- Cambiar el script de arranque del adaptador.
- Revisar todas las rutas de archivo y cambiarlas por lo que sea apropiado.
- Donde pone coreAdaptador, poner coreAdaptadorAE5.
- Donde pone lanzaderaAdaptador, poner lanzaderaAdaptadorAE5.
- Cambiar el CONFIG_URL, según algún sistema que ya esté migrado.
- Incluir la variable INSTANCEID, según sistema ya migrado.
- Meter la ruta del Security Plugin (export FILE_CONFIG_SP=$HOME/cfg/SecurityPlugin/securityplugin.cfg).
- Meter la ruta del SECURITY_PLUGIN_HOME e incluírla en el LD_LIBRARY_PATH.
- Si es necesario, cambiar el nombre del script según los estándares actuales (Adaptador<nombre_sistema>.sh).
Despliegue y pruebas
- Usar el GenFilesBW para generar el script de arranque del GdP y los .sql que se usan para la base de datos.
- Entrar en tibco1_d con el usuario tibbw.
- Ir a ~/util/GenFilesBW/script
- Ejecutar el script y seguir las instrucciones.
- Usar los .sql para generar las tablas en las bases de datos que indica el GenFilesBW.
- Los .sql se ejecutan en la BD mdwcrmd.
- El dbs_oracle_NombreRepositorio.sql con el usuario mdwae_own.
- El dbs_oracle_NombreRepositorio_Sinonim.sql con mdwae_prd.
- Se usan los usuarios descritos en la salida del script.
- Los .sql se ejecutan en la BD mdwcrmd.
- Poner el script y los .sql del GdP en el entorno correspondiente (por ejemplo, system test).
- Arrancar el adaptador y probarlo con el nuevo GdP.
- Probar el Adaptador de Eventos.
- Probar la Librería de Acceso al Middleware.
- Usar el genbwxml para generar los ficheros XML de despliegue.
- Entrar en tibco1_d con el usuario tibbw.
- Ir a ~/util/genbwxml/script
- Ejecutar el script y seguir las instrucciones.
- Probar el despliegue con el XML.
- Descargar una delivery de otro proyecto y usarla como base para la nuestra propia.