Реализация графического интерфейса
В целях переносимости FloraWare по минимуму использует из соответствующего GUI только отрисовку BMP и курсора мыши, все графические элементы реализуются самостоятельно. Есть реализации такой архитектуры на GUI-Windows, SVGA, GUI Xphoton, GUI Photon, GUI X, GUI-FrameBuffer.
В целях оптимизации FloraWare есть отрисовки графических элементов непосредственно соответствующим GUI.
В таблице приведены используемые GUI и имена исполняемых модулей в зависимости от операционной системы.
* - Для Linux, из-за работы SVGA только с правами пользователя Root, реализована архитектура Экранного Менеджера, при которой отрисовку осуществляет демон, запущенный под Root, а инстанции Флоры запускаются с правами пользователей. Инстанции могут одновременно запускаться с нескольких терминалов.
8.2 Реализация технологии "хост-терминал"
В общем случае приложение FloraWare имеет визуальные объекты и реагирует на клавиатуру и мышь. Если FloraWare запущенна в среде Windows ,Photon или X, то работа производится стандартными способами.
FloraWare имеет собственные средства для реализации архитектуры хост-терминал. В качестве хоста может выступать любая инстанция FloraWare. В качестве терминала также инстанция FloraWare или терминальное приложение. В инстанциях FloraWare с одной стороны запускается приложение “Сервер Удаленного Доступа” с другой “Терминальный Клиент”. Могут взаимодействовать хост и терминал, запущенные на различных платформах. Если у хоста есть собственный экран, клавиатура и мышь, можно одновременно управлять инстанцией и с хоста, и с терминала. Реализован соответствующий сервис, запускающий FloraWareпо запросу от терминала.
Реализация интерфейса работы с базами данных
Для организации работы с базами данных пользователю предоставляется группа объектов. Сами эти объекты реализованы с использованием интерфейсов BDE, OCI, ODBC и PostgreSQL. Возможность работы с конкретной базой определяется наличием драйвера в соответствующем интерфейсе.
В таблице показаны интерфейсы работы с СУБД в зависимости от операционной системы.
В таблице перечислены СУБД, работа с которыми была проверена.
Реализация межмашинного взаимодействия
Деревья объектов Флоры на разных инстанциях могут иметь общие ветви. Реализуется это с помощью Флора-сети. В этих ветвях могут быть “Целые”, “Действительные”, “Строки” и “Функции”, причем управлять состоянием таких объектов по сети нельзя, доступны только значения и вызовы. Есть соответствующее API для реализации узла Флора-сети в приложениях на C++.
Наличие прекрасно реализованных объектов “Сетевой порт” и “СОМ порт” позволяют пользователю самому программировать сетевое взаимодействие.