Existe una marcada tendencia a buscar sistemas livianos, de bajo consumo de ancho de banda en las redes de las empresas y que permitan el uso de estaciones de trabajo de bajo costo, esto con el fin de bajar los costos de operación de las mismas y sobre todo en estos momentos “de crisis”.
Esta es la razón por la que les presento esta entrega, sobre todo a aquellos desarrolladores de Oracle Forms, que aún no han oído hablar de Oracle Application Express (Apex).
Oracle Forms fue introducido a mediados de los años 80 como una de las primeras herramientas de desarrollo más poderosas para desarrollar aplicaciones de bases de datos, con una larga y fructífera vida de cerca de 20 años y que aún hoy en día sigue cumpliendo con sus objetivo. Durante todo este tiempo Oracle Forms ha pasado del modo carácter y el modo de bloque a cliente servidor y de allí a Internet con el uso de Forms Server, sin embargo, debido a las nuevas tendencias, muchas empresas hoy en día quieren realizar una transición a soluciones basadas en HTML.
Existen muchas alternativas para los desarrolladores que desean aplicaciones nativas en HTML, una de esas alternativas es utilizar JDeveloper en conjunto con ADF (Oracle Application Development Framework), alternativa que no vamos a ampliar aquí.
Otra alternativa que debería ser ampliamente considerada es Oracle Application Express (Apex).
Si su proyecto o departamento de TI cuenta con lo siguiente:
- Profesionales de TI con conocimientos considerables de SQL y PL/SQL
- Experiencia limitada en programación orientada a objetos
- Tablas almacenadas en una base de datos Oracle
Entonces debería considerar el uso del Apex en el desarrollo de sus aplicaciones. La siguiente tabla muestra algunas diferencias y similitudes existentes entre Oracle Forms y Apex.
Característica | Oracle Forms | Apex | Descripción |
---|---|---|---|
4GL Declarativo | Si | Si | Oracle Forms presenta las aplicaciones usando metadata almacenada en un archivo .fmx. Apex presenta las aplicaciones utilizando metadata almacenada en una base de datos Oracle. |
Lenguajes 4GL | SQL y PL/SQL | SQL y PL/SQL | Oracle Forms ejecuta PL/SQL del lado del cliente. Apex utiliza PL/SQL del lado del servidor. |
Interfaz de Usuario | Java | HTML | Oracle Forms es accesado utilizando un navegador web y su interfaz de usuario es presentada usando un JVM. Apex también se invoca desde un navegador web pero su interfaz de usuario es HTML y JavaScript. |
Dibujo de la página | Ventanas/Lienzos | Páginas/Regiones | Oracle Forms usa posicionamiento exacto y Apex usa posicionamiento relativo HTML. |
Control de campos del lado del cliente | Desde Disparadores | Javascript y AJAX | Oracle Forms provee validación robusta y procesamiento a nivel de campo. Apex permite validación y procesamiento de eventos declarativos a nivel de página. La validación y el procesamiento de eventos a nivel de campo requieren el uso de Javascript y AJAX. |
Apoyo a Servicios Web | Si | Si | Ambos Oracle Forms y Apex apoyan el llamado a servicios Web, por ejemplo BPEL. |
Gráficos | BI Beans | Flash | Oracle Forms usa BI Beans como su motor de gráficos integrado. Apex usa Flash Charts como su motor de gráficos integrado. |
Bloqueo | Pesimista, Optimista, Personalizado | Optimista, Personalizado | Oracle Forms permite un rango de modelos de bloqueo con el modelo pesimista por omisión. Debido a su arquitectura asincrónica, Apex usa un modelo de bloqueo optimista. |
Conexión a Base de Datos | Sincrónica | Asincrónica | Oracle Forms utiliza conexiones sincrónicas para permitir a las transacciones abarcar múltiples interacciones en pantalla. Apex no permite abarcar transparentemente transacciones por vistas de página. Apex permite a transacciones abarcar vistas de página usando colecciones. |
Apoyo a Usuarios concurrentes | Conexión a base de datos por usuario sostenida por sesión | Conectividad a base de datos solo durante el procesamiento de la solicitud | Cada usuario conectado a Oracle Forms mantiene una conexión sincrónica a la base de datos Oracle. Los usuarios de Apex son asincrónicamente conectados a la base de datos Oracle. |
Arquitectura | 3 Capas | 2 Capas | Con Oracle Forms, la lógica de la aplicación es procesada en la base de datos Oracle, un servidor de capa media Forms Server, o en el cliente robusto. Con Apex, la lógica de la aplicación en PL/SQL es procesada dentro de la base de datos Oracle. La lógica del lado del cliente es implementada utilizando JavaScript. Las comunicaciones HTTP son facilitadas usando Apache y Mod/PLSQL. |
Y aún más buenas noticias; Oracle ha anunciado una nueva característica dentro del ambiente de programación de Apex, en su próxima versión, es probable que contemos con una herramienta que nos va a ayudar a convertir los Forms de Oracle a páginas de Apex, así que manténgase en contacto esperando nuevas noticias.
Si usted es desarrollador de Oracle Forms y desea saber más acerca de Apex, le invito a leer algunas de mis entregas anteriores:
¿Qué es Oracle Apex?
Creando una aplicación con Oracle Apex – Parte 1
Creando una aplicación con Oracle Apex – Parte 2
Creando una aplicación con Oracle Apex – Parte 3
Creando una aplicación con Oracle Apex – Parte 4
Creando una aplicación con Oracle Apex – Parte 5