Una propiedad definida por el usuario (UDP) es una constante definida por el usuario cuyo valor inicial lo puede modificar en el tiempo de diseño el Editor de flujos de mensajes o lo puede alterar temporalmente el Editor de archivador de intermediario en el tiempo de despliegue. Puede utilizar las UDP de los programas ESQL o Java. Por ejemplo, en ESQL se utiliza la sentencia DECLARE para definir una UDP en el programa. Puede proporcionar un valor inicial a la UDP cuando ésta se declara, pero el código no puede modificar el valor en la ejecución.
Si se proporciona un valor inicial a una UDP cuando ésta se declara, dicho valor se convierte en el valor por omisión. Sin embargo, cualquier valor especificado por el editor de flujos de mensajes durante el diseño o por el editor BAR durante el despliegue (incluso una serie de longitud cero) altera temporalmente el valor inicial declarado.
Cada UDP de un flujo de mensajes debe tener un valor, proporcionado cuando se declara la UDP o por el editor de flujos de mensajes o BAR; de lo contrario se produce un error de tiempo de despliegue. En la ejecución, después de que se haya declarado la UDP, su valor se puede consultar mediante sentencias de programa subsiguientes pero no se puede modificar.
La ventaja de las UDP es que el personal de operaciones puede cambiar los valores en el tiempo de despliegue. Por ejemplo, si utiliza las UDP para que contengan datos de configuración, significa que puede configurar un flujo de mensajes para una máquina, una tarea o un entorno determinados en el tiempo de despliegue, sin tener que cambiar el código a nivel de nodo. Por ejemplo, los plug-ins de los orígenes de datos, tales como las bases de datos, no tienen que acceder a los datos de configuración y estos datos de configuración no tienen que copiarse en árboles de entorno.
Mediante la utilización de las UDP, los datos de configuración se pueden establecer fácilmente y utilizarse igual que constantes normales. Puesto que no están implicados las llamadas externas a plug-ins escritos por el usuario ni el análisis de árboles de entorno, el código de programa es más fácil de grabar y mantener y se ejecuta mejor. Asimismo, se eliminan los costes de análisis de la lectura de datos de los árboles. El valor de la propiedad definida por el usuario se indica en la variable en el tiempo de despliegue, lo que acelera el acceso.
Sólo puede declarar las UDP en los módulos o esquemas.
Si utiliza el editor de flujos de mensajes para cambiar el valor de una propiedad definida por el usuario, el valor de la UDP se establece a nivel de flujo y es el mismo para todos los nodos elegibles contenidos en el flujo. (Un "nodo elegible" es un nodo que soporta las UDP y está en el ámbito de la declaración que declara la UDP en la aplicación.) Por ejemplo, si utiliza el editor de flujos de mensajes para cambiar el valor de una propiedad de usuario denominada "timezone", que se declara en un esquema denominado "mySchema", en un flujo de mensajes denominado "myFlow", la UDP está disponible en la ejecución para todos los nodos de myFlow que soportan las UDP y están en mySchema.