Главная

Введение
История создания
Подробнее
Отличия технологии
Программные средства

Обучающие курсы

Условия приобретения

Что нового?
Разработчикам

Публикации

Выставки

Готовые решения

Личные страницы сотрудников

Скачать


 
Эволюция средств программирования Miracle

Miracle - как эволюция средств программирования

     Еще несколько десятков лет назад, компьютер был не более чем механизмом, позволяющим производить математические расчеты. Однако развитие вычислительных средств не только предъявило новые требования к мощности компьютеров, но и по сути создало параллельно с нашим миром новый мир со своим порядками и законами.
     На сегодняшний день виртуальный мир все больше переплетается с миром реальности. И порой они уже не могут существовать друг без друга. И то, что еще недавно не оказывало столь ощутимого влияния на нашу жизнь, с каждым днем становится такой же реальностью, как все то, что нас окружает.
     Информация - основа этого мира. Миллионы компьютеров ежедневно создают, обрабатывают и хранят несметное количество данных. Этот процесс требует не только вычислительной техники, сетевых коммуникаций, но и большого труда огромного числа программистов.
     Эволюция языков программирования, от машинных кодов до объектно-ориентрованных методов, была ориентирована на решение одной задачи - быстрое получение программного решения.
     Один из способов решения данной задачи - упрощение процессов разработки программного обеспечения с одновременным увеличением его надежности.
     Спрос на ПО различного уровня практически не ослабевает. Одновременно сокращается время эксплуатации приложений. Возникают новые требования, методы, подходы, что требует постоянного совершенствования программных продуктов. В результате потребность в языках программирования плавно трансформируется в необходимость организации "конвейеров", решающих главную задачу - уменьшение времени, затрачиваемого на разработку ПО.
     Эволюция мира компьютеров, делая очередной виток, предоставляет целый комплекс решений. Это и CASE-технологии и межплатформенные языки программирования, мощные отладчики и дальнейшее развитие уже существующих языков программирования, методов и подходов. Это вовлечение в проектирование непрофессиональных программистов, в арсенале которых также присутствуют макроязыки, специализированные языки в предметно-ориентированных пакетах, визуальные методы проектирования и многое другое.
     Налицо устойчивая тенденция: с каждым годом все больше людей вовлекается в процесс разработки программных приложений. Эволюция продолжается, и ее очередной виток готовит нам не только новые задачи, но и предоставляет новые возможности предложить собственные решения возникающих проблем.
     Именно в результате попытки предложить комплексное и эффективное решение задачи разработки программных приложений и была создана система Miracle. Система обеспечивает простую модификацию уже используемых решений с одновременным увеличением надежности всего комплекса, обеспечивающего доступ, предоставление и обработку информации.

     В основу системы Miracle легли оригинальные методы и принципы:

1. Трехзвенная архитектура, состоящая из следующих элементов

     • Сервер приложений, отвечающий за хранение и предоставление ресурсов и предоставляющий механизмы для описания правил доступа клиентов к ресурсам, а также обеспечивающий передачу сообщений между приложениями в рамках локальной сети.
    • Клиентская часть системы обеспечивает подключение к серверу приложений, получение списка предоставляемых приложений, запуск и выполнение выбранной пользователем программы.
     • Сервер баз данных отвечает за хранение, предоставление информации, выполнение запросов, обеспечение целостности данных. Сервер баз данных обеспечивается штатными средствами SQL-серверов.

2. Полный набор инструментов для быстрой разработки пользовательских приложений, включающий:

     • Генератор оконных форм. Предоставляет механизм организации визуальных компонентов в необходимую экранную форму. · Генератор приложений. Предоставляет необходимый набор для полного программирования пользовательских приложений. Процесс программирования основан полностью на визуальном подходе. Ни строчки кода! И это не автогенерация текста программы. Это получение результата без написания кода!
     • Конструктор базы данных (структуры). Полный набор механизмов по организации структуры базы данных (создание таблиц, полей, задание необходимых правил поддержки целостности информации, организация отношений между таблицами).
     • Конструктор алгоритмов. Предоставляет достаточный механизм по созданию и отладке алгоритмов обработки информации. В библиотеке функций содержится большое количество элементов для решения многих задач.
     • Конструктор отчетов. Законченное решение, позволяющее подготавливать формы отчетов, как в виде бланков, так и в виде списков. Структура списочных отчетов позволяет конструировать очень сложные формы. При необходимости можно осуществить проектировку отчетов, рассчитанных на применение печатающих устройствах матричного типа, не имеющих возможности работать в "графическом" режиме, либо организовать печать в текстовый файл.

           Все инструменты создают собственные части проекта, которые могут быть использованы для оформления различных пользовательских приложений, т.е. создают возможность для многократного использования ресурсов.

     • Миграция приложений. Механизм позволяющий осуществлять перенос пользовательских приложений из одной Miracle-системы в другую с автоформированием необходимой структуры базы данных, регистрацией сопутствующих отчетов, математических алгоритмов.

