OpenEdge Advanced Business Language , o OpenEdge ABL para abreviar, es un lenguaje de desarrollo de aplicaciones comerciales creado y mantenido por Progress Software Corporation (PSC). El lenguaje, típicamente clasificado como lenguaje de programación de cuarta generación , utiliza una sintaxis similar al inglés para simplificar el desarrollo de software. [1] El lenguaje se llamaba PROGRESS o Progress 4GL hasta la versión 9, pero en 2006 PSC cambió el nombre a OpenEdge Advanced Business Language (OpenEdge ABL) para superar la presunta percepción de la industria de que los 4GL eran menos capaces que otros idiomas. [2] Un subconjunto del idioma, llamadoSpeedScript , se utiliza en el desarrollo de aplicaciones web. [3]
Desarrollador (es) | Progress Software Corporation |
---|---|
Lanzamiento estable | OpenEdge 12.3 / 20 de octubre de 2020 |
Sistema operativo | Multiplataforma (ver más abajo) |
Tipo | RDBMS |
Licencia | Propiedad |
Sitio web | https://www.progress.com/openedge |
OpenEdge ABL ayuda a los desarrolladores a desarrollar aplicaciones opcionalmente utilizando su propia herramienta de programación y base de datos relacional integrada . Estas aplicaciones son portátiles a través de los sistemas informáticos y permiten el acceso a varias fuentes de datos populares sin tener que aprender los métodos de acceso a los datos subyacentes . Esto significa que el usuario final de estos productos puede desconocer la arquitectura subyacente.
Al combinar un lenguaje de cuarta generación y una base de datos relacional, OpenEdge ABL permite el uso del modelo de desarrollo rápido de aplicaciones (RAD) para desarrollar software. Un programador e incluso los usuarios finales pueden hacer prototipos rápidamente utilizando las herramientas integradas y GUI del entorno de desarrollo.
OpenEdge se puede utilizar para:
- GUI de Microsoft Windows (interfaz gráfica de usuario)
- Programación WWW (UNIX y Windows)
- CHUI (Interfaz de usuario de caracteres) (UNIX y Windows)
- Programación del servidor de aplicaciones JSON y XML (UNIX y Windows)
- así como programación de procesos en segundo plano (UNIX y Windows).
Historia
El Progress 4GL original fue diseñado (en 1981) como un lenguaje de arquitectura independiente y un sistema de base de datos integrado que podría ser utilizado por no expertos para desarrollar aplicaciones comerciales por personas que no eran científicos informáticos pero que tenían conocimientos en su dominio comercial. En ese momento, las aplicaciones comerciales a menudo se escribían en COBOL (para máquinas como mainframes corporativos de IBM) y, a veces, en C (para miniordenadores departamentales que ejecutan el sistema operativo UNIX). Cuando IBM PC se hizo popular, desarrolló la necesidad de un software comercial que pudiera usarse en esas y otras computadoras económicas. El sistema Progress fue creado para ser utilizado tanto en máquinas IBM PC que ejecutan DOS como en una variedad de computadoras que pueden ejecutar UNIX.
Sintaxis y semántica
Progress ABL es un lenguaje de programación similar al inglés y muy tipado . Aunque inicialmente se diseñó como un lenguaje procedimental, a partir de la versión 10.1 se mejoró con elementos gramaticales orientados a objetos, que se pueden mezclar con el estilo procedimental original. Un bloque de código puede tener una transacción en el ámbito, en cuyo caso los cambios en la base de datos se confirmarán cuando se complete. Un error que surja dentro de dicho bloque deshará estos cambios. El programador puede anular estos valores predeterminados.
Los programas simples se ejecutan sin una interfaz gráfica de usuario, pero existe una sintaxis para crear una mediante programación; o los programadores pueden usar las herramientas proporcionadas para construir uno.
Ejemplos de
Hola Mundo
El siguiente código ABL crea una ventana con el texto "¡Hola, mundo!" y un botón con la etiqueta "Aceptar".
DEFINE VARIABLE W AS HANDLE NO-UNDO .CREAR VENTANA w ASIGNAR ANCHO = 50 ALTURA = 5 MESSAGE-AREA = FALSE STATUS-AREA = FALSE . VENTANA ACTUAL = w .DEFINIR BOTÓN btnOK ETIQUETA "OK" TAMAÑO 12 POR 1.2 . FORMULARIO "¡Hola mundo!" VER-COMO TEXTO EN COL 20 FILA 2 btnOK EN COL 20 FILA 4 CON MARCO f TAMAÑO 50 POR 5 SIN CAJA TRES-D . VER MARCO f . HABILITAR btnOK CON MARCO f . ESPERE "ELEGIR" DE btnOK . BORRAR OBJETO w .
Se puede usar un cuadro de mensaje para lograr el mismo efecto:
MENSAJE "¡Hola mundo!" VER COMO BOTONES DE INFORMACIÓN DEL CUADRO DE ALERTA OK .
Además, puede utilizar ERROR
y en WARNING
lugar de INFO
para cambiar los iconos de mensajes.
Sin embargo, el programa "Hello, World" más simple es este:
MOSTRAR "¡Hola mundo!" .
SELECT
Equivalente de SQL
La declaración SQL :
SELECCIONAR * DEL cliente ;
(junto con la conexión de idioma elegida y los procedimientos de visualización) se pueden expresar en Progress / ABL como:
PARA CADA cliente NO-LOCK : DISPLAY cliente . FIN .
La instrucción END es opcional en un programa de este nivel de simplicidad.
UPDATE
Equivalente de SQL
La declaración SQL:
ACTUALIZAR el CONJUNTO del cliente vendedor = 'Fred' DONDE custno = 14 ;
(nuevamente, junto con la conexión de idioma elegida y los procedimientos de visualización) se pueden expresar en Progress / ABL como:
PARA CADA cliente DONDE cliente . custno = 14 BLOQUEO EXCLUSIVO : ASIGNAR cliente . vendedor = 'Fred' . FIN .
.. (Se han hecho algunas suposiciones sobre la indexación, el bloqueo y el alcance de la transacción para que este ejemplo sea simple).
El idioma se basa en registros distintos del conjunto de registros. En las operaciones de SQL que funcionan en un conjunto de registros, en el ABL, la operación se aplica a un registro a la vez, de forma muy similar a como se usa un cursor en SQL.
Áreas de aplicación
El lenguaje se utiliza en una amplia variedad de áreas de aplicación, algunos ejemplos:
- Originación de préstamos en bancos de EE. UU.
- Sistemas de reserva de vehículos de alquiler
- Distribución al por mayor
- Sistemas de almacenamiento
- Sistemas de transporte
- Despacho de fuerza de servicio comercial
- Sistemas de tarjetas de seguridad
- Sistemas de juegos (piense en Las Vegas, no en video)
Notas
- ^ Campbell, John, Progreso del programador, una guía para el lenguaje de progreso. software estrella blanca, 1991
- ^ Salvador Vinals, Presentación de OpenEdge Advanced Business Language (ABL), documento técnico de PSC, 2007
- ^ Crawford, G. WebSpeed Complete , Soluciones informáticas Innov8, ISBN 0-9718679-0-9