Модули платформы B4

Post on 16-Jun-2015

792 views 6 download

description

Габидуллин А. Модули платформы B4

Transcript of Модули платформы B4

+

АльбертГабидуллин

Докладчик:Решения для электронного правительства и электронизация государственных услуг

Больше, чем технологии!

Платформа B4: многообразие готовых модулей для разработки

Архитектура

Уменьшение количества потенциальных ошибок

Возможность быстрого расширения функциональных возможностей решения

Больше, чем технологии!

Ядро

Security

ReportPanel

Прикладное решение

ECM7

Добавление и обновление

Больше, чем технологии!

Сборку соответствующего модуля –> каталог /modules

Рестарт приложения (веб-сервер/интерфейс)

Сборка из каталога /modules –> каталог /.modules

Миграция БД

Модуль «ECM7»

Миграция базы данных – процесс внесения изменений в БД в ходе разработки (структура)

Больше, чем технологии!

Миграция БД. Для чего?

Больше, чем технологии!

Исключение возможности появления ошибок

Возможность отката структуры БД на более раннюю версию

Независимость от используемой СУБД

Автоматизация процесса развертывания БД на любом сервере

При разработке последовательно создаются классы с описанием

необходимых изменений и указанием номера версий.

Клиентский интерфейс для проведения

миграций.

Миграция БД. Как?

Больше, чем технологии!

Таблица в БД, хранящая актуальную информацию об актуальной версии миграции

по каждому модулю.

Используемый фреймворк ECM7 предоставляет API для

выполнения миграций.

Клиентский интерфейс для проведения

миграций.

SchemaInfo Up & Down

API Интерфейс

Миграция БД. Интерфейс.

Больше, чем технологии!

Безопасность и права доступа

Модуль «Security»

Аутентификация. Авторизация. Роли. Разграничение прав пользователей.

Больше, чем технологии!

Безопасность и права доступа

Больше, чем технологии!

Василий

АдминистраторРедактирование

справочников

Управление ролями

Руководитель отдела

Редактирование состава отделаАнатолий

Пользователь РольПрава

Безопасность и права доступа

Больше, чем технологии!

• Пользователи• Создание/Редактирование

пользователей. • Платформа предоставляет

интерфейс для добавления логики работы с пользователями

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

Безопасность и права доступа

Больше, чем технологии!

• Роли• Простой справочник• Добавление/Редактирование/

Удаление ролей через интерфейс (inline-грид)

Безопасность и права доступа

Больше, чем технологии!

• Права доступа• Класс-наследник PermissionMap, в

конструкторе которого перечисляются права

Namespace("ERegion.Dictionary", "Справочники");Permission("ERegion.Dictionary.Edit", "Редактирование");CRUDandViewPermission("ERegion.Dictionary")

Безопасность и права доступа

Больше, чем технологии!

Привязка прав к роли

Безопасность и права доступа

Больше, чем технологии!

Проверка ограничений

На сервере

• Основной метод проверки прав – Grant. Передаем текущего пользователя и название ограничения

• Формирование меню в зависимости от наличия тех или иных прав

• Атрибуты для класса контроллера

На клиенте

• Возможность применять ограничения к отдельному клиентскому компоненту

• Плагины для применения ограничений:• Плагин для применения ограничений к гриду• Плагин для применения ограничений к конкретный полям формы• ……

• Вспомогательные функции для применения ограничений

• Вспомогательные функции для выбора компонентов, к которым необходимо применить ограничение

Отчеты

«Reports» и модуль «ReportPanel»

Вывод печатных форм отчетов в формате Word и Excel

Больше, чем технологии!

Отчеты

Больше, чем технологии!

Reports

Является компонентом ядра1

Предоставляет интерфейсы для генерации отчетов

Работает на основе шаблонов 3

2

Отчеты. Reports. How To.

Больше, чем технологии!

Добавление шаблона в ресурсы

Добавление класса-наследника BaseReport

Добавление метода контроллера, отвечающего за формирование и отдачу отчета на клиент

Добавление кнопки в клиентском интерфейсе для обращения к соответствующему методу контроллера

Отчеты

Больше, чем технологии!

ReportPanel

• Добавляет клиентский интерфейс для формирования печатных форм отчетов • Позволяет передавать параметры для формирования отчета

Готовые модули

AdminPanel – панель администратора1

Больше, чем технологии!

Готовые модули

AdminPanel – панель администратора1

Больше, чем технологии!

State – работа со статусами2

Готовые модули

FileStorage – работа с файловой системой3

Messenger – сообщения внутри системы и через SMTP

UserProfile – пользовательские параметры

6

Audit – логирование действий пользователя

7

KLADR – работа с КЛАДР 5

4

Больше, чем технологии!

+Спасибо за внимание!