Продукты
Форга-Контекст
Форга-Контекст

Форга-Контекст - универсальная, интерактивная, легко расширяемая платформа,
реализованная на Java EE технологии, предназначенная для разработки
Web-приложений разного назначения

На платформе реализована информационная система Форга-Энерго.

Документы:
Принципы и архитектура построения платформы
Правила описания графического представления объектов

Краткое описание функциональных возможностей платформы phorga-aContext


1.Администрирование, система безопасности, локализация

Основные возможности администрирования доступны в системе для единственной роли Администратор. Система безопасности построена по функционально-доменному принципу. Домен – область безопасности, проецируемая на область хранимых данных. В данной системе – предприятие/подразделение, чьи данные защищены от несанкционированного доступа из других доменов. Администратор имеет возможность управлять доступом пользователей в систему:
  • создавать и редактировать домены безопасности
  • добавлять/редактировать/активировать/деактивировать учетные записи и пользователей системы
  • устанавливать роли для пользователей системы
Администратор имеет возможность ограничивать — запрещать/разрешать доступ к системе с определеннных IP-адресов. Кроме того, в системе определены роли Супервизоров. Задача Супервизора назначить Ответственных за создание и редактирования блока данных системы. Это дает возможность ограничивать доступ на редактирование данных нескольких пользователей одновременно. Построение информационного окружения системы. Администратор имеет возможность определить информационные слои системы. Информационный слой — зона видимости атрибутов объектов. Имеется возможность использовать систему для некоторого количества клиентов/заказчиков (customers) одновременно. При этом объекты и другие ресурсы будут разграничены по принадлежности к клиенту. Администратор может добавлять/удалять клиентов системы, связывая с каждым клиентом набор деревьев для информационных слоев.

Логирование работы пользователей в системе. Администратор имеет возможность просмотреть работу пользователей:
  • кто, когда, с какого адреса работал с системой
  • какие изменения пользователь выполнил
  • сколько общего времени пользователь отработал с системой

Локализация Языковая локализация предоставляет возможность Администратору настроить систему для работы на разных языках и в разных алиасах (например, для разных заказчиков). Локализуемые объекты:
  • метки
  • параметры
  • меню
  • сообщения
Все локализуемые объекты храняться в базе данных по принципу: ключ, язык, значение. Эти обекты доступны на редактирование или создание новых объектов.

2.Моделирование

Основные возможности моделирования доступны в системе для единственной роли Моделер. Моделирование представляет из себя процесс описания типов и атрибутов объектов. Для описания типа используется следующие возможности:
  • создание и редактирование типов объектов
  • указание уникального имени
  • описание видимости атрибутов профиля объекта
  • описание свойств типа: контейнерность, исполняемость и прочее
  • графическое описание типа с использованием JSON
  • связывание типа с видами топологических схем
  • связывание типа с информационными слоями
  • добавление исполняемых скриптов для отчетов, валидации объектов данного типа
  • добавление иконки представления данного типа
  • описание атрибутов типа
Для описания атрибутов типа используются:
  • указание уникального имени
  • указаниие типа данных (строка, число, дата, подключаемый справочник)
  • указание индекса и видимости атрибута

3.Используемые языки программирования и скрипты
  • Jpho
  • JavaScript
  • частично Groovy


Ниже на схеме показано каким образом описывается объект через тип и атрибуты:




Создание справочников для типов. Моделер имеет возможность создать справочник вида — уникальное имя, локализация, идентификатор, и подключить его к использованию в описании атрибутов.

3.Управление данными

Каждый объект системы представляет из себя пару описаний: Профиль объекта и Расширение. Профиль объекта включает в себя следующие основные атрибуты:
  • идентификатор объекта
  • уникальное имя
  • тип объекта
  • марка (подтип)
  • связь с доменом безопасности
  • идентификатор клиента
  • дата/время - начало жизненного цикла
  • дата/время - конец жизненного цикла
  • индекс состояния
  • индекс значимости
  • индекс достоверности информации об объекте
  • набор подключаемых ресурсов — картинки, документы, скрипты
  • прочее
Расширение представляет из себя атрибуты со значениями, определенные в описании типа.
Супервизоры создают структуру отображения объектов: деревья объектов, контейнеры и прочее, назначают Отвественных за редактирование блоков данных. Ответственные создают/редактируют объекты, связывая объекты с ветвями деревьев (ассоциативная связь) или контейнеров (контейнерная связь). Для топологической связи между объектами Ответственные могут создавать и редактировать топологические схемы. Для этого используется встроенный дизайнер схем. Отображение объектов на схемах и их точки соединения определяются JSON описанием в типе объекта.

Ниже схема показывает связи между объектами:




Жизненный цикл объекта определяется журналами событий. (Сейчас идет работа над объединением журналов в один журнал и связью с бизнс-процессами) А состояние объекта оценивается по связанным с событиями оценочными значениями и критериям (наблюдение, дефекты/отказы, тесты и прочее).

4.Прочие возможности

В системе реализована возможность создавать папки документов и встраивать их в деревья объектов. В папках возможно хранение любых документов (файлов). Они доступны для загрузки пользователей. Также реализована возможность создание текстовых и HTML документов напрямую в системе с сохранением их в папках. В папках могут содержаться запускаемые отчеты с использованием XLS-образцов.

В системе реализована возможность создания отчетов/виджетов с использованием скриптов и подключением их к объектам. Для выполнения отчета пользователю достаточно выбрать объект, выбрать тип скрипта и запустить его на исполнение. Причем для объекта могут использоваться скрипты, связанные с типом и скрипты, связанные непосредственно с объектом. На данный момент в качестве скрипта используется Jfo. (Jfo — скрипт, реализованный на Java, автор Игорь Томасов)
Виджеты могут быть опубликованы или на Инфо странице системы или на статических страницах сайтов. Виджет представляет из себя объект с подключаемыми скриптами. При публикации виджетов на сайте используется прокси для обеспечение связи между сайтом (Frontend) и системой (Backoffice).

В системе реализована возможность управления Сообщениями. Пользователь может создать сообщение, связав его с конкретным объектом системы и направить его другому пользователю или роли. Также имеется возможность подключить к сообщению файл(ы). Пользователь видит и может ответить на сообщения отправленные ему или его роли.

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

5. Построение решения/модели

Платформа phorga-aContext может быть использована для построения решения/модели для различных прикладных областей. Упрощенное описание процесса можно увидеть на следующей схеме:




Платформа может использоваться и для разделения доступа к решению/модели через Backoffice - внутрифирменное и привилегированное обслуживание и Frontend - публичное обслуживание через сайт.
Это схематически изображено ниже:




6. Технические характеристики

Используемые компоненты и технологии:
Базовая технология - Java EE (SUN)
Компоненты: