На главную страницу

Программный пакет Gelio (v2.1) представляет собой ядро информационной системы ПО управления предприятием, ориентированной для работы с базами данных. Gelio предназначен для программистов, которые занимаются разработкой автоматизированных рабочих мест (АРМ-ов) для автоматизации работы предприятий, использование многих возможностей Gelio, позволит им более быстро и качественно построить информационную систему (ИС) предприятия.

Открытая структура построения
Gelio является системой с открытой структурой построения. Она основана на целом ряде технологий, пакет может подключать к себе АРМ-ы из модулей DLL, BPL (Borland pakage library, их использование уменьшает объем бинарного кода), есть возможность подключения отдельных приложений и используя СОМ-технологии. Эти модули могут предназначаться для выполнения различной работы и могут представлять из себя: законченные АРМ-ы для пользователей, общие блоки нескольких АРМ-ов, модули невидимые пользователю в его работе: модули-генераторы отчетов, модули связи, служебные, администрирования и управления, интерпретаторы и др. Разработчик имея документацию может спокойно дополнять список АРМ-ов, а также заменять их в случае смены алгоритмов их работы.
В Gelio также встроен механизм для оптимизации памяти при работе с модулями - загружаются только нужные для работы, модули которые не используются могут выгружаться сразу или после указанного времени неактивности; есть возможность сконфигурировать постоянно загруженные модули; настройки АРМ-ов задаются локально для модулей, работающих без использования базы данных (БД) или в БД на сервере для остальных.
В Gelio организована автоматическая подгрузка отсутствующих модулей, если это конечно не противоречит принципам защиты, заданным для даного пользователя в базе данных Gelio и отдельно в операционной системе.

Защищенность
Несмотря на свою открытость, Gelio разработан также и с учетом требуемой безопасности: мощные средства разграничения доступа позволяют для каждого пользователя задавать на выполнение только разрешенные ему операции, Gelio дает разрешение на запуск модулей только если у пользователя есть на него разрешение. Также есть поддержка разрешений на операции внутри модулей - Gelio возвращает всю нужную информацию о разрешенных операциях в соответствующие АРМ-ы по текущему пользователю. Вся информация о модулях и о разрешенных операциях находится в служебных таблицах Gelio (в базе данных предприятия) и настраивается служебным лицом, используя соответствующий редактор. Защита может распространяться на любые визуальные элементы, которые могут быть запрещены и выполняется автоматически. Для некоторых особо сложных и специфических случаев программисту дается право использовать эту информацию и управлять визуальными элементами самому в АРМ-е. Кроме этого, при написании АРМ-а нужно учитывать и тот факт, что некоторые элементы могут быть недоступны и обрабатывать эти ситуации.

В отличии от систем, построенных в архитектуре файл-сервер (например на dBase, FoxPro, Paradox), файлы базы данных не требуется открывать для общего доступа в сети. Таким образом, злоумышленник не сможет с любого компьютера сети изменить любые данные, поскольку разграничение доступа и разрешения выполнения операций ограничиваются также штатными средствами SQL-сервера и операционной системы (защита по логину пользователя, ролям, запретам на объекты БД), что дает хорошую защиту от несанкционированного доступа к базе данных предприятия, в том числе и с использованием злоумышленником внешних средств. Кроме этого возможно вести журнал подключений и отключений, а также выполняемых операций пользователями на уровне SQL-сервера, что также повышает защиту от нападений и их анализ.

Диалоговое окно ввода имени и пароля пользователя защищено от получения введенных данных из других программ средствами WinAPI. Пароли в открытом виде нигде не хранятся и по сети передаются в зашифрованном (хешированном) виде. Есть возможность шифрования трафика сети (используя внешние средства, например Zebede), что необходимо при работе с удаленных компьютеров, в том числе и по открытым каналам связи (например Интернет).

Взаимодействие с базами данных
Gelio разработан для работы в архитектуре клиент-сервер. Gelio предоставляет унифицированный доступ к базе данных, в качестве которой используется SQL-сервер Interbase фирмы Borland или более усовершенствованные его клоны Firebird или Yaffil. Работа в архитектуре клиент-сервер позволяет исключить массу проблем при взаимодействии многих операторов в одной сети, это и более скоростная обработка и проверка правильности данных (их актуальность), защита от потерь и несанкционированного доступа к данным и много другое.

Для программиста Gelio дает доступ к базе данных через единственное подключение, что минимизирует накладные расходы при работе с SQL-сервером при использовании множества АРМ-ов (но разработчик может создавать и использовать свои подключения, в том числе и другим базам данных и серверам). Таким образом, пользователю не нужно проходить систему аутентификации при каждом запуске АРМ-а и вводить свое имя и пароль доступа.

Кроме этого, в служебных таблицах Gelio организовано хранилище SQL-запросов (с запоминанием изменений), что позволяет изменять логику приложений, не изменяя их код и иметь возможность откатиться назад, при возникновении ошибок при изменениях. В Gelio расширена поддержка использования таких SQL-запросов: по запросу из модулей они будут создаваться и выполняться на лету, Gelio сам следит за их созданием и удалением из памяти. Таким образом, в модулях не нужно использовать компоненты для создания и обработки SQL-запросов, хранящихся в базе данных, а можно ограничиться всего лишь вызовом заданного SQL-запроса по имени, указать в нужное время о запуске и получить результаты. Все остальное выполнит Gelio.

