Принципы и архитектура построения платформы

advertisement
Описание архитектуры и основных
принципов построения платформы
phorga-aContext
v. 2.5.9
1. Мотивы построения платформы
В практике разработки и поддержки достаточно больших систем
приходится сталкиваться с обстоятельством, когда разработка
продукта (системы) ведется достаточно долгое время, а внедрение
и поддержка системы начинается на ранних фазах готовности
продукта. В этом случае технические требования к финальной
версии продукта не могут быть сформулированы до начала его
проектирования, а уточняются в период реализации. В следствии
этого, при поэтапном проектировании и реализации такой
системы приходится предусматривать возможность дальнейшего
ее развитие без частых изменений ядра, которые делать крайне
затруднительно в момент эксплуатации системы.
Еще одним мотивом является наличие общих функциональных
модулей практически во многих разрабатываемых приложениях.
Их можно назвать: администрирование, обеспечение
безопасности, аудит, локализация, возможность интеграции,
описание объектов приложения и прочее.
В силу названных причин, разработчики платформы попытались
абстрагировать ядро платформы от применения в конкретных
предметных областях, а предоставить возможность построения
моделей без модификации ядра путем описания объектов, связей,
событий и использования внешних компонент.
2. Базовые компоненты платформы
Платформа является Web-приложением, построенным по
технологии Java EE.
EJB-container – JBoss v. 4.2.*
Web-container – Tomcat v. 6.0.*
Database – Oracle 10.*
BPM – jBPM (бизнес-процесс менеджер)
SOA – слой на стороне EJB-контейнера, поддерживающий Webсервисы
OpenOffice – OpenOffice v. 2-3, запускаемый, как сервер и
используемый для генерации документов
Direct Integration – интерфейс прямой интеграции с внешними
приложениями (например, phorga-Vector)
Платформа для работы компонент использует Java SE 5-6.*
phorga-aContext является межплатформенным приложением и
опробована в работе на Linux, Solaris, Windows.
При поставке продукта предпочтение отдается OS Linux и Solaris.
3. Какие задачи можно реализовать с помощью
платформы ?

Задачи описания, инвентаризации объектов любой
природы (в том числе и людей при необходимости).

Отслеживание событий и состояний объектов.

Построение топологически связанных структур объектов
(в том числе организация расчетов по схемам).

Определение порядка восстановления состояния
объектов и определение стоимости восстановления.

Построение и запуск на платформе бизнес-процессов,
взаимодействующих с информацией всей платформы.

Организация хранения документов, изображений и пр,
связанных с объектами или журналами данных.

Информационный обмен данными между приложениями и
пользователями.

Интеграция с ГИС приложениями.

Построение интеграционной платформы или платформы
консолидации данных.
4. Компоненты ядра приложения
EJB-компонента — реализует бизнес-логику приложения,
представляет из себя несколько ear-модулей. Устанавливается в
EJB-контейнер.
Web-компонента — реализует интерфейс пользователя,
представляет из себя один war-модуль. Устанавливается в Webконтейнер.
База данных приложения — хранилище основных данных
платформы.
База данных BPM – хранилище бизнес процессов.
NoticeService – Web-сервис уведомлений о событиях связанных с
объектом платформы
EquipmentInfoService – Web-сервис, передающий по запросу
клиента полную информацию об объекте
phorga-Mobile – Web-приложение для мобильных телефонов с
браузерами (работает в демо-режиме)
5. Языки и скрипты реализации
Java — базовый язык реализации
JavaScript — динамическая работа на клиенте
HTML — создание интерфейса пользователя
XML – пересылка данных
JSON – упаковка данных для JavaScript
SQL – запросы к базе данных
SVG – отображение векторной графики
Jfo – реализация виджетов и отчетов
JSP – реализация интерфейса пользователя на стороне сервера
Velocity - реализация интерфейса пользователя на стороне
сервера
6. Дополнительные технологии и библиотеки,
используемые для реализации платформы
AJAX – асинхронный вызов серверного функционала
JSF – создание интерфейса пользователя с помощью Javaкомпонент
Apache POI – интерфейс к MS Excel
FOP – построение документов и графики
7. Основные функциональные блоки
Блок безопасности — обеспечивает безопасность системы,
включает:




управление доменами безопасности
управление пользователями
управление группами пользователей
аудит работы пользователей
Блок метаданных — обеспечивает мета-настройку системы для
заказчиков, включает:



управление заказчиками
управление информационными слоями
управление представлением данных (в частности
создание деревьев объектов)
Блок настройки системы — обеспечивает настройку системы,
включает:





локализацию
управление компонентами
настройку параметров системы
управление лицензиями
настройку параметров сообщений
Блок интеграции — обеспечивает интеграцию системы с
внешними приложениями, включает:


описание внешних приложений
управление маппингом
Блок моделирования — обеспечивает построение прикладной
модели, включает:




управление
управление
управление
управление
типами объектов
атрибутами объектов
шаблонами
универсальными справочниками
Блок справочной информации — обеспечивает поддержку
работы приложения, включает:

набор системных справочников
Блок построения топологических схем — включает:

дизайнер-схем (содержит инструментарий для создания,
редактирования и просмотра схем)
Блок диагностики — обеспечивает отслеживание состояния
объекта, включает:



управление испытаниями
управлениями дефектами
управление регламентами


управление отказами
управление событиями
Сервисный блок — включает:

управление объектами (создание, редактирование,
просмотр свойств)

управление ассоциативной связью (деревьями)

управление сообщениями

рабочий стол

управление папками и документами
Блок смет — обеспечивает управление стоимостью и работами
восстановления объекта, включает:



управление сметами
управление нормативами
управление работами
Блок бизнес-процессов — обеспечивает интеграцию
платформы с BPM, включает:





интерфейс развертывания бизнес-процессов
настройка бизнес-процессов
управление безопасностью бизнес-процессов
список задач пользователя
управление запущенными бизнес-процессами
Сервер задач — обеспечивает запуск задач в фоновом режиме,
включает:

менеджер задач
Блок отчетов и импорта документов — обеспечивает создание
отчетов, документов, включает:

генератор отчетов по Excel-шаблонов

интерфейс интеграции с OpenOffice для генерации
документов

управление Jfo-виджетами и Jfo/JSP-отчетами
8. Построение модели
Модель — способ описания среды для поддержки объектов
прикладной области, используемых в решении.
Этапы создания модели:

Анализ требований задачи

Настройка безопасности (домены, пользователи)
(Администратор)

Создание информационных слоев и деревьев
(Администратор)

Описание типов объектов, в том числе построение
визуального образа для схем (Моделер)
(входит в описание работы Моделера)

Создание универсальных справочников (Моделер)
(входит в описание работы Моделера)

Определение статусов объектов (Моделер)
(входит в описание работы Моделера)

Описание атрибутов типа (Моделер)
(входит в описание работы Моделера)

Создание шаблонов (Моделер)
(входит в описание работы Моделера)

Заполнение системных справочников

Создание типов событий

Создание и развертывание бизнес-процессов
(Администратор)

Настройка интеграции
(Администратор)

Расширение функционала
(Разработчики)
9. Расширение функционала
В рамках расширения функционала могут выполняться следующие
работы:





создание Jfo-отчетов для типов или объектов
создание JSP-отчетов
создание Excel-шаблонных отчетов
создание Jfo-виджетов
настройка рабочих столов
Download