Gestión de propiedades en la base de datos
Puede utilizar la base de datos para almacenar propiedades y después gestionar las propiedades en la consola de administración de sistema.
Propiedades
Las propiedades se definen y publican en IBM Sterling® Order Management System para controlar las operaciones empresariales. Las propiedades también se utilizan para establecer los parámetros de conexión a las distintas aplicaciones middleware en el despliegue de IBM Sterling Order Management System y también en la integración con otras aplicaciones empresariales.
Puede personalizar el comportamiento predeterminado modificando los valores de las propiedades de modo que satisfagan sus necesidades técnicas y de negocio. Estas propiedades se categorizan y almacenan en sus archivos de instalación respectivos (archivos .in). Los archivos de propiedades reales se generan durante la instalación de IBM Sterling Order Management System con los valores establecidos en el archivo sandbox.cfg. Normalmente, los cambios en las propiedades no se llevan a cabo en los archivos de propiedades predeterminados; en su lugar se alteran en el archivo customer_overrides.properties.
Limitaciones de la gestión de propiedades en archivos
Actualmente, las propiedades utilizadas por la plataforma y las aplicaciones IBM Sterling Order Management System se basan en ficheros. Este mecanismo no permite cambios en las propiedades en tiempo de ejecución. Las máquinas virtuales Java (JVM) deben reiniciarse si desea modificar un valor de propiedad.
El valor de una propiedad sigue siendo el mismo para el servidor de aplicaciones y todos los servidores de agentes o integraciones y también para todos los usuarios. Aunque las anulaciones de propiedades a nivel de servidor se pueden conseguir especificando un archivo vendor separado que apunte a un archivo customer_overrides.properties diferente mientras se inicializa la JVM, sólo es práctico en una instalación On-Premise de IBM Sterling Order Management System.
Las propiedades no son todas iguales; son distintas en la inicialización, en el consumo y en la modificación. El enfoque actual de publicar archivos .in no articula sus características, cuándo y dónde se lee, cuando se puede modificar o si el valor modificado entra en vigor inmediatamente.
Todas las propiedades, que puede modificar, se pueden gestionar utilizando la interfaz de usuario de la consola de administración del sistema.
Manejo de propiedades a través de base de datos
- Se define un metadatos para cada propiedad para describir sus características.
- Se ha introducido un script de línea de mandatos para cargar los metadatos y la declaración de propiedades en la base de datos.
- La lógica de recuperación de propiedades se ha modificado para buscar primero la propiedad en la base de datos y volver a los archivos sólo si la propiedad no se encuentra en la base de datos.
- Se añade una interfaz de usuario de gestión de propiedades para interactuar con la base de datos para poder añadir, cambiar o suprimir asignaciones de propiedades. Las operaciones que están permitidas en una propiedad, basándose en sus metadatos, están permitidas desde la interfaz de usuario. Puede utilizar la misma interfaz de usuario para establecer los valores de sustitución de propiedades a nivel de usuario y servidor.
- Se ha introducido otro script de línea de mandatos para importar las alteraciones temporales del sistema de archivos, como las especificaciones del archivo
customer_overrides.properties. Esto establecerá el valor de la propiedad es base de datos para que las especificaciones de cliente se lean correctamente al recuperar los valores de propiedad. - El mecanismo db-cache se utiliza para difundir los cambios en los valores de las propiedades a todas las JVM de Sterling™ Order Management System activas.
Flujo de lógica de recuperación de propiedades