Интерфейс пользователя и настройки
Gelio разрабатывался с учетом принципов построения удобного пользовательского интерфейса и современных требований к программам, работающим в среде Windows. Одним из самых главных принципов "usability" является: "Человек может нормально воспринимать только семь элементов интерфейса одновременно". Особенно это касается малоопытных операторов, поскольку большое количество элементов интерфейса часто отпугивает их. Загруженность пользовательского интерфейса может привести к некомфортной работе, что в свою очередь увеличивает возможность возникновения ошибок. Поэтому в Gelio используется более понятную парадигму "Объект-Возможные действия". Другими словами, сначала пользователь выбирает на экране нужный объект, а система показывает, какие действия можно выполнить над этим объектом. Именно поэтому в ИС, построенных на Gelio, нет "многоэтажных" меню и длинных списков действий: при смене АРМ-а, меню и панели быстрого доступа Gelio изменяют свое содержимое, подстраиваясь под активный АРМ.

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

Для обеспечения удобного интерфейса, Gelio поддерживает настраиваемый интерфейс пользователя в виде перетаскиваемых и настраиваемых панелей, на которых находятся интерфейсные элементы, главное меню и др. Gelio поддерживает импортируемые меню из модулей и встраивает их в свое основное меню в режимах постоянного доступа и доступа только при активности модуля. Gelio предоставляет АРМ-ам возможность запоминания окон и других интерфейсных элементов, различных параметров приложений. Следуя общим принципам построения, эти настройки для каждого пользователя хранятся в базе данных на сервере, что позволяет "мигрировать" пользователю с компьютера на компьютер по локальной сети и работать в своей привычной и настроенной им среде Gelio, с теми данными, с которыми он работал до этого. Если же нагрузка на сеть должна быть минимальной, то есть возможность запоминания этих данных в реестре ОС (В этом случае некоторые режимы могут быть недоступны, возможно ухудшение защиты пакета программ)

Отчеты
В ядро Gelio включена поддержка нескольких типов генераторов-отчетов с таким расчетом, чтобы программисты в своих АРМ-ах имели возможность одновременно подключать различные генераторы отчетов и работать с тем, который более всего им подходит для выполнения их задач. (Были протестированы такие отчетники как FreeReport v2.2.1.8a и его более мощная версия FastReport v2.4, а также PReport. Технически они помещались в bpl-модули и использовались из любого АРМа, вызывавшего отчет, который был закреплен за данным отчетником. Исходя из технологии можно вполне также использовать генератор отчетов XL Report для работы с программой Microsoft Excel).
Физически отчеты находятся в базе данных на сервере, с указанием модуля генератора отчетов для его обработки. По запросу любого модуля Gelio загрузит нужный модуль с генератором отчетов, сам отчет и сформирует результат (сохраняя для разработчика возможность управлять этим процессом и по необходимости вносить коррективы в алгоритм работы)
Для генераторов со встроенными дизайнерами Gelio поддерживает вызов дизайнера для редактирования отчета с возможностью записи отчета в базу данных.
Gelio ведет статистику запуска отчетов пользователем, в ядро встроено диалоговое окно выбора любого отчета пользователем, поддерживается вызов редактора отчета, создание нового отчета, и имеет возможности сортировки по частоте использования или имени, фильтрацию по АРМ-ам и защитные функции. Эта же статистика используется для генерирования меню быстрого запуска наиболее часто используемых отчетов.

Связь с внешним миром или программные интерфейсы:
На сегодняшний день всегда возникает необходимость обмен данными с другими программными системами, как внутренними, так и внешними. Информационные системы, построенные на ядре Gelio имеют возможность интегрироваться с другими программными системами, поскольку имеют встроенные в Gelio модули експорта данных из табличных документов и отчетов во многие форматы данных, уже ставшие стандартными в мире персональных компьютеров - TXT, HTML, RTF, Microsoft Excel (даже без установленного Microsoft Office), CSV, VCLBDIF, а также импорта данных.

Обработка ошибок
Gelio имеет в своем активе общий для всех модулей обработчик ошибок и поддерживает журналирование этих ошибок (см. swExceptLogger). Это позволяет разработчикам и администратору быстро реагировать на проблемы и устранять их. Получение файлов логов поддерживается с помощью дополнительных подключаемых модулей, которые обеспечивают передачу сжатых таких файлов различными доступными способами - по сети, e-mail и др.


Внедрения
На основе Gelio построена информационная система Чортковского комбината хлебопродуктов, состоящая из нескольких АРМ-ов, ее более подробное описание смотрите здесь.

  В начало      © Александр Соколов, 1998-2003. Написать вебмастеру Письмо web-мастеру FalconSoft
Rambler's Top100
Хостинг от uCoz