3. Ядро системы, обеспечивающее эффективное использование созданных решений, оптимизацию запросов к БД, предоставление доступа, поддержку целостности информации, взаимодействие с SQL сервером.

4. Набор компонентов системы, являющихся основой всех приложений, созданных для решения большого круга задач. Все они разделены на группы:

     • Визуальные компоненты. Обеспечивают отображение информации, элементы управления и оформления.

 

"Окно" "Неизменяемый текст" "Кнопка"
"Редактируемый текст" "Линии" "Группа"
"Радио кнопка" "Часы" "Редактор"
"Список" "График" "Семафор"
"Процесс индикатор" "Путь" "Имидж"
"Объект преобразования данных" "Блок проверки" "Фигурная кнопка"

     •  Объекты базы данных. Обеспечивают навигацию по таблице, ввод данных, их извлечение; управление реляционными отношениями между таблицами, а также сортировку; выборку информации по заданным критериям и управление механизмом транзакций. Указанные возможности обеспечивают следующие компоненты:
"База данных" "Поле" разный тип данных
"Навигатор таблицы" "Линк поле"

     •  Алгоритмы. Элементы математической обработки информации, созданные в рамках генератора алгоритмов и зарегистрированные на сервере приложений.

     •  Специализированные компоненты. Представляют собой набор компонент технологического ряда, обеспечивающих оперативное решение большого числа задач.

Аккумулятор Буфер обмена Выборка и поиск
Генератор уникальной строки Запуск задачи или модуля Информационное окно
Календарь Логический аккумулятор Логический анализатор
Маршрутизатор Массив МЕНЮ
Обмен сообщениями по сети Объект взаимодействия Объект доступа к DBF файлам
Ожидание очистки очереди сообщений Очистка очереди сообщений Переключатель
Персональная настройка Печать отчёта Разделитель
Системная информация Таймер Телетайп
Условие Файл формата .CSV Фильтр - ДАТА
Фильтр - преобразователь Фильтр - ЧИСЛО Фонограф
Форматированный вывод в файл Форматированный файл ЭХО

Несмотря на разнообразие компонент, все они имеют сходные характеристики:

1. Набор сообщений
2. Набор команд
3. Входные информационные параметры
4. Выходные информационные параметры >

     Проектирование решения заключается в организации "схемы" взаимодействия между компонентами, в создании механизма обработки потока сообщений, возникающих во время работы приложения.

     Например, необходимо создать приложение, состоящее из "окна" и "кнопки". При нажатии "кнопки" программа должна прекратить свою работу.
      Для достижения задуманного создадим экранную форму, содержащую требуемые компоненты. Затем произведем программирование "логики" работы приложения, схему работы которого можно задать следующим образом:
Компонент "кнопка" Компонент "окно"
Событие Команда
           "Нажатие кнопки"      "Уничтожить окно"

     Поток сообщений в данном примере выглядит следующим образом ("с" - сообщение, "к" - команда):
с Окно создано - компонент "окно"
с Окно в фокусе - компонент "окно"
с Нажатие кнопки - компонент "кнопка"
к               Уничтожение окна - компонент "окно"
с Окно уничтожено - компонент "окно"

     Данный пример демонстрирует "базовый" механизм проектирования приложений, где:

1. Программа (решение) в Miracle представляет собой "схему" обработки потока сообщений, возникающих в системе.
2. Решение отражает необходимую логику управления потоком сообщений.
3. Проектирование решений не требует усилий, направленных на поддержку "языковых" требований.
4. Все проектирование ведется только визуальными механизмами, т.е. вся работа ориентирована на решение задачи "что хочется получить" на базе элементарных компонентов. Это позволяет программисту направлять все усилия только на решение поставленных задач.
     Все это позволяет не только быстро создавать приложения, но и действительно многократно использовать одни и те же компоненты, оперативно вносить необходимые изменения, которые, чаще всего, требуют всего лишь корректировки процесса обработки потока сообщений.
     Вернемся к предыдущему примеру. Предположим, что стоит задача при нажатии "кнопки" вывести диалоговое окно с вопросом о подтверждении прекращения работы. Для этой цели включим в решение из предыдущего примера новый компонент "информационное окно". Точка, в которую необходимо внести изменения, - "нажатие кнопки". Удалим имеющуюся связь между событием "Нажатие кнопки" и командой "Уничтожить окно" и создадим новую пару отношений между событием "Нажатие кнопки" и командой "Создать информационное окно". Добавим еще одну связь между сообщением информационного окна "ДА" (сообщает о том, что пользователь нажал кнопку "Да" в информационном окне) и командой "уничтожить окно" компонента "окно". Новую схему работы приложения можно выразить следующим образом:
