Ir al contenido principal

Entradas

Mostrando entradas de 2023

APEX 02-11 - Cosa Número 10 de 10: Auditoría de Seguridad / Escaneo

Por último, pero DEFINITIVAMENTE no menos importante, para redondear nuestros 10 elementos principales para incluir en tu próximo proyecto de Oracle APEX es una auditoría de seguridad. Hay una serie de amenazas comunes para cualquier aplicación web moderna que puede poner en grave riesgo tus datos y los datos y privacidad de tus usuarios. Es posible que te interese obtener más información sobre el documento de los 10 OWASP ( https://owasp.org/www-project-top-ten/ ) principales que representa un amplio consenso sobre los riesgos de seguridad actuales más críticos para las aplicaciones web. Los desarrolladores deben comprender los conceptos básicos sobre cómo proteger sus aplicaciones Oracle APEX, pero también hay una serie de herramientas disponibles que resaltarán las fallas y los riesgos potenciales. Los desarrolladores siempre deben ejecutar el APEX Advisor en sus aplicaciones y, aún mejor, aprovechar herramientas como APEX Sert ( https://github.com/OraOpenSource/apex-sert ) o APEX

APEX 02-10 - Cosa Número 9 de 10: Auditoría / Diario

Muchas veces, las columnas de auditoría de las tablas serán suficientes. ¿Cuándo se creó el registro y por quién? ¿Quién lo actualizó por última vez y cuándo? Pero cuando las columnas de auditoría no son suficientes y se necesita un seguimiento detallado de los cambios, incluidos los valores antiguos y nuevos para todos los cambios, se deberá decidir una estrategia de auditoría. Lo bueno es que hay muchas opciones excelentes disponibles que probablemente brinden las capacidades de auditoría que se necesiten.  Puedes utilizar Flashback Data Archive ( https://oracle-base.com/articles/12c/flashback-data-archive-fda-enhancements-12cr1 ) que es compatible con Oracle y se ajusta automáticamente a los cambios en las tablas.  Cuando no puedas utilizar FDA, Connor McDonal tiene un activador de auditoría / generador de paquetes para tablas de Oracle ( https://github.com/connormcd/audit_utility ) que es muy interesante. El SQL Developer Data Modeler también ofrece funcionalidad de registro en d

APEX 02-09 - Cosa Número 8 de 10: Gestión de Errores / Instrumentación de código

Decide con anticipación como manejarás los errores en tu aplicación y como instrumentarás su código.  No existe una sola forma correcta de hacer esto, pero debes asegurarte de decidir cómo manejarás los diferentes tipos de errores que pueden suceder ( y sucederán ) en tus aplicaciones de producción. Junto a varios equipos APEX he incorporado una metodología para la creación de métodos y gestión de errores mediante validación junto  con asistencia  d el paquete APEX_DEBUG. Esta metodología se basa en una adaptación del patron MVC (Model - View - Controller), donde el controlador forma una parte fundamental para la validación y el mantenimiento de la consistencia. Una vez más, al igual que con muchos puntos enumerados anteriormente, es importante tomar una decisión para tu proyecto y manejar los errores con elegancia de tal manera a que los usuarios no se rasquen la cabeza para poder identificar claramente lo que salió mal y porqué. Esto es muy importante. Creditos: Esta serie se ha basa

APEX 02-08 - Cosa Número 7 de 10: Estándares de desarrollo APEX

Tener un conjunto de estándares de desarrollo de Oracle APEX y mejores prácticas a las que adherirse garantizará que se creen aplicaciones escalables, seguras y visualmente atractivas. En tal sentido, durante los años he definido un conjunto de estándares de codificación en Oracle APEX que me aseguro de que todos los desarrolladores sigan tanto como sea posible.  Por supuesto, cada proyecto es diferente, y si un cliente tiene estándares diferentes, trabajo con sus estándares, p ero, nuevamente, los estándares aseguran la consistencia en todo el equipo y entre varias aplicaciones, y te preparan para el éxito en los años venideros. Entre algunos ejemplos de estándares de desarrollo que en APEX pueden incluir se encuentran: • Incorporar a todas las páginas esquemas de autorización • Agregar texto de ayuda a todos los elementos • Asegurarse de que siempre se escapen los caracteres especiales ¿Quieres un buen comienzo para tus propios estándares? Pues echa un vistazo a la publicación

APEX 02-07 - Cosa Número 6 de 10: Las Pruebas SQL y PL/SQL

Al planificar tu proyecto, asegúrate de incluir pruebas unitarias y de regresión de tu código SQL y PL/SQL. Incorpora esto en la línea de tiempo de tu proyecto y establece las expectativas del cliente en torno a él. Aquí hay algunas opciones a considerar para las pruebas de SQL y PL/SQL. 1. UtPLSQL ( http://utplsql.org/ ) es el mejor y más popular marco de trabajo de código abierto para probar el código de la base de datos Oracle 2. Pruebas unitarias de SQL Developer ( https://docs.oracle.com/cd/E15846_01/doc.21/e15222/unit_testing.htm#RPTUG45000 ). No es tan potente como utPLSQL, pero está integrado en la IDE 3. Pruebas ad-hoc, lo que significa que no tienes ningún script de prueba que puedas ejecutar según sea necesario. En su lugar, ejecutas scripts y consultas para verificar que los casos de uso esperados se realicen correctamente. 4. Puedes usar un arnés de prueba hecho a medida, esto es un marco que contenga scripts para ejecutar pruebas, recopilar resultados, compararlos

APEX 02-06 - Cosa Número 5 de 10: Los estándares de SQL y PL/SQL

Aunque APEX es una plataforma de desarrollo de bajo código, rara vez nos salimos con la nuestra con proyectos que no involucren al menos algo de código. Muchos, de hecho, involucran MUCHO código y lo más probable es que el tuyo también lo haga. El código SQL y PL/SQL es fundamentalmente uno de los códigos más importantes que escribo para mis clientes y socios. La diferencia entre un SQL y PL/SQL que funciona bien y otro que no funciona puede ser la diferencia entre un sistema exitoso y una gran decepción. Ya sea que te guste tu código en minúsculas o mayúsculas o prefieras los nombres de tus tablas en singular o plural, o tengas preferencias particulares sobre el formato del código, es importante tener estándares que estén documentados e implementados en tu base de código. Mis estándares de codificación SQL y PL/SQL están adaptados de trivadis ( https://trivadis.github.io/plsql-and-sql-coding-guidelines/v4.3/ ) y, sean cuales sean tus estándares, asegúrate de comunicarlos bien a todo t

APEX 02-05 - Cosa Número 4 de 10: DevOps y CI/CD

DevOps es un conjunto de prácticas para compilar, probar y publicar su código en pasos pequeños y frecuencias. Una de las prácticas principales de DevOps es una integración continua, que hace que los desarrolladores se comprometan con un repositorio compartido con frecuencia, a menudo a diario, una de esas herramientas en el repositorio de control de código fuente que hemos visto anteriormente. Los chicos de Insum han creado una metodología para implementaciones de Oracle APEX utilizando un proyecto en GitHub el cual recomiendo ampliamente y que puedes ver en el enlace que aparece a continuación https://github.com/insum-labs/starter-project-template Muchos pasos de las implementaciones que he realizado en Oracle APEX están automatizadas, esto permite aumentar la eficiencia del equipo y como resultado, mejora la velocidad y la estabilidad de las implementaciones. Creditos: Esta serie se ha basada en la publicación de INSUM, adaptada del ingles y con mis contribuciones adicionales. Pue

APEX 02.04 - Cosa Numero 3 de 10 - El Control del Código Fuente

Recuerdo un evento en una época pasada en el cual uno de los presentadores preguntó a la audiencia cuántos de nosotros utilizábamos la base de datos como nuestro repositorio de código.  No me atreví a levantar la mano y mirando alrededor, vi que nadie lo hizo. El orador nos llamó mentirosos y al menos por mí, algo de razón tenía. Con el paso del tiempo he aprendido de este error. El control de código fuente es un sistema que te permite realizar un seguimiento de los cambios en tu código a lo largo del tiempo. Esto es importante por varias razones:  Permite retroceder en el tiempo y ver cómo ha cambiado su código.  Podemos realizar un seguimiento de quién realizó qué cambios y cuando.  Es posible fusionar el trabajo de varios desarrolladores Si estás utilizando una base de datos como control de fuente, definitivamente lo estás haciendo mal. Pero no te preocupes, no es necesario que levantes la mano. Algunas herramientas de control de fuente que puedes considera (y no es una lista exhaus

APEX 02.03 - Cosa Numero 2 de 10 - La Documentación Técnica

  “Nunca olvidaré porqué estoy escribiendo este fragmento de código”, estos son dichos que decimos como desarrolladores a lo largo de la historia para justificarnos y después de tratar de resolver el problema durante horas. Y es posible que realmente creas que estás diciendo la verdad, pero, hazme caso.. LO VAS A OLVIDAR Incluso, podrías encontrarte años después mirando ese código y preguntándote qué tonto podría haber escrito algo tan intrincado, antes de darte cuenta que oppps. ese fui yo…😬 La documentación técnica es fundamental en cualquier proyecto de desarrollo de software. La documentación proporciona una hoja de ruta para los desarrolladores que describe cómo debería funcionar el sistema y qué hace cada componente. Además, puede ser utilizado como referencia por los usuarios que necesitan comprender cómo funciona el sistema o solucionar problemas.  La documentación ayuda a garantizar que todas las partes interesadas tengan una comprensión común del sistema, lo que evita malos

APEX 02.02 - Cosa Número 1 de 10 - Metodología del proyecto

Una metodología de proyecto sólida te ayudará a completarlo a tiempo y dentro del presupuesto. También ayuda a mejorar la comunicación entre los miembros del equipo y garantiza que todos conozcan sus funciones y responsabilidades. Además, el uso de una metodología de proyectos puede ayudar a reducir el riesgo de errores y aumentar la calidad de tu producto final.  Proporciona estructura y marco para la planificación, ejecución y control de proyectos. En cuanto a metodologías, los proyectos de desarrollo de aplicaciones con Oracle APEX se adaptan muy bien a la metodología Agile, y esto por muchas razones. Aquí cito tres: Oracle APEX es una plataforma de desarrollo de bajo código que permite cambios rápidos y sencillos El uso de historias de usuarios significa que los requisitos se pueden recopilar e implementar rápidamente La capacidad de implementar en sprints cortos permite una rápida retroalimentación y adaptación a los cambios Estos factores significan que la metodología Agile funci

APEX 02.01 - 10 Cosas a incluir en tus proyectos APEX

Dirijo proyectos desarrollando aplicaciones en Oracle APEX desde 2007 y durante ese tiempo he aprendido y aun sigo aprendiendo cómo hacerlo mejor cada dia. Tengo la certeza de que con el crecimiento de APEX en general, construiré aún muchas aplicaciones en el futuro.  Asegurar la entrega de aplicaciones de alta calidad de manera constante es importante y para ello, formalizar la forma en la cual se realiza el seguimiento de proyectos desde el inicio hasta su finalización es fundamental. He preparado esta serie de publicaciones llamada "APEX 02" con una lista de lo que considero son elementos críticos para lograr proyectos de alta calidad. Elementos como la metodología del proyecto, los estándares de codificación y prueba, la seguridad por nombrar algunos.  Cada cliente y cada proyecto son diferentes, no pasa por mi mente ni creo que exista una sola implementación de “mejores” prácticas que aplique a todos. Creo que compartir conocimiento es importante y compartir experienc

APEX 01.07 - ¿Cuales son los pasos y que debo hacer en cada uno de ellos para llevar adelante un proyecto de Modernización de Oracle Forms a Oracle APEX?

EL PROYECTO El proceso de modernización de Oracle Forms a Oracle APEX es un proyecto importante que puede tener muchos beneficios para una organización. El equipo de Oracle APEX ha dado lineamientos para guiar a las empresas en este proceso de modernización y de nuestra parte lo hemos afinado y convertido en una metodología a lo largo de las experiencias que hemos acumulado. A continuación, describo los pasos con los cuales encaramos un proyecto de modernización: FASE 1: PREPARACIÓN 1. Evaluación de la aplicación existente: Lo primero que se debe hacer es evaluar la aplicación Oracle Forms existente para determinar su complejidad, tamaño y funcionalidad. Esta evaluación permitirá determinar el alcance del proyecto de modernización y los requisitos necesarios para la nueva aplicación Oracle APEX. 2. Planificación del proyecto: Después de evaluar la aplicación existente, es importante planificar el proyecto de modernización de manera detallada. Esto incluye la definición de objetivos, la

APEX 01.06 - ¿Cómo debería Modernizar mis Oracle Forms utilizando Oracle APEX?

Oracle Forms es un componente de Oracle Fusion Middleware, una tecnología que fue muy popular y me atrevería a decir por tanto, muy exitosa durante décadas, para la creación de aplicaciones empresariales.  En la actualidad, hay varios métodos para la creación de dichas aplicaciones.   Tanto Oracle Forms como Oracle APEX, ambos, tienen muchas similitudes a la hora de facilitar una transición, ya que ambos están centrados en bases de datos, en SQL y PL/SQL y por lo tanto pueden utilizar con facilidad las funciones y objetos de bases de datos de la Base de datos Oracle Otra similitud es que ambos utilizan marcos declarativos para contribuir al desarrollo.  Sin embargo, también existen diferencias clave: Oracle APEX puede funcionar por completo en un explorador web y no necesita herramientas del cliente ni plugins de explorador, incluso su IDE de desarrollo se ejecuta completamente desde el navegador, otra diferencia es que Oracle APEX guarda las definiciones de las aplicaciones en un repo

APEX 01.05 ¿Porqué debería utilizar Oracle APEX para Modernizar Oracle Forms & Reports?

Oracle APEX es una herramienta de desarrollo de aplicaciones web que se ejecuta en la base de datos Oracle, es una plataforma poderosa que puede utilizarse para modernizar las aplicaciones basadas en Oracle Forms y Oracle Reports por muchas razones, aqui cito algunas de ellas: 1. La Modernización de la interfaz de usuario: Las aplicaciones basadas en Oracle Forms y Reports a menudo tienen una interfaz de usuario antigua y desactualizada. APEX ofrece una interfaz de usuario moderna y fácil de usar que puede mejorarse aún más con las herramientas de diseño y temas que tiene disponibles. La modernización de la interfaz de usuario puede mejorar la experiencia del usuario final y aumentar la productividad. 2. La Integración con otras tecnologías : APEX se integra con una variedad de tecnologías, incluyendo Bases de datos Oracle, Oracle Business Intelligence (BI), Oracle E-Business Suite y otras aplicaciones empresariales. La integración con estas tecnologías puede mejorar la funcionalidad