Ю.Гусев, CSBI EE
Среда разработки приложений на PROGRESS
PROGRESS Application Development Environment (далее ADE) - это функционально полный,
интегрированный набор инструментальных средств, позволяющих создавать и применять
высокопроизводительные приложения для широкого диапазона программно-аппаратных
платформ. С помощью ADE Вы можете создавать все необходимые компоненты приложений - от
графических и алфавитно-цифровых интерфейсов до сложных логических и пакетных процессов,
от отчетов до средств интеграции с внешними программными оболочками. Программирование на
PROGRESS предполагает использование современных подходов к разработке приложений, таких
как: структурированный, объектно-событийный и объектно-ориентированные подходы.
Среда разработки приложений PROGRESS ADE состоит из следующих компонентов:
Построитель Интерфейса Пользователя (User Interface Builder) является объектно-
ориентированной средой визуального программирования, которая позволяет Вам быстро строить
самые сложные приложения, просто задавая связи между поставляемыми фирмой или созданными
Вами многократно-используемыми (reusable) объектами. В дополнение к технологии визуальной
разработки экрана и использованию уже созданных объектов, Построитель Интерфейса имеет
логику доступа к данным и средства автоматической генерация кодов пользовательского
интерфейса, что позволяет значительно увеличить производительность труда разработчиков и
качество самого приложения. При этом использование Построителя Интерфейса PROGRESS
уменьшает стоимость разработки приложения за счет уменьшения количества непосредственного
кодирования, которое приходится выполнять разработчикам.
Визуальное программирование.
При помощи Построителя Интерфейса можно быстро создавать сложные приложения,
использующие базы данных. Для этого Вы, используя технику визуального программирования,
просто определяете и размещаете в нужных местах экрана объекты баз данных и
пользовательского интерфейса,. Пользовательские интерфейсы содержат набор различных
графических объектов, обеспечивающих пользователю взаимодействие с приложением. Элементы
интерфейса включают в себя командные кнопки, раскрывающиеся меню, радио-клавиши и
т.д..
Объектами баз данных являются таблицы и поля. Для добавления объекта на экран, например
командной кнопки, Вы просто выбираете ее из предлагаемого Вам набора и перемещаете в
желаемое место на экране. Аналогичная процедура проделывается и для полей базы данных:
Построитель Интерфейса предлагает список полей базы данных, из которых Вы выбираете
нужные Вам поля и, затем, позиционируете их в нужное место на экране. Объекты базы данных
отображаются в соответствии с логикой атрибутов и умолчаний, наследуемых ими от Словаря
Данных. Все установки по умолчанию при этом могут быть изменены для отображения данных в
соответствии с конкретными требованиями приложения.
Построитель Интерфейса позволяет отображать на экране или в окне одиночную запись или сразу
же список записей базы данных. Список записей автоматически обрабатывается интеллектуальным
интерфейсом, включающим в себя всю необходимую логику, необходимую для просмотра и
перемещения по полученному результирующему набору записей в режиме скроллинга вперед или
назад, вне зависимости даже от того, поддерживает ли его Ваша конкретная СУБД или нет. Как
одиночные записи, так и списки записей могут содержать и отображать информацию из
многочисленных баз данных различных форматов. Связанная с записью информация может быть
представлена в том же самом окне, в раскрывающихся окнах или таблицах.
Использование ранее созданных объектов (reusable objects)
Построитель Интерфейса делает процедуру создания, поиска, управления и использования ранее
созданных объектов весьма простым делом. Определение пользователем объектов Построителя
Интерфейса увеличивает Вашу производительность, позволяя воспользоваться результатами той
работы, которая уже была проделана Вами или членами Вашей группы разработчиков. Повторно
используемые объекты могут быть созданы либо при помощи Построителя Интерфейса либо
Редактора Процедур, и могут содержать в себе программный код, определение объектов
Интерфейса, или то и другое вместе взятое. Если Вы собираетесь переходить к объектно
ориентированному принципу разработки приложений, то использование определяемых
пользователем объектов интерфейса будет вашим первым шагом в этом направлении.
Поддержка интерфейсов для символьных и графических терминалов
Построитель Интерфейса работает только на графических станциях, но его возможности по
эмуляции пользовательского интерфейса для символьных терминалов, позволяют создавать и
тестировать интерфейсы, предназначенные для символьных терминалов точно также, как и
интерфейсы для графических (GUI) приложений. В результате Вы получаете повышение общей
производительности, так как от Вас требуется знание только одного типа Построителя
Интерфейса Пользователя.
Различные платформы, под которые разрабатывается Интерфейс Пользователя, такие как
Windows, Motif и символьные терминалы, рассматривают процедуру позиционирования и
определения размеров объектов пользовательского интерфейса с совершенно различных точек
зрения. Возможность Альтернативной Планировки экрана (Alternate Layout) в Построителе
Интерфейса использует свойство наследования для того, чтобы позволить Вам быстро создавать и
модифицировать различные версии одного и того же окна для самых различных терминалов.
Альтернативная Планировка позволяет сохранять и компилировать различные варианты
графических окон в одном исходном файле, что упрощает распространение приложений,
предназначенных для работы на терминалах в различных графических средах. Подобные
возможности позволят Вам быстро и эффективно проектировать по-настоящему переносимые
приложения.
Генерация 4GL кода
Построитель Интерфейса включает в себя мощные средства для генерации кода, нацеленные на
снижение стоимости разработки сложных форм, меню и экранов, предназначенных для управления
списками файлов. В отличие от аналогичных средств, Построитель Интерфейса PROGRESS
"заранее" знает о типе используемых данных и автоматически генерирует необходимую логику для
взаимодействия с конкретными данными. Это означает, что Вам не нужно знать язык SQL для
использования Построителя Интерфейса. В подавляющем большинстве случаев вся логика
взаимодействия с данными Вашего окна генерируется автоматически - Вам не требуется даже
визуально определять ее. Эти возможности по генерации кода позволяют создавать и встраивать в
Построитель Интерфейса повторно используемые формы и шаблоны, содержащие логику
приложения, тем самым увеличивая производительность разработки, надежность самого
приложения и уменьшая стоимость его последующей поддержки.
Построитель Интерфейса является открытым средством разработки, поддерживающим стандарт
Программного Интерфейса Приложений (API), что позволяет включать в процесс разработки
приложений на PROGRESS программные средства, разработанные третьими фирмами, такие,
например, как системы контроля за версиями исходного кода. Так как все окна и формы,
генерируемые Построителем Интерфейса хранятся в виде отдельных самостоятельных текстовых
файлов, содержащих процедуры, написанные на языке PROGRESS 4GL, то Вы можете свободно
использовать их в нескольких приложениях или модифицировать и улучшить эти процедуры,
используя любые подходящие для этой цели средства, включая текстовые редакторы и системы
контроля за версиями исходного кода. Даже, если сгенерированная процедура на языке 4GL была
модифицирована, то она все равно может быть загружена обратно в Построитель Интерфейса для
ее дальнейшего редактирования уже в графическом виде.
Событийно-управляемое (Event-Driven) Программирование и Триггеры (Triggers) Интерфейса
Пользователя. Возлагая на приложения заботу о пользователе, событийно-управляемые
приложения, написанные на PROGRESS, делают труд пользователей более продуктивным и
приятным. Наряду с управлением визуальными атрибутами интерфейса пользователя,
Построитель Интерфейса позволяет Вам определять, - каким образом приложения должны
реагировать на происходящие внешние события. Конечные Пользователи взаимодействуют с
событийно-управляемыми приложениями посредством набора операций, называемых событиями
интерфейса пользователя. В качестве примера одного из таких событий можно привести выбор
опции меню, ввод данных в поле, изменение размера окна, нажатие клавиши на экране.
Построитель Интерфейса позволяет создавать процедуры на языке 4GL, связанные с этими
событиями. Эти процедуры называются Триггерами Интерфейса Пользователя. Редактор
Триггеров, встроенный в Построитель Интерфейса позволяет быстро понять и отредактировать
логические взаимосвязи между тем, как будет выглядеть и, как будет реагировать на внешние
события Ваше приложение.
Определение Триггеров Интерфейса Пользователя для любого элемента или события, дает Вам
возможность более гибкого контроля за поведением приложения.
Организация исходного кода и логики приложений.
В дополнение к определению объектов интерфейса пользователя и триггерам, оконные объекты
PROGRESS также инкапсулируют определения переменных и внутренних процедур или "методов".
Наличие этих элементов поможет Вам легко создавать и поддерживать сложные многооконные и
многомодульные приложения, характерные для современного мира. Редактор Разделов (Section
Editor) в Построителе Интерфейса позволяет создавать и размещать разделы этих определений для
эффективной координации взаимодействия модулей в приложениях со сложной логикой работы.
Редактор Разделов обеспечивает быстрый доступ и возможность редактирования следующих
разделов для оконных объектов:
Завершенность и гибкость
Построитель Интерфейса сочетает в себе мощь, завершенность и переносимость языка 4-го
поколения PROGRESS (4GL). Экраны и окна, спроектированные на одной машине под одним
пользовательским интерфейсом (MS Windows, Motif или символьный) легко могут быть
перенесены и запущены на другой машине с другим пользовательским интерфейсом. Такая,
присущая языку переносимость, максимизирует продуктивность разработки и позволяет Вам
использовать однажды разработанное приложение на огромном множестве платформ, не прибегая
к дополнительному перепрограммированию.
Словарь Данных PROGRESS содержит все необходимые средства для создания и поддержки
определений базы данных и системы умолчаний в Ваших приложениях. Словарь Данных является
центральным элементом хранения всех определений объектов базы данных, изолируя тем самым
приложение от специфических деталей и особенностей размещения каждой конкретной базы
данных.
Словарь Данных PROGRESS также:
Проверка корректности ввода данных и триггеры базы данных
Словарь Данных позволяет определить набор правил для проверки вводимых данных и их
целостности, включая процедуры на 4GL. Эти правила носят название триггеров базы данных.
Триггеры написаны на PROGRESS 4GL и связаны с определением конкретной таблицы или поля в
Словаре Данных. PROGRESS автоматически выполняет триггер базы данных всякий раз, когда
программа обращается к соответствующей таблице или полю. Триггеры используются для
принудительной проверки корректности ввода данных, обеспечения безопасности и поддержки их
целостности. В сочетании с другими установками по умолчанию, хранимыми в Словаре Данных,
применение триггеров существенно снижает затраты сил и времени на разработку приложений,
именно по причине их центрального хранения вместе с данными.
Для программирования тех частей Вашего приложения, разработка которых средствами
визуального программирования затруднена, например сложных вычислительных процедур или
процедур пакетной обработки, в Среду Разработки Приложений PROGRESS введен Редактор
Процедур, имеющий все необходимые средства для удовлетворения нужд разработчика по
написанию программ.
Редактор Процедур позволяет быстро создавать, модифицировать и тестировать сложные,
многократно используемые процедуры, которые могут использоваться всеми членами группы
разработчиков и могут вызываться из любого места программы.
Редактор Процедур поддерживает полный набор средств редактирования, включая вставку и
удаление блоков, поиск и замену фрагментов текста и многие другие, позволяющие делать
масштабные изменения в текстах нескольких программ одновременно.
Редактор интегрирован с остальными средствами Среды Разработки Приложений PROGRESS. Не
выходя из Редактора Процедур, Вы можете:
Это графическое средство, которое позволяет пользователю определять внешний вид и содержание
генерируемых отчетов. С его помощью можно создавать множество разнообразных отчетов, в том
числе:
Язык Четвертого Поколения PROGRESS (4GL) является функционально полным
высокоуровневым , объектно-ориентированным языком разработки приложений, который
позволяет удовлетворять всем требованиям, предъявляемым к современным приложениям, в тоже
время уменьшая сложность и повышая производительность их разработки.
4GL содержит все необходимые программные конструкции для решения самых различных
аспектов программирования сложных приложений без необходимости прибегать к менее
эффективным и менее переносимым языкам третьего поколения. Кроме этого, 4GL обеспечивает
поддержку и переход между тремя основными принципами программирования:
структурированным, событийно-управляемым и объектно-ориентированным, - от Вас не требуется
осваивать новые принципы программирования для того, чтобы успешно работать с PROGRESS.
Для завершения процесса разработки промышленного приложения Вам потребуются средства
разработки не только логики взаимодействия с пользователем, но также потребуются средства для
решения таких важных задач, как:
Отладчик Приложений предоставляет Вам полный набор средств для поиска, локализации и
исправления ошибок или ошибочных данных в любой из компонент приложения. Отладчик
позволяет проследить и понять логику работы программы, просмотреть содержимое буферов
приложения и переменных, просмотреть информацию о состоянии программной среды,
трассировать обработку событий. Используя Отладчик Приложений, Вы можете легко и быстро
протестировать приложения, уменьшая время разработки в частности и повышая надежность
приложения в целом.
Отслеживание передачи управления в приложении.
После того, как процедура загружена в Отладчик Приложений, легко видеть, какие параметры
приложения изменяются, какие операторы выполняются, какие процедуры вызываются из данной,
какие триггеры срабатывают. Отладчик позволяет установить точки прерывания на операторах
программы и просмотреть в них состояние буферов данных и значения переменных.
Просмотр объектных сообщений и информации о состоянии.
Применение Отладчика Приложений упрощает тестирование объектно-ориентированных
приложений, так как позволяет просмотреть состояние инкапсулированных объектов и методов
для данных и пользовательского интерфейса. Также, во время исполнения приложения возможно
производить отслеживание сообщений, посылаемых объектами.
Трассировка событий.
Для того, чтобы Вам было легче понять смысл событийно-управляемой модели программирования
PROGRESS, Отладчик Приложений позволяет просмотреть список событий, инициированных
действием пользователя, и легко проследить, какие триггеры срабатывают при этом.
Отладчик Приложений является полностью настраиваемым, предоставляя Вам возможности по
созданию макрокоманд, определению панелей и установке заранее определенных точек
пребывания и переменных для наблюдения. Все эти установки могут быть сохранены в
конфигурационном файле и загружены в любой момент времени.
Утилита-справочник PROGRESS On-Line Help предоставляет Вам все возможности для включения
в приложения контекстно-ориентированной справочной информации в режиме On-Line. On-Line
Справочник разработан таким образом, что Вы можете использовать либо справочные
возможности собственно операционной системы (например, справочник Windows), либо можете
воспользоваться справочной системой PROGRESS. Но в любом случае требуется лишь однажды
создать справочный текст, чтобы включать его в дальнейшем в любые приложения для работы на
любых платформах.
Для создания справочной информации по приложению можно использовать любой текстовой
процессор или настольную издательскую систему. Как только справочный текст написан, On-Line
Справочник может быть использован для включения его либо в приложение, либо в собственный
справочник операционной системы, если такой имеется. Дополнительно к тексту в справочник
можно включать картинки, графики и другую визуальную информацию.
Усовершенствованные справочные возможности
Кроме функции простого справочного текста, On-Line Справочник обеспечивает поддержку
следующих возможностей:
Пользователи могут выделять слова
или фразы, по которым затем они могут перейти к соответствующим разделам
в справочнике. Подобный способ значительно облегчает конечным
пользователям процесс изучения Вашего приложения.
Менеджер Переводов упрощает задачу перевода приложений PROGRESS на другие языки. Это
средство может быть также использовано для упорядочения терминологии в рамках организации
или отдела. При использовании Менеджера Переводов, процесс перевода не требует от Вас
специальных предварительных приготовлений. Нет необходимости выделять текст в отдельный
файл или набор файлов, что, несомненно, упрощает разработку, так как все текстовые сообщения
остаются в модулях приложения. После того, как разработка приложения завершена, Менеджер
Переводов запускается для поиска в компонентах приложения текстовой информации, включая
заголовки, тексты в меню, разъяснительную информацию и т.д. Исходное приложение при этом не
изменяется.
Вся текстовая информация из приложения помещается в специальную базу данных Менеджера
Переводов. Данный шаг позволяет многим пользователям работать над проектом одновременно.
После того, как база данных создана, Менеджер Переводов предоставляет пользователям,
имеющим опыт перевода, формы, в которых им предлагается ввести перевод заданного
текста.
Когда перевод завершен, Вы просто берете базу данных, содержащую переведенный текст, и
перекомпилируете приложение. Компилятор PROGRESS автоматически извлекает из базы
переведенный текст и помещает его в приложение. В этот момент процесс перевода приложения на
другой язык считается завершенным. Конечные пользователи выбирают для себя вариант языка,
на котором они хотят работать, - и интерфейс приложения оказывается написанным на нужном
языке. Переключение с языка на язык может осуществляться и во время работы с приложением,
позволяя, например, русскоязычным пользователям генерировать отчеты на английском языке и
т.д.
Использование Менеджера Переводов - это еще один пример того, как обеспечивается полная
поддержка всех этапов разработки приложений в среде PROGRESS.
Утилита Результаты - это средство доступа к данным и формирования отчетов для конечного
пользователя, которое позволяет непрограммистам удовлетворять собственные потребности по
обработке данных и создании отчетов. Утилита Результаты работает в режиме образца-подсказки
при создании запросов и отчетов. Пользователь начинает работу с построения запроса к базе
данных. Затем при помощи меню-управляемого интерфейса он создает запрос для выбора
информации из базы, которую он хотел бы видеть в отчете.
После того, как запрос определен, у пользователя имеется возможность просмотреть полученную
информацию в различных форматах, включая:
- выбранные данные отображаются по одной записи для
детального изучения информации
Среда разработки приложений PROGRESS ADE включает в себя две утилиты, называемые
Средствами Оптимизации Качества и предназначенные для настройки параметров среды в
приложениях и базах данных PROGRESS с целью максимального увеличения общей
производительности.
Средство Оптимизации Качества Приложения Позволяет пользователю собирать и измерять
статистическую информацию, касающуюся качества PROGRESS процедур. Разработчики могут
оценить, как много времени требуется для выполнения каждой компоненты, и каким будет
изменение качества работы приложения в зависимости от внесенных изменений.
Средство Оптимизации Качества Базы Данных
Средство Оптимизации Качества Базы Данных отслеживает и измеряет интенсивность обращений
к базе, использование ресурсов и состояние базы данных PROGRESS. На основе информации,
полученной от данного оптимизатора, разработчики и администраторы могут точнее настроить
базу данных для получения оптимального качества приложения.
Когда Ваше приложение должно устанавливаться в различных местах, то сразу возникает ряд
вопросов.
Будет ли разрешено пользователям модифицировать имеющиеся процедуры и, возможно,
добавлять новые?
Будет ли разрешено пользователям изменять определения Словаря Данных?
Есть ли необходимость поставлять обновленные версии приложения без повторной поставки всей
системы?
Утилита Tools содержит набор программ, предназначенных для упаковки и распространения
приложений PROGRESS, включая программы для:
Администратор базы данных позволяет разработчикам приложений и администраторам базы
данных выполнять множество разнообразных задач по поддержке базы данных, таких как: