ݺߣ

ݺߣShare a Scribd company logo
Платформа B4: многообразие готовых модулей
  для разработки




                       +


Докладчик:
                              Решения для электронного правительства и
Альберт                       электронизация государственных услуг
Габидуллин
                                                Больше, чем технологии!
Архитектура
                                     Возможность быстрого
                                     расширения
                        Security     функциональных
                                     возможностей решения




                                     Report
                 ECM7   Ядро         Panel




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

                                              Больше, чем технологии!
Добавление и обновление


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



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




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



                                              Больше, чем технологии!
Миграция БД




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




                                   Больше, чем технологии!
Миграция БД. Для чего?


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


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



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



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


                                               Больше, чем технологии!
Миграция БД. Как?

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


                              SchemaInfo   Up & Down




                                 API       Интерфейс


  Используемый фреймворк                                 Клиентский интерфейс
                                                        Клиентский интерфейс
 ECM7 предоставляет API для                                 для проведения
                                                           для проведения
   выполнения миграций.                                        миграций.
                                                             миграций.

                                                                Больше, чем технологии!
Миграция БД. Интерфейс.




                          Больше, чем технологии!
Безопасность и права доступа




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




                                                          Больше, чем технологии!
Безопасность и права доступа

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

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

   Василий                           Управление
                        …              ролями

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

                                     Больше, чем технологии!
Безопасность и права доступа



                   • Пользователи
                      • Создание/Редактирование пользователей.
                      • Платформа предоставляет интерфейс для
                        добавления логики работы с
                        пользователями




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



                                                   Больше, чем технологии!
Безопасность и права доступа



               • Роли
                 • Простой справочник
                 • Добавление/Редактирование/Удаление
                   ролей через интерфейс (inline-грид)




                                            Больше, чем технологии!
Безопасность и права доступа



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




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



                                                         Больше, чем технологии!
Безопасность и права доступа


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




                                      Больше, чем технологии!
Безопасность и права доступа


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

                              На клиенте
                                 сервере

 • Возможность применять ограничения к отдельному клиентскому
   компоненту
 • Основной метод проверки прав – Grant. Передаем текущего
   пользователя и название ограничения
 • Плагины для применения ограничений:
      • Плагин для применения ограничений к гриду
 •   Формирование меню вограничений к конкретный полям формы
      • Плагин для применения зависимости от наличия тех или   иных
     прав
      • ……

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

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




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

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




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


                            Reports


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




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



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


                                                 Больше, чем технологии!
Отчеты. Reports. How To.


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

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

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


          Добавление кнопки в клиентском интерфейсе
          для обращения к соответствующему методу
          контроллера
                                                   Больше, чем технологии!
Отчеты


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




                                                              Больше, чем технологии!
Готовые модули


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




                                          Больше, чем технологии!
Готовые модули


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




                                          Больше, чем технологии!
Готовые модули


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



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



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



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



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



                                                      Больше, чем технологии!
Спасибо за внимание!

      +

More Related Content

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

  • 1. Платформа B4: многообразие готовых модулей для разработки + Докладчик: Решения для электронного правительства и Альберт электронизация государственных услуг Габидуллин Больше, чем технологии!
  • 2. Архитектура Возможность быстрого расширения Security функциональных возможностей решения Report ECM7 Ядро Panel Уменьшение количества Прикладное решение потенциальных ошибок Больше, чем технологии!
  • 3. Добавление и обновление Сборку соответствующего модуля –> каталог /modules Рестарт приложения (веб-сервер/интерфейс) Сборка из каталога /modules –> каталог /.modules Больше, чем технологии!
  • 4. Миграция БД Модуль «ECM7» Миграция базы данных – процесс внесения изменений в БД в ходе разработки (структура) Больше, чем технологии!
  • 5. Миграция БД. Для чего? Автоматизация процесса развертывания БД на любом сервере Исключение возможности появления ошибок Независимость от используемой СУБД Возможность отката структуры БД на более раннюю версию Больше, чем технологии!
  • 6. Миграция БД. Как? Таблица в БД, хранящая При разработке последовательно актуальную информацию об создаются классы с описанием актуальной версии миграции необходимых изменений и по каждому модулю. указанием номера версий. SchemaInfo Up & Down API Интерфейс Используемый фреймворк Клиентский интерфейс Клиентский интерфейс ECM7 предоставляет API для для проведения для проведения выполнения миграций. миграций. миграций. Больше, чем технологии!
  • 7. Миграция БД. Интерфейс. Больше, чем технологии!
  • 8. Безопасность и права доступа Модуль «Security» Аутентификация. Авторизация. Роли. Разграничение прав пользователей. Больше, чем технологии!
  • 9. Безопасность и права доступа Пользователь Роль Права Редактирование Администратор справочников Василий Управление … ролями … Руководитель … отдела Редактирование Анатолий состава отдела Больше, чем технологии!
  • 10. Безопасность и права доступа • Пользователи • Создание/Редактирование пользователей. • Платформа предоставляет интерфейс для добавления логики работы с пользователями При необходимости можно реализовать свою аутентификацию, если логика должна отличаться от стандартной проверки логина и пароля Больше, чем технологии!
  • 11. Безопасность и права доступа • Роли • Простой справочник • Добавление/Редактирование/Удаление ролей через интерфейс (inline-грид) Больше, чем технологии!
  • 12. Безопасность и права доступа • Права доступа • Класс-наследник PermissionMap, в конструкторе которого перечисляются права Namespace("ERegion.Dictionary", "Справочники"); Permission("ERegion.Dictionary.Edit", "Редактирование"); CRUDandViewPermission("ERegion.Dictionary") Больше, чем технологии!
  • 13. Безопасность и права доступа Привязка прав к роли Больше, чем технологии!
  • 14. Безопасность и права доступа Проверка ограничений На клиенте сервере • Возможность применять ограничения к отдельному клиентскому компоненту • Основной метод проверки прав – Grant. Передаем текущего пользователя и название ограничения • Плагины для применения ограничений: • Плагин для применения ограничений к гриду • Формирование меню вограничений к конкретный полям формы • Плагин для применения зависимости от наличия тех или иных прав • …… • Вспомогательные функции для применения ограничений • Атрибуты для класса контроллера • Вспомогательные функции для выбора компонентов, к которым необходимо применить ограничение Больше, чем технологии!
  • 15. Отчеты «Reports» и модуль «ReportPanel» Вывод печатных форм отчетов в формате Word и Excel Больше, чем технологии!
  • 16. Отчеты Reports 1 Является компонентом ядра 2 Предоставляет интерфейсы для генерации отчетов 3 Работает на основе шаблонов Больше, чем технологии!
  • 17. Отчеты. Reports. How To. Добавление шаблона в ресурсы Добавление класса-наследника BaseReport Добавление метода контроллера, отвечающего за формирование и отдачу отчета на клиент Добавление кнопки в клиентском интерфейсе для обращения к соответствующему методу контроллера Больше, чем технологии!
  • 18. Отчеты ReportPanel • Добавляет клиентский интерфейс для формирования печатных форм отчетов • Позволяет передавать параметры для формирования отчета Больше, чем технологии!
  • 19. Готовые модули 1 AdminPanel – панель администратора Больше, чем технологии!
  • 20. Готовые модули 2 1 AdminPanel – панель администратора State – работа со статусами Больше, чем технологии!
  • 21. Готовые модули 3 FileStorage – работа с файловой системой 4 Audit – логирование действий пользователя 5 KLADR – работа с КЛАДР 6 Messenger – сообщения внутри системы и через SMTP 7 UserProfile – пользовательские параметры Больше, чем технологии!