Компонент "кнопка" Компонент "информационное окно" Компонент "окно"
Событие Команда Событие Команда Событие Команда
Нажатие     Создать информационное окно.    
    ДА     Уничтожить окно
        Окно уничтожено  

     Поток сообщений в данном примере выглядит следующим образом ("с" - сообщение, "к" - команда):
с Окно создано - компонент окно
с Окно в фокусе - компонент "окно"
с Нажатие кнопки - компонент "кнопка"
к           Создать информационное окно - компонент "информационное окно"
с НЕТ - компонент "информационное окно"
с Нажатие кнопки - компонент "кнопка"
к          Создать информационное окно - компонент "информационное окно"
с ДА - компонент "информационное окно"
к          Уничтожение окна - компонент "окно"
с Окно уничтожено - компонент "окно"

     Данный пример иллюстрирует легкость внесения изменений в логику работы приложения. Следует сказать, что именно данная легкость и позволяет создавать программные решения в очень ограниченные сроки. Одновременно появляется возможность решать достаточно сложные задачи с использованием ограниченных ресурсов, где готовое решение это не набор "макроопределений", а оформленный "диспетчер сообщений", скорость работы которого, достаточно высока (компоненты приложения организованы в виде внешних файлов формата *.dll и все "накладные" расходы связаны с обеспечением работы "диспетчера сообщений").
     Рассматривая систему Miracle, следует правильно соотносить ее с другими средствами программирования. Уровень абстракции Miracle при проектировании пользовательских приложений выше, чем у стандартных языков программирования, но ниже, чем у CASE средств или систем пакетного проектирования. Это позволяет осуществлять качественное программирование с наименьшими затратами по отношению к многим системам, решающим сходные задачи.
     Стремительное развитие событий, интеграция предприятий, увеличение пропускной способности коммуникаций приведет к появлению все новых потребностей в связи с уменьшением сроков эксплуатации приложений. Создание новых приложений будет происходить в жесточайшем цейтноте. Поэтому информационные системы, имеющие механизмы быстрой адаптации, будут доминировать на рынке программных решений. Побеждать будет тот, кто сможет быстрее приспособиться к постоянно меняющейся действительности.

Информация

общее описание

     Система Miracle, представляет собой полноценную среду создания и эксплуатации корпоративных приложений, связанных с обработкой информации. Основная задача, которую решает система Miracle, это уменьшение времени на разработку пользовательских приложений.
      Достижению этой цели способствует структура системы, состоящая из набора инструментов, методов визуального программирования на базе готовых компонент и комплексного решения по организации самой системы, включающей клиентскую часть, сервер баз данных и специализированный сервер системы Miracle.

принципы программирования

      Визуальное программирование.

технические подробности

Интерфейс доступа к БД

через интерфейс - IDAPI.
Работа с SQL серверами MS-SQL фирмы Microsoft, InterBase фирмы Inprise.

объекты системы

Визуальные.
Объекты базы данных.
Алгоритмы.
Специализированные объекты.

подходы к организации систем

• Решения уровня задачи, т.е. программирование приложения, состоящего из одного и более экранных форм.
• Решения уровня объединения приложений, т.е. схема решения, состоящая из нескольких модулей (приложений), взаимодействующих на уровне сообщений БД.
• Решения уровня системы, т.е. схема решения, состоящая из нескольких модулей (приложений), взаимодействующих в архитектуре клиент/сервер в рамках одного клиента.
• Решения уровня распределенной системы, т.е. схема решения, состоящая из нескольких модулей (приложений), взаимодействующих через механизм рассылки сообщений в сети.

© Москва 1999г. НПФ "И.В.А." В.Горшков


Перейти в раздел "Публикации"

©1991-2000 НПФ "И.В.А."
Дизайн:TDV