Расширенный деловой язык OpenEdge - OpenEdge Advanced Business Language
Разработчики) | Progress Software Corporation |
---|---|
Стабильный выпуск | OpenEdge 12.2 / 2 апреля 2020 г. |
Операционная система | Кроссплатформенность (см. ниже) |
Тип | СУБД |
Лицензия | Проприетарный |
Интернет сайт | https://www.progress.com/openedge |
Расширенный деловой язык OpenEdge, или же OpenEdge ABL Короче говоря, это язык разработки бизнес-приложений, созданный и поддерживаемый Progress Software Corporation (PSC). Язык, обычно относящийся к язык программирования четвертого поколения, использует похожий на английский синтаксис для упрощения разработки программного обеспечения.[1] Язык назывался ПРОГРЕСС или же Прогресс 4GL до версии 9, но в 2006 г. PSC изменил название на OpenEdge Advanced Business Language (OpenEdge ABL), чтобы преодолеть предполагаемое в отрасли мнение о том, что 4GL менее эффективны, чем другие языки.[2] Подмножество языка, называемое SpeedScript, используется при разработке веб-приложений.[3]
OpenEdge ABL помогает разработчикам разрабатывать приложения, опционально используя собственные интегрированные реляционная база данных и инструмент программирования. Эти приложения переносимы между вычислительными системами и обеспечивают доступ к различным популярным источникам данных без необходимости изучать лежащие в основе доступ к данным методы. Это означает, что конечный пользователь Эти продукты могут не знать об основной архитектуре.
Комбинируя язык четвертого поколения и реляционную базу данных, OpenEdge ABL позволяет использовать Быстрая разработка приложений (RAD) модель разработки программного обеспечения. Программист и даже конечные пользователи могут сделать быстрое прототипирование с помощью интегрированных и графических инструментов среды разработки.
OpenEdge можно использовать для:
- Графический интерфейс Microsoft Windows (графический интерфейс пользователя)
- Программирование в WWW (UNIX и Windows)
- CHUI (пользовательский интерфейс символов) (UNIX и Windows)
- Программирование серверов приложений JSON и XML (UNIX и Windows)
- а также программирование фоновых процессов (UNIX и Windows).
История
Первоначальный Progress 4GL был разработан (в 1981 г.) как архитектурно-независимый язык и интегрированная система баз данных, которую могли использовать неспециалисты для разработки бизнес-приложений людьми, которые не были компьютерными специалистами, но были хорошо осведомлены в своей области бизнеса. В то время бизнес-приложения часто писались на COBOL (для машин, таких как корпоративные мэйнфреймы IBM), а иногда и на C (для ведомственных мини-компьютеров под управлением операционной системы UNIX). Когда IBM PC стал популярным, возникла потребность в программном обеспечении для бизнеса, которое можно было бы использовать на этих и других недорогих компьютерах. Система Progress была создана для использования как на компьютерах IBM PC, работающих под DOS, так и на различных компьютерах с UNIX.
Синтаксис и семантика
Progress ABL - это строго типизированный, с поздним связыванием, Англоязычный язык программирования. Первоначально разработанный как процедурный язык, начиная с версии 10.1, он был расширен элементами объектно-ориентированной грамматики, которые можно смешивать с исходным процедурным стилем. Блок кода может иметь транзакцию, привязанную к нему, и в этом случае изменения базы данных будут зафиксированы после его завершения. Ошибка, возникшая в таком блоке, отменяет эти изменения. Эти значения по умолчанию могут быть отменены программистом.
Простые программы работают без графического интерфейса пользователя, но есть синтаксис для его программного создания; или программисты могут использовать предоставленные инструменты для его создания.
Примеры
Привет, мир
Следующий код ABL создает окно с текстом «Hello, World!» и кнопку с надписью «ОК».
ОПРЕДЕЛЯТЬ ПЕРЕМЕННАЯ ш В КАЧЕСТВЕ РУЧКА NO-UNDO.СОЗДАЙТЕ ОКНО ш НАЗНАЧЕНИЕ ШИРИНА = 50 ВЫСОТА = 5 ОБЛАСТЬ СООБЩЕНИЙ = ЛОЖНЫЙ СТАТУС-ОБЛАСТЬ = ЛОЖНЫЙ. ТОК-ОКНО = ш.ОПРЕДЕЛЯТЬ КНОПКА btnOK МЕТКА "OK" РАЗМЕР 12 К 1.2.ФОРМА "Привет, мир!" ПРОСМОТРЕТЬ КАК ТЕКСТ В COL 20 РЯД 2 btnOK В COL 20 РЯД 4 С РАМКА ж РАЗМЕР 50 К 5 NO-BOX ТРИ-D.ПОСМОТРЕТЬ РАМКА ж.ВКЛЮЧИТЬ btnOK С РАМКА ж.ЖДАТЬ "ВЫБЕРИТЕ" ИЗ btnOK.УДАЛИТЬ ОБЪЕКТ ш.
Для достижения того же эффекта можно использовать окно сообщения:
СООБЩЕНИЕ "Привет, мир!" ПРОСМОТРЕТЬ КАК ПРЕДУПРЕЖДЕНИЕ ИНФОРМАЦИЯ КНОПКИ ОК.
Также вы можете использовать ОШИБКА
и ПРЕДУПРЕЖДЕНИЕ
вместо того ИНФОРМАЦИЯ
для изменения значков сообщений.
Самая простая программа "Hello, World" выглядит так:
ОТОБРАЖАТЬ "Привет, мир!".
SQL ВЫБРАТЬ
эквивалент
В SQL утверждение:
ВЫБРАТЬ * ИЗ покупатель;
(вместе с выбранным вами языковым соединением и процедурами отображения) может быть выражено в Progress / ABL как:
ЗА КАЖДЫЙ покупатель БЛОКИРОВКА: ОТОБРАЖАТЬ покупатель.КОНЕЦ.
Оператор END не является обязательным в программе такого уровня простоты.
SQL ОБНОВИТЬ
эквивалент
Оператор SQL:
ОБНОВИТЬ покупатель НАБОР продавец = 'Фред' КУДА custno = 14;
(опять же, вместе с выбранным вами языковым подключением и процедурами отображения) может быть выражено в Progress / ABL как:
ЗА КАЖДЫЙ покупатель КУДА покупатель.custno = 14 ЭКСКЛЮЗИВНО-ЗАМОК: НАЗНАЧЕНИЕ покупатель.продавец = 'Фред'.КОНЕЦ.
.. (Были сделаны некоторые предположения об индексировании, блокировке и области транзакций, чтобы упростить этот пример.)
Язык основан на записях, а не на множестве записей. В операциях SQL работают с набором записей, в ABL операция применяется к записи за раз - очень похоже на использование курсора в SQL.
Области применения
Язык используется в самых разных областях, некоторые примеры:
- Предоставление ссуды в банках США
- Системы бронирования прокатных автомобилей
- Оптовая торговля
- Складские системы
- Транспортные Системы
- Диспетчерская служба коммерческой службы
- Системы безопасности карты
- Игровые системы (подумайте о Лас-Вегасе, а не о видео)
Примечания
- ^ Кэмпбелл, Джон, Programmer's Progress, справочник по языку прогресса. программное обеспечение белой звезды, 1991
- ^ Сальвадор Виналс, Введение в OpenEdge Advanced Business Language (ABL), технический документ PSC, 2007 г.
- ^ Кроуфорд, Г. WebSpeed Complete, Innov8 Computer Solutions, ISBN 0-9718679-0-9
Рекомендации
- Садд, Дж. Разработка OpenEdge: Руководство Progress 4GL, Progress Software Corporation, ISBN 0-923562-04-4, ISBN 978-0-923562-04-5
- Кассабги, Г. Специальное издание: Использование прогресса, Que Publishing, ISBN 0-7897-0493-5