Al respecto del tema del uso de Javascript en la nueva base de datos 23c de Oracle, les he explicado sobre:
- Uso de Javascript en Oracle 23c, y
- Oracle 23c funciones Javascript públicas y privadas
- Oracle 23c módulos Javascript usando bfile
En esta ocasión les voy a hablar sobre dos opciones interesantes que podemos utilizar a la hora de crear módulo Javascript en la base de datos:
Agregar versión
La creación de módulos Javascript en la base de datos Oracle 23c, más específicamente la sentencia CREATE MLE MODULE, como parte de sus opciones, nos permite definir un número de versión al módulo, lo que nos permitirá tener un control sobre la versión de un módulo específico que está almacenado en la base de datos.
Esto es importante, porque de manera sencilla podemos controlar y verificar si el código ejecutándose en nuestra base de datos es o no el más reciente y por otro lado si tenemos diferentes bases de datos que impliquen diferentes necesidades, sabremos a ciencia cierta que versión de nuestros módulos estamos utilizando.
A manera de ejemplo, y sin preocuparnos por lo que la función dentro del módulo hace, a continuación pueden encontrar un ejemplo de como agregar el número de versión a un módulo Javascript.
1 2 3 4 5 6 7 8 |
CREATE MLE MODULE version_mod LANGUAGE JAVASCRIPT VERSION '1.0.0.0.0' AS export function sq(num) { return num * num; } / |
En la línea 3 del ejemplo, pueden ver que se agrega la cláusula VERSION, a la que se le asigna un valor de “1.0.0.0.0“. El esquema utilizado para definir los números de versión es completamente libre al deseo o políticas de cada organización o de usted como desarrollador si usted es un desarrollador independiente.
Agregar metadatos JSON
La otra cosa que podemos hacer cuando creamos un módulo MLE en nuestra base de datos 23c, es el agregar metadatos en formato JSON que sean de utilidad para el desarrollador.
Estos datos, al igual que el número de versión, son meramente informativos y no afectan el desempeño del módulo como tal.
El formato de los metadatos JSON no está vinculado a un esquema; el desarrollador puede agregar cualquier información que sea útil o informativa. Por ejemplo, si el módulo MLE es una fuente creada por herramientas como rollup.js o webpack, puede ser útil almacenar el archivo package-lock.json asociado junto con el módulo.
También podemos usar el campo de metadatos para crear una lista de materiales de software (SBOM pos sus siglas en inglés), permitiendo a los equipos de seguridad y los administradores realizar un seguimiento de la información sobre los paquetes implementados, especialmente en el caso de que se usen módulos de terceros.
El seguimiento de las dependencias y vulnerabilidades en el repositorio ascendente permite una identificación más sencilla de los componentes que necesitan actualización después de que se hayan informado las vulnerabilidades de seguridad.
Cómo vemos, esta funcionalidad puede tener múltiples usos dentro del ciclo de desarrollo.
A continuación un ejemplo del uso de metadatos JSON en un módulo MLE.
1 2 3 4 5 6 7 8 9 10 11 |
ALTER MLE MODULE version_mod SET METADATA USING CLOB (SELECT '{ "name": "devel", "lockfileVersion": 2, "requires": true, "packages": {} }' ) / |
Como podemos ver en el ejemplo, utilizamos la sentencia ALTER MLE MODULE para modificar el módulo version_mod que creamos más arriba y de esta manera agregar los metadatos JSON.
En este caso, estamos agregando como metadata cuatro pares de datos dentro de una objeto JSON:
- name, cuyo valor es “devel”
- lockfileVersion, con un valor de 2
- requires, definida a “true”, y
- packages, cuyo valor es un objeto vacio.
Saber más
Si quieren saber más sobre las capacidades de almacenamiento de módulos Javascript en la base de datos Oracle 23c, Aquí les dejo los siguientes enlaces: