Articulo de referencia

Oracle Application Express

{{cite web|url=http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html|title=Oracle Application Express - Downloads|publisher=Oracle|access-date=2015-12-10}}...

Oracle APEX (Oracle Application Express) es una plataforma de desarrollo de aplicaciones de bajo código desarrollada por Oracle Corporation . APEX se utiliza para desarrollar e implementar aplicaciones en la nube , móviles y de escritorio . Cuenta con un entorno de desarrollo integrado (IDE) basado en web que incluye herramientas como asistentes , creadores de diseños mediante arrastrar y soltar , y editores de propiedades.

Fondo

APEX es una característica de Oracle Database . Forma parte de Oracle Cloud dentro de Autonomous Database Cloud Services y del servicio independiente APEX Application Development. [ 3 ]

Oracle APEX ha sufrido cambios de nombre desde su creación en 2000, entre ellos:

  • Flujos [ 4 ]
  • Plataforma Oracle [ 5 ]
  • Proyecto Marvel [ 6 ]
  • Base de datos HTML [ 7 ]
  • Application Express (APEX), también conocido como Oracle APEX [ 7 ]

Historia

APEX fue creado por el desarrollador de Oracle Michael Hichwa tras su proyecto anterior, WebDB. Mientras desarrollaba un calendario web interno , Hichwa colaboró ​​con su compañero de Oracle Joel Kallman para desarrollar Flows. Juntos, desarrollaron el calendario web, añadiendo funcionalidades a Flows según las necesitaban. Las primeras versiones de Flows no tenían interfaz de usuario, por lo que todos los cambios en una aplicación se realizaban en SQL Plus mediante comandos de inserción, actualización y eliminación. [ 8 ]

Con la versión 5.2, se cambió el sistema de numeración para que coincidiera con el año y el trimestre de la versión, pasando a llamarse 18.1. Este cambio es coherente con la modificación de la nomenclatura numérica de Oracle.

Entorno de bajo código

Oracle APEX es una plataforma de desarrollo de bajo código, un tipo de entorno cuyos orígenes se remontan a los lenguajes de programación de cuarta generación y a las herramientas de desarrollo rápido de aplicaciones (RAD).

APEX permite a los usuarios crear aplicaciones web con una interfaz gráfica de usuario " sin código ". Sin embargo, cuando los requisitos son más complejos, APEX permite extender los objetos de bajo código mediante un marco declarativo. Este marco permite al desarrollador definir lógica personalizada, reglas de negocio e interfaces de usuario. El desarrollador puede hacerlo mediante la inclusión de SQL , PL/SQL , HTML , JavaScript o CSS , así como complementos de APEX. [ 9 ] [ 10 ]

Seguridad

Las aplicaciones APEX están sujetas al mismo nivel de riesgos de seguridad que otras aplicaciones web desarrolladas con tecnologías más directas como PHP , ASP.NET y Java . Sin embargo, la interfaz del Generador de aplicaciones incluye una utilidad llamada Asesor, que proporciona una evaluación básica del nivel de seguridad de la aplicación.

Las dos principales vulnerabilidades que afectan a las aplicaciones APEX son la inyección SQL y el cross-site scripting (XSS) . [ 11 ]

Inyección SQL

Las aplicaciones APEX utilizan intrínsecamente construcciones PL/SQL como lenguaje base del lado del servidor y acceden a los datos mediante bloques PL/SQL. [ 12 ] Una aplicación APEX utilizará PL/SQL para implementar la autorización y mostrar condicionalmente elementos de la página web. Debido a esto, las aplicaciones APEX pueden sufrir una inyección SQL cuando estos bloques PL/SQL no validan ni gestionan correctamente la entrada maliciosa del usuario . [ 13 ]

Oracle implementó un tipo de variable especial para APEX llamado Variables de Sustitución (con la sintaxis "&NOMBRE."); sin embargo, estas son inseguras y pueden dar lugar a inyecciones SQL. Cuando se produce una inyección dentro de un bloque PL/SQL, un atacante puede inyectar un número arbitrario de consultas o sentencias para su ejecución. El uso de caracteres especiales y variables de enlace puede reducir, pero no eliminar, las vulnerabilidades de XSS e inyección SQL.

Secuencias de comandos entre sitios (XSS)

