Transformaciones Reutilizables: Mapplets

En la presente entrada se abordarán las transformaciones reutilizables y los mapplets, unas de las técnicas más importantes para la realización de procesos PowerCenter más flexibles y eficientes.

¿Qué es una transformación reutilizable?

Una transformación reutilizable es aquella que puede ser utilizada en varios mapas o mapplets. Este tipo de transformaciones permiten que los cambios que se realicen sobre ellas sean heredados por los procesos que las usan, facilitando así la reutilización y el mantenimiento del código.

¿Qué es un mapplet?

Un mapplet es una transformación reutilizable que se usa dentro de los mappings. Su principal objetivo es agrupar un conjunto de transformaciones para realizar una misma tarea en varios mapas.
Cuando existen un conjunto de transformaciones y reglas que se repetirán varias veces, es conveniente incorporarlas a un mapplet y de esta forma, evitar tener que agregarlas en todos los procesos. De esta forma, si una de las reglas cambia, la modificación no habrá que realizarla en todos los procesos y solo habrá que habría que corregir el mapplet.

Estructura de mapplet

La estructura se conforma de tres principales componentes: input, output y transformaciones:

  • Input: Puerto de entrada para el mapplet
  • Transformaciones: Objetos que aplicarán las reglas de negocio a los datos, son las transformaciones que fueron identificadas previamente como complejas o repetitivas
  • Output: Puerto de salida, resultado generado por el mapplet

Creación de mapplets

Para la creación de un mapplet, hay que situarse en el icono  , el cual abrirá la pantalla del Mapplet Designer.

  • Una vez aquí, es posible crear un mapplet y asignarle un nombre navegando a través de ‘mapplets menu’: ‘create’.

  • En el explorador de objetos se pueden ver los mapplet creados:

  • Una vez creado, se deben definir los input y output:

  • Se deben agregar los puertos que tendrá el input. Para esto, existen dos formas de hacerlo:
    • Agregando cada puerto manualmente
    • Desde una transformación de la cuál se quieren tomar los nombres, arrastrar los puertos al input

  • Una vez agregados tanto el input como el output, se agregan las transformaciones necesarias para desarrollar la lógica de negocio deseada:

  • Desde la opción ‘mapping designer’, es posible agregar el mapplet al mapping(s) arrastrando este desde el explorador de objetos.

  • Una vez en el mapping, se asignan los puertos de insumo para el mapplet y se indica qué puertos del mapplet desean ser utilizados como salida, conectando aquellas transformaciones que lo consumirán o bien, aquellas que serán fuente de entrada.
  • Dentro de un mapping reusable, es posible hacer uso de variables y/o parámetros. Para esto, se accede a ‘mapplets menu’: ‘parameters and variables’ y se declaran las variables y los parámetros necesarios.
  • Cuando se configura el mapping en la sesión, se puede observar todas las transformaciones que contiene el mapplet como en la siguiente imagen:

Limitaciones

Existes algunas transformaciones que no son soportadas dentro de los mapplets. Entre ellas, podemos encontrar:

Source Definition (Cobol) Normalizer Target Definition Otro Mapplet XML Source

En esta entrada, hemos visto una de las transformaciones reutilizables más utilizadas en el desarrollo de ETL. Las ventajas de utilizarlas es que ayudan a reusar código cuando se tienen reglas repetitivas o complejas y los cambios realizados se heredan automáticamente a todos los mapas que la usan. Usarlos dependerá de la necesidades de cada proyecto y cliente.