En el mundo de la programación, la reusabilidad es un concepto altamente utilizado. Se trata de una técnica que permite agilizar, encapsular y facilitar el mantenimiento de desarrollos. Informatica Powercenter brinda la posibilidad de aplicar estas técnicas mediante el uso de algo llamado User Defined Functions (UDFs).
¿Qué son las User Defined Functions (UDFs)?
En términos simples, se trata de código que, ya sea por su complejidad o por ser repetitivo, puede ser encapsulado y reusado en varios procesos. Por ejemplo, si se cuenta con una transformación Expression que calcule la edad a partir de una fecha proporcionada, y este paso se repite en más de un proceso, podemos generar una UDF con esta regla.
¿Cuándo usamos las UDFs?
No existe una regla general que aplique para el uso de UDFs, lo que se requiere es de una buena anticipación e identificación de las principales reglas de negocio, poniendo especial atención a aquellas que se repiten con mayor frecuencia o bien, las más complejas.
¿Qué tipos de UDFs existen? ¿Cuáles son sus propiedades?
Públicas | Su alance es global, lo que significa que está expuesta y puede ser invocada desde cualquier transformación que cuente Expression Editor del proceso, por ejemplo, desde una transformación Expression, Aggregator, Router, etc. |
Privadas | Sólo puede ser llamada desde otra UDF, no puede ser invocada desde ningún Expression Editor |
Cualquiera de las dos versiones de las UDFs, requiere de configurar las siguientes propiedades:
|
Beneficios sobre el uso de UDFs
Reutilización de código | Permite encapsular código y reusarlo, lo que se traduce como menor tiempo de desarrollo |
Trazabilidad | Es posible rastrear fácilmente e identificar el lugar en el que se aplican las reglas de negocio reusables |
Mantenimiento | Facilita el mantenimiento de reglas de negocio ya que se encuentran encapsuladas. Si estas reglas se repiten y/o son complejas, no es necesario buscar en cada uno de los procesos en los que esta regla es aplicada, ¡pues viven en un sólo sitio! |
Ejemplo de uso
A continuación se presenta una serie de pasos a seguir para la creación de una UDF dentro del Designer.
- En la ventana del explorador de objetos, no dirigimos a la carpeta User-Defined Functions y hacemos clic derecho/New:
Nueva User Defined Functions (UDFs)
- Como siguiente paso, aparecerá la ventana que nos permite editar las propiedades de la UDF, en la que se debe:
|
Propiedades de UDF
- Se muestra la ventana del Expression Editor que permite establecer la lógica a aplicar a los argumentos. Una vez definida la expresión a aplicar, la propiedad Return Type de la UDF será rellenada de manera automática en función de la respuesta de la UDF (en nuestro ejemplo, un integer).
Edición de transformaciones
- La UDF es visible en el explorador de objetos. Por consiguiente, será posible invocarla desde cualquier mapping.
UDF Creada
- Desde un mapping, podremos invocar la función que estará disponible desde cualquier transformación que permita el Expression Editor.
Invocación de UDF
Para terminar, podríamos mencionar que las UDFs forman parte de la aplicación de best practices dentro de la metodología de desarrollo de ETLs (Velocity).