Las vulnerabilidades XSS surgen en las aplicaciones APEX al igual que en otros lenguajes de aplicaciones web . Para contrarrestar esto, Oracle proporciona la función htf.escape_sc() para reemplazar caracteres literales con nombres de entidades HTML y evitar comportamientos no deseados. [ 14 ]

Un desarrollador puede usar esquemas de autorización para gestionar el acceso a recursos como páginas y elementos dentro de una aplicación APEX. Para garantizar una seguridad adecuada, estos esquemas deben aplicarse de forma coherente a todos los recursos relevantes. Un ejemplo de control de acceso inconsistente se produce cuando se aplica un esquema de autorización a un botón, pero no al proceso vinculado a él. Esta inconsistencia podría permitir que un usuario inicie el proceso directamente mediante JavaScript, sin pasar por el botón.

Bibliotecas de terceros

Los desarrolladores pueden mejorar y ampliar las aplicaciones APEX utilizando bibliotecas de terceros. Entre ellas se encuentran jQuery Mobile (interfaz de usuario basada en HTML5), [ 15 ] jQuery UI (interfaz de usuario para la web), [ 16 ] AnyChart ( gráficos JavaScript / HTML5 ), [ 17 ] CKEditor (editor de texto web), [ 18 ] y otras. Oracle afirma que la aplicación de los últimos parches de APEX garantiza que las bibliotecas externas incluidas con la plataforma se actualicen simultáneamente, lo que teóricamente mejora la estabilidad y la seguridad de la aplicación. [ 19 ] Sin embargo, muchas de las bibliotecas se actualizan con mayor frecuencia que los parches de APEX, lo que obliga a los desarrolladores a supervisar y aplicar manualmente las actualizaciones según sea necesario para mantener la compatibilidad y la seguridad. [ 20 ] [ 21 ]

APEX y Oracle Database Express Edition (XE)

Oracle APEX puede ejecutarse dentro de Oracle Database Express Edition (XE), una base de datos básica gratuita. Si bien la funcionalidad de APEX no se limita intencionalmente al ejecutarse en XE, las limitaciones del motor de base de datos pueden impedir el funcionamiento de algunas características de APEX. Además, Oracle XE tiene límites en el uso de CPU , memoria y disco. [ 22 ]

Véase también

Referencias

  1. "Oracle Application Express - Descargas" . Oracle . Consultado el 10 de diciembre de 2015 .
  2. "Documentación de Oracle Application Express" . Centro de ayuda de Oracle.
  3. "Oracle Application Express (APEX): Descripción general" (PDF) . Oracle Corporation .
  4. "Bienvenido a Flows for APEX" . apex-flowsforapex . Archivado del original el 24 de septiembre de 2021. Consultado el 24 de septiembre de 2021 .
  5. "Implementación de Oracle API Platform Cloud Service" . Packt . Consultado el 24 de septiembre de 2021 .
  6. "Cómo puedo obtener beneficios del proyecto Marble" . forums.oracle.com . 17 de septiembre de 2002.
  7. 1 2 "Apéndice: Oracle APEX" . docs.oracle.com . Consultado el 26 de enero de 2025 .
  8. "Michael Hichwa" . Apress . Michael Hichwa es el desarrollador y arquitecto original de Oracle Application Express (APEX), también conocido como HTML DB. Michael creó APEX como una reescritura completa de una herramienta anterior de desarrollo de aplicaciones basada en navegador que también creó, llamada Oracle WebDB. Contó con la valiosa asistencia y orientación técnica de Tom Kyte y la incorporación de Joel Kallman como codesarrollador. Michael y Joel han liderado el desarrollo de APEX desde 1999.
  9. Kallman, Joel. "Del código bajo al control alto" . Recuperado el 27 de noviembre de 2017 .
  10. "Desarrollo con bajo código con Oracle Application Express" . apex.oracle.com . Consultado el 27 de noviembre de 2017 .
  11. "Protegiendo las vulnerabilidades explotadas con Apex – Parte 3" . content.dsp.co.uk . Consultado el 8 de octubre de 2024 .
  12. Alpern, D.; Agrawal, S.; Baer, ​​H.; Castledine, S.; Chang, T.; Cheng, B.; Dani, R.; Decker, R.; Iyer, C. "Descripción general de PL/SQL" . Centro de ayuda de Oracle . Consultado el 24 de enero de 2025 .
  13. "Uso de Oracle APEX" . enterprisearchitecture.harvard.edu . Consultado el 24 de enero de 2025 .
  14. "Referencia del kit de herramientas web PL/SQL de Fusion Middleware" . docs.oracle.com . Consultado el 8 de octubre de 2024 .
  15. "Creación de una aplicación web móvil con Oracle Application Express 5.0" . Oracle.
  16. "Guía del usuario de Application Express Application Builder" . Oracle.
  17. "Oracle APEX: Uso de productos AnyChart con Oracle Application Express (APEX)" . AnyChart.
  18. "Oracle elige FCKeditor para Application Express" . CKEditor.com.
  19. "Parches de Oracle Application Express (APEX)" . Oracle Base . Consultado el 30 de diciembre de 2024 .
  20. "Extras: Bibliotecas incluidas en APEX 4.2.2" . Blog de Dimitri Gielis. 8 de mayo de 2013. Consultado el 10 de diciembre de 2015 .
  21. "Primer vistazo a APEX 5" . Grassroots Oracle. 17 de marzo de 2014. Consultado el 10 de diciembre de 2015 .
  22. "Limitaciones de la edición Express" . Oracle Corporation . Consultado el 22 de mayo de 2013 .

