Revelaciones de Oracle APEX 24.2 que Cambiarán Cómo Trabajas con JSON
Para los desarrolladores de aplicaciones, integrar datos JSON en un mundo tradicionalmente relacional ha sido a menudo un desafío. Históricamente, esto implicaba un esfuerzo considerable en la transformación de datos o la creación de complejas y frágiles consultas SQL para unir ambos mundos. Era una tarea posible, pero rara vez elegante o sencilla. Sin embargo, Oracle APEX 24.2 introduce un cambio de paradigma, una forma radicalmente más simple y potente de trabajar con datos JSON. A continuación, revelamos las 5 revelaciones más impactantes que cambiarán para siempre tu forma de interactuar con JSON en tus aplicaciones.
--------------------------------------------------------------------------------
1. No es solo una columna, es una "Colección": El nuevo paradigma para JSON en Oracle
El primer gran cambio es conceptual. Con la base de datos Oracle 23ai, se introduce la idea de "JSON Collections". Olvídate de pensar en JSON simplemente como un CLOB o BLOB dentro de una columna. El nuevo modelo mental es una "bolsa de documentos JSON", donde cada documento tiene un identificador único, _id, que se genera automáticamente si no lo proporcionas.
Esta abstracción es increíblemente flexible. Como explicó Beta Hemmet, quien ha liderado el equipo de desarrollo de JSON en Oracle durante más de una década, esta arquitectura ofrece una separación poderosa entre el concepto y la implementación.
Realmente se puede pensar en la 'JSON Collection' como el concepto de una 'interfaz' en Java, que luego se puede implementar usando una 'collection table' o 'duality views'. Y lo que es aún mejor, puedes cambiar esa implementación sin que tu aplicación tenga que ser modificada.
Esto significa que, como desarrollador, interactúas con una "Colección". Detrás de escena, esa colección puede ser implementada de dos maneras: como una JSON collection table (una nueva característica de 23ai que almacena físicamente los documentos) o como una Json relational Duality view (que presenta datos relacionales existentes como si fueran documentos JSON). Para tu aplicación APEX, ambas lucen y se comportan exactamente de la misma manera. En la práctica, esto significa que un equipo puede empezar a prototipar rápidamente con una flexible collection table y, una vez que el modelo de datos se estabiliza, migrar a una Duality View relacional optimizada para el rendimiento, sin reescribir una sola línea de código en la aplicación APEX. Se trata de un nivel de desacoplamiento que antes era impensable.
--------------------------------------------------------------------------------
2. Crea aplicaciones completas sobre JSON, sin acrobacias SQL
Este es, sin duda, el mayor avance en APEX 24.2: la capacidad de construir componentes de aplicación de forma declarativa, directamente sobre fuentes de datos JSON. Ya no necesitas escribir manualmente consultas con JSON_TABLE para exponer tus datos a los componentes de APEX.
Como demostró Carsten Sari, una amplia gama de los componentes más potentes de APEX ahora funcionan de forma nativa con JSON. Esto incluye:
- Informes Interactivos (Interactive Reports)
- Grids Interactivos (Interactive Grids)
- Formularios
- Gráficos y Dashboards
- Búsqueda por Facetas (Faceted Search)
- Configuraciones de Búsqueda (Search Configurations)
Esto es posible gracias a un nuevo tipo de componente compartido llamado "JSON Source". De forma similar a como funcionan las fuentes de datos REST, APEX analiza tus documentos JSON, descubre su estructura (incluso estructuras anidadas y arrays) y crea un "perfil de datos" con columnas virtuales. A partir de ese momento, puedes construir interfaces de usuario ricas y funcionales sobre tus colecciones de documentos JSON con la misma facilidad y velocidad que con tablas relacionales, eliminando por completo la necesidad de escribir y mantener frágiles vistas SQL con JSON_TABLE para cada componente.
--------------------------------------------------------------------------------
3. No necesitas la última base de datos para empezar
Aquí viene una de las sorpresas más gratificantes. Aunque el concepto de JSON collection table es una innovación de la base de datos 23ai, la funcionalidad "JSON Source" en APEX 24.2 es retrocompatible.
Carsten Sari lo confirmó explícitamente: la opción "table with JSON columns" dentro del asistente de creación de una "JSON Source" está disponible en la versión 19c.
Este es un punto crucial. Significa que los desarrolladores que trabajan en versiones de bases de datos más antiguas pero ampliamente extendidas pueden aprovechar inmediatamente esta nueva forma de construir aplicaciones. Puedes apuntar a una columna JSON existente en una tabla relacional en tu base de datos 19c y APEX te proporcionará casi la misma experiencia de desarrollo declarativa y de bajo código. La barrera de entrada es increíblemente baja. Esto es fundamental, ya que permite que la gran mayoría de las empresas que operan sobre versiones de base de datos Long-Term Support como la 19c puedan modernizar sus aplicaciones y adoptar patrones de desarrollo con JSON sin necesidad de una costosa y compleja migración de la base de datos subyacente.
--------------------------------------------------------------------------------
4. Uniendo los mundos NoSQL y Low-Code sin esfuerzo
La demostración de Julian Donf fue reveladora. Utilizando Mongo DB Compass, una herramienta estándar del ecosistema MongoDB, importó 225 documentos JSON de películas directamente a la colección Oracle. De forma instantánea y sin pasos intermedios, esos mismos datos estaban vivos y disponibles en APEX, listos para ser utilizados en informes y formularios.
La implicación es profunda: Oracle APEX puede actuar como una poderosa capa de aplicaciones de bajo código sobre datos que pueden originarse o ser gestionados por herramientas del ecosistema NoSQL. Esto refuerza la estrategia de "base de datos convergente" de Oracle, mostrando que no se trata de un ecosistema cerrado, sino de una plataforma que puede integrarse fluidamente con las herramientas que los desarrolladores ya conocen y utilizan.
--------------------------------------------------------------------------------
5. El poder del Low-Code con la fuerza de la base de datos: APEX hace el trabajo pesado
La simplicidad de la interfaz de APEX oculta una potencia inmensa. APEX no está simplemente leyendo y escribiendo blobs de texto JSON. Cuando interactúas con un formulario o un grid interactivo construido sobre una "JSON Source", APEX hace el trabajo pesado por ti.
Como mostró Carsten Sari al activar el modo de depuración, APEX genera automáticamente consultas SQL complejas y optimizadas. Para leer los datos y presentarlos en un informe, utiliza funciones nativas de la base de datos como JSON_TABLE. Para realizar actualizaciones, genera sentencias que utilizan JSON_TRANSFORM para aplicar "patches" o actualizaciones parciales a los documentos, lo cual es increíblemente eficiente, ya que evita la sobrecarga de reescribir el documento JSON completo por un simple cambio de valor.
Los desarrolladores obtienen lo mejor de ambos mundos: una experiencia de desarrollo declarativa y de bajo código que acelera la entrega, respaldada por toda la funcionalidad avanzada y el rendimiento del motor de base de datos de Oracle para el procesamiento de JSON.
--------------------------------------------------------------------------------
Conclusión
Oracle APEX 24.2 no solo añade una nueva característica; elimina drásticamente la fricción entre el mundo de los datos relacionales y el de los documentos JSON. Transforma el trabajo con JSON de un ejercicio de plomería de datos a una experiencia de desarrollo visual y declarativa. La promesa del low-code se extiende ahora de forma nativa a uno de los formatos de datos más ubicuos del desarrollo moderno.
Ahora que la barrera entre tus tablas relacionales y tus documentos JSON prácticamente ha desaparecido, ¿qué nuevas aplicaciones vas a construir?
Comentarios
Publicar un comentario