El modelado de metadatos de propiedades
| Nombre de columna | Descripción |
| Categoría | La categoría a la que la propiedad pertenece. Por ejemplo, yfs o jdbc. |
| BASE_PROPERTY_NAME | Nombre de la propiedad. |
| PROPERTY_TYPE | Indica si se ha definido en los archivos de propiedades predeterminados o una propiedad personalizada. Se indica como SYSTEM o CUSTOM. |
| DATA_TYPE | El tipo de datos Java retenido por esta propiedad. |
| MODIFIABLE | Indica si la propiedad puede modificarse o sustituirse. |
| MODIFIABLE_AT_RUNTIME | Especifica si esta propiedad se puede modificar una vez que la aplicación está en ejecución y entra en vigor inmediatamente. |
| PERMISSIBLE_VALUES | Los datos que esta propiedad puede mantener. Se almacenará como XML. |
| DESCRIPCIÓN | Almacena la descripción de propiedad. |
| SERVER_OVERRIDE | Especifica si esta propiedad es sustituida por un servidor de aplicaciones, agente o servidor de integración. |
| USER_OVERRIDE | Especifica si esta propiedad se sustituye para un usuario que ha iniciado la sesión. |
El modelado de propiedades
| Nombre de columna | Descripción |
| Categoría | La categoría a la que la propiedad pertenece. Por ejemplo, yfs o jdbc. |
| BASE_PROPERTY_NAME | Nombre de la propiedad. |
| FACTORY_VALUE | El valor predeterminado de la propiedad. |
| PROPERTY_OVERRIDE | Especifica quién ha sustituido la propiedad. El valor 'BASE' indica la propiedad base. Los valores permitidos son BASE, SERVER y USER. |
| PROPERTY_OVERRIDE_NAME | Nombre sustituido de la propiedad. Este valor está en blanco para las propiedades base. |
| PROPERTY_VALUE | El valor de la propiedad. |
| USER_COMMENT | Para almacenar comentarios cuando se modifica o altera una propiedad. |
Codificación de archivo de propiedades
Las propiedades siguen almacenándose de forma predeterminada. Se presenta una serie de conjuntos de códigos bien definidos para establecer las características de propiedades, mientras se definen en los archivos de propiedades y para cargarlos en la base de datos de forma más eficaz. Estos códigos significan normalmente el nombre de propiedad, los valores posibles, el valor de fábrica, la descripción y otros valores de definición.
## PROPERTY_START
## PROPERTY_NAME: yantra.hm.purge.interval
## DATABASE_SUPPORT: Y
## EXTENDED_PROPERTY: N
## MODIFIABLE: Y
## MODIFIABLE_AT_RUNTIME: N
## SERVER_OVERRIDE: N
## USER_OVERRIDE: N
## PROPERTY_GROUP: System management - health monitor
## PROPERTY_TYPE: Integer
## PROPERTY_DESCRIPTION
## Health monitor purge interval in days. System default value used for purging heartbeat,
## snapshot, and page cache records.
## If this value is not specified, the default value is 30 days.
#yantra.hm.purge.interval=
## PROPERTY_END
- PROPERTY_NAME
- Nombre de la propiedad. En este ejemplo, el nombre de la propiedad es
yfs.config.password.noprompt. - DATABASE_SUPPORT
- Indica si una propiedad está soportada en la base de datos. Las propiedades que son necesarias en la producción se cargan en la base de datos.
El valor predeterminado es
Y. - EXTENDED_PROPERTY
- Indica si una propiedad se sustituye. Si se establece en
Y, no es necesario volver a documentar los códigos, sólo el valor. Este código no se guarda en la base de datos. - MODIFIABLE
- Necesario: indica si una propiedad puede modificarse. Si no es así, la propiedad no se debe modificar ni sustituir. Dichas propiedades únicamente son para fines informativos.
Si una propiedad está marcada como no modificable, no se tiene en cuenta ningún otro código. Estas propiedades no pueden modificarse ni sustituirse desde cualquier interfaz de usuario y su valor no puede cambiarse con la herramienta manageProperties.
El valor predeterminado es
Y. - MODIFIABLE_AT_RUNTIME
- Necesaria: indica si una propiedad puede modificarse en el tiempo de ejecución. Las propiedades que requieren un reinicio de servidor deben marcarse como no modificables en tiempo de ejecución.
- SERVER_OVERRIDE
- Necesaria: indica las propiedades para las que distintos agentes pueden tener valores diferentes. Si se establece en
Y, distintos servidores pueden tener valores diferentes. - USER_OVERRIDE
- Necesaria: indica las propiedades para las que distintos usuarios pueden tener valores diferentes. Si se establece en
Y, distintos usuarios pueden tener valores diferentes. - PROPERTY_GROUP
- El grupo de propiedades. En este ejemplo, el grupo de propiedades es interfaz de usuario.
- PROPERTY_TYPE
- El tipo de propiedad. En este ejemplo, el tipo de propiedad es booleano.
- PROPERTY_PERMISSIBLE_VALUES
- Los valores permitidos para la propiedad. En este ejemplo, los valores permitidos para la propiedad son Y, N.
- PROPERTY_DESCRIPTION
- La descripción de la propiedad.
Las propiedades con el código DATABASE_SUPPORT='N' no se cargarán en la base de datos. En cambio, se listarán en el archivo filesystem.properties. Si una entrada para la propiedad se encuentra en el archivo filesystem.properties, no se buscará en la base de datos.
- Propiedades JDBC y de registro
- sandbox.cfg
- servers.properties
- vendor.properties
- security.properties
- logfilter.properties
- logCodes.properties
- logMessageCodes.properties
- tuning.properties
Las propiedades JDBC son necesarias antes de que se establezca una conexión con la base de datos y por lo tanto nunca pueden almacenarse en la base de datos. De forma parecida, las propiedades de registro no están almacenadas en la base de datos. Las propiedades de recinto de pruebas son necesarias para la instalación y se utilizan para generar otras propiedades y no están almacenadas en la base de datos.
La propiedad DATABASE_PROPERTY_MANAGEMENT se introduce en el archivo sandbox.cfg para permitir la gestión de propiedades en la base de datos a través de IBM Sterling Order Management System. Esta opción está configurada como falsa, pero está activada de forma predeterminada para la oferta de IBM Sterling Order Management System en la nube.