Bibliografía

  • Beckmann, Ralf (1 de octubre de 2013), Oracle Application Express in der Praxis: Mit APEX datenbankbasierte Webanwendungen entwickeln (1.ª  ed.), Carl Hanser Verlag , p.  416, ISBN 978-3446438965Archivado del original el 14 de junio de 2017 , consultado el 13 de octubre de 2013.
  • Cimolini, Patrick (12 de septiembre de 2011), Agile Oracle Application Express (1.ª  ed.), Apress , p.  200, ISBN 978-1-4302-3759-4
  • Mattamal, Raj; Nielsen, Anton (28 de julio de 2011), Expert Oracle Application Express Plugins: Building Reusable Components (1.ª  ed.), Apress , pág.  300, ISBN 978-1-4302-3503-3
  • Fox, Tim; Scott, John; Spendolini, Scott (29 de junio de 2011), Pro Oracle Application Express 4 (2.ª  ed.), Apress , pág.  700, ISBN 978-1-4302-3494-4
  • Zehoo, Edmund (15 de junio de 2011), Oracle Application Express 4 Recipes (1.ª  ed.), Apress , pág.  300, ISBN 978-1-4302-3506-4
  • Lancaster, Mark (28 de mayo de 2011), Oracle Application Express 4.0 con Ext JS (1.ª  ed.), Packt Publishing , pág.  392, ISBN 978-1-84968-106-3
  • Aust, Dietmar; D'Souza, Martín Giffy; Gault, Doug; Gielis, Dimitri; Hartman, Roel; Hichwa, Michael; Kennedy, Sharon; Kubicek, Denes; Mattamal, Raj; McGhan, Dan; Mignault, Francisco; Nielsen, Antón; Scott, John (16 de mayo de 2011), Expert Oracle Application Express (1.ª  ed.), Apress , p.  500, ISBN 978-1-4302-3512-5
  • Gault, Doug; Cannell, Karen; Cimolini, Patricio; D'Souza, Martín Giffy; Hilaire, Timothy St. (31 de marzo de 2011), Beginning Oracle Application Express 4 (1.ª  ed.), Apress , p.  440, ISBN 978-1-84968-134-6
  • van Zoest, M.; van der Plas, Marcel (14 de diciembre de 2010), Libro de recetas de Oracle APEX 4.0 (1.ª  ed.), Packt Publishing , pág.  328, ISBN 978-1-4302-3147-9
  • Geller, Arie; Lyon, Matthew (1 de junio de 2010), Oracle Application Express 3.2 – Lo esencial y más (1.ª  ed.), Packt Publishing , pág.  520, ISBN 978-1-84719-452-7
  • van den Bos, Douwe Pieter (29 de julio de 2009), Oracle Application Express Forms Converter (1.ª  ed.), Packt Publishing , p.  172, ISBN 978-1-84719-776-4
  • Greenwald, Rick (22 de diciembre de 2008), Introducción a Oracle Application Express (1.ª  ed.), Wrox , pág.  384, ISBN 978-0-470-38837-2
  • Scott, John; Spendolini, Scott (16 de septiembre de 2008), Pro Oracle Application Express (1.ª  ed.), Apress , pág. 700 , ISBN  978-1-59059-827-6
  • Sitio web oficial