Lenguajes de Cuarta Generación (4GL): Características, Tipos y Evolución
Los lenguajes de cuarta generación (4GL) representan un alto grado de abstracción, funcionando como una «caja negra» para el programador. En lugar de especificar *cómo* se deben realizar las tareas, el programador proporciona parámetros, que, aunque dependen del programa a crear, están muy alejados del hardware. Esta ha sido la tendencia en la evolución de los lenguajes de programación.
La potencia de los 4GL reside en su capacidad para generar código automáticamente. Sin embargo, la funcionalidad alcanzada hasta ahora ha sido limitada. La evolución de los 4GL ha estado influenciada por las restricciones del sistema operativo y del hardware, así como por la programación orientada a objetos y la disponibilidad de librerías de objetos que complementan su funcionamiento. Estas librerías ofrecen, entre otras cosas, acceso a:
- Múltiples bases de datos relacionales.
- Sistemas de mensajería electrónica.
- Sistemas de Workgroup.
- Bases de datos jerárquicas.
- Interfaces gráficas de usuario (GUI) avanzadas.
Tipos de Lenguajes 4GL
Existen diferentes tipos de lenguajes 4GL, cada uno con una función específica:
- Generadores de reportes (Report Generators): Crean informes a partir de datos.
- Generadores de “Forms” (Forms Generators): Diseñan interfaces de usuario para la entrada y visualización de datos.
- Ambientes de cuarta generación (Fourth Generation Environments): Generan sistemas completos a partir de herramientas CASE, pantallas, reportes y especificaciones de procesos.
- Administradores de datos (Data Management): Proporcionan comandos para la manipulación, selección y documentación de datos para análisis estadísticos y reportes (ejemplos: SAS, SPSS, Stata).
- Generadores de aplicaciones: Determinan cómo realizar una tarea a partir de la especificación de *qué* debe hacer el programa.
PowerBuilder: Herramienta de Desarrollo 4GL
PowerBuilder, desarrollado por Sybase, es un entorno gráfico de programación orientado a objetos para el desarrollo de aplicaciones cliente/servidor, distribuidas y web. Incluye herramientas para:
- Generar reportes.
- Acceder a bases de datos.
- Crear interfaces gráficas.
Con más de 16 años en el mercado, PowerBuilder continúa evolucionando. La versión 11 integra el servidor de aplicaciones EAServer, lo que la convierte en una herramienta robusta para el desarrollo de aplicaciones distribuidas, Web OLTP, Web Services y JSP de Java. Aunque muchos usuarios lo utilizan principalmente para aplicaciones cliente/servidor, su potencial es mucho mayor.
La Evolución de PowerBuilder
PowerBuilder se basa en una arquitectura orientada a objetos desde sus inicios. Sin embargo, las primeras versiones no ofrecían características completas como herencia, polimorfismo y encapsulación. Las aplicaciones de PowerBuilder 1.0 se codificaban principalmente desde el pintor de ventanas, lo que llevó a algunos hábitos de programación incorrectos y a la «arquitectura de ventanas gordas». Las versiones más recientes han introducido cambios significativos, como:
- Integración con PowerDesigner para reingeniería de aplicaciones.
- Soporte para XML Web DataWindow.
- Mejoras en el manejo de Web Services.
- Lanzamiento de DataWindow .NET para la creación de DataWindows en el framework .NET.
Informix 4GL: Desarrollo de Aplicaciones Cliente en Unix
Informix 4GL es un lenguaje líder para el desarrollo de aplicaciones cliente que acceden a bases de datos Informix en el entorno Unix. Permite a los desarrolladores incrustar consultas SQL directamente en el código fuente 4GL. El pre-procesador de Informix genera pseudo código (p-código) o código C, dependiendo de la opción elegida en tiempo de compilación.
Para la creación de aplicaciones, se utilizan tres productos:
- Compilador: Genera código C y código ESQL/C.
- Sistema Rápido de Desarrollo: Reduce el tiempo de compilación creando pseudo código.
- Depurador Interactivo: Facilita la detección y corrección de errores.
La nueva versión de Informix ofrece ventajas como:
- Menor consumo de almacenamiento.
- Mayor flexibilidad.
- Reducción de los requerimientos de memoria.
- Alta portabilidad.
Oracle: Base de Datos para Grid Computing
Oracle es un sistema de gestión de bases de datos relacionales (RDBMS) desarrollado por Oracle Corporation. Se considera la primera base de datos diseñada para Grid Computing. Es una herramienta cliente/servidor utilizada principalmente por grandes empresas y multinacionales debido a su potencia y precio.
Historia de Oracle
La tecnología Oracle está presente en diversas industrias a nivel mundial. Oracle fue pionera en desarrollar e implementar software empresarial 100% basado en Internet para toda su línea de productos: bases de datos, aplicaciones comerciales y herramientas de desarrollo. Oracle ofrece garantías de funcionamiento para sus bases de datos, con compensaciones económicas significativas en caso de fallos.
Características de Oracle
Oracle Content Database, construido sobre Oracle Database, permite a las organizaciones gestionar grandes volúmenes de contenido no estructurado en un único repositorio, reduciendo costes y riesgos asociados a la pérdida de información.
Estructura de Oracle
Una base de datos Oracle tiene una estructura física y una estructura lógica:
- Estructura física: Se compone de los ficheros del sistema operativo.
- Estructura lógica: Está formada por los tablespaces y los objetos de un esquema de base de datos.
Estructura Lógica
Se divide en unidades de almacenamiento lógicas.
Objetos: tablas, vistas, índices, clusters, etc.
Estructura Física
Los ficheros de la base de datos tienen un tamaño fijo, definido al crear la base de datos o los tablespaces. Los datos se leen y se almacenan en una caché de memoria compartida para agilizar los accesos posteriores.