Технологическая программная платформа Flexberry с открытым исходным кодом для профессиональной разработки программного обеспечения (Алексей Костарев, OSSDEVCONF-2018)

Материал из 0x1.tv

Докладчик
Алексей Костарев.jpg
Алексей Костарев

В докладе рассматривается разрабатываемая на принципах свободного программного обеспечения платформа Flexberry — платформа для проектирования, разработки и поддержки сложных информационных систем.

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

Видео

on youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.

Презентация

Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf Технологическая программная платформа Flexberry.pdf

Thesis

Программная платформа Flexberry вобрала в себя богатый опыт разработки информационных систем на протяжении последних 20-ти лет развития.

Платформа базируется на свободном ПО и открытых технологиях. Компоненты платформы также разрабатываются в открытых репозиториях под свободной лицензией. Это позволяет создавать открытые решения с использованием платформы.

В настоящее время система широко используется в разрабатываемых системах класса:

  • Комплексные учётные системы.
  • Автоматизация бизнес-процессов и документооборота.
  • Веб-приложения.
  • Мобильные приложения.
  • Интеграция информационных систем.
  • Аналитические системы.
  • Геоинформационные системы.

Использование платформы Flexberry даёт разработчикам следующие преимущества:

  • Быстрое создание прототипов программного решения;
  • Повышение эффективности взаимодействия с заказчиками за счёт применения визуальных моделей систем и процессов;
  • Снижение трудоёмкости процесса разработки и сопровождения информационных систем;
  • Возможность применения готовых программных компонент и готовой архитектуры;
  • Быстрое разворачивание в гетерогенных сетях включая облачные платформы;

В основе технологии создания систем на платформе Flexberry лежит архитектура, управляемая моделью (Model Driven Architecture). В рамках этой архитектуры сначала с помощью редактора в формате UML или визуального конструктора форм создаётся модель предметной области проектируемого приложения. По модели создаётся прототип работающего приложения методом кодогенерации. Данный прототип дорабатывается программистами. Затем эта модель уточняется в ходе развития и поддержки проекта, эти изменения прозрачным образом автоматически переносятся в реализованное приложение.

Координация и разработка платформы распределённой группы разработчиков производится в git-репозитории https://github.com/Flexberry. Платформа открыта для подключения новых разработчиков к процессу её разработки.

Процесс разработки с использованием Flexberry включает в себя следующие этапы:

  • Анализ и проектирование с построением UML-моделей.
  • Генерация на основе созданных моделей базы данных и кода.
  • Подключение готовых функциональных подсистем.
  • Ручная доработка кода.
  • Демонстрация Заказчику прототипа приложения.
  • Детализация требований, постановок.
  • Модификация UML-моделей, перегенерация кода.
  • Выпуск версии продукта, переход к поддержке и сопровождению.

Архитектура системы включает в себя (см. рисунок 1):

  • инструментарий по проектированию и программированию системы (этап проектирования — Design-Time);
  • набор компонентов для создания информационной системы (этап исполнения программы — Run-Time).
Технологическая программная платформа Flexberry с открытым исходным кодом для профессиональной разра 2018-10-03 21-28-22 image0.png

Генераторы кода (см. рисунок 2) позволяют на основе модели приложения получать исходный код приложения. Сгенерированное приложение является работоспособным приложением и может быть запущено без необходимых доработок[1].

Технологическая программная платформа Flexberry с открытым исходным кодом для профессиональной разра 2018-10-03 21-29-36 image0.png

Платформа включает в себя следующие программные компоненты:

  • Flexberry Designer — CASE-инструмент[2], реализующий стандартную нотацию UML[3] и визуальный (WYSIWYG) конструктор форм приложения;
  • Flexberry Ember — фреймворк для создания Web- и гибридных мобильных приложений;
  • Flexberry GIS — функциональная подсистема хранения, создания, редактирования, анализа и отображения географической информации;
  • Flexberry Service Bus — сервисная шина — средство интеграции систем посредством обмена сообщениями (docker образ);
  • Flexberry Analytics — функциональная подсистема отчётности и бизнес-аналитики (docker образ);
  • Flexberry BPM — технология для быстрой автоматизации рабочих процессов в компании (набор docker-образов);
  • и другие компоненты.

Разработанный продукт разворачивается в виде стека docker-сервисов, включающий в себя следующие сервисы:

  • Ember-приложение с Odata backend;
  • Сервис базы данных Postgres.

EmberJS обеспечивает возможность быстро и качественно создавать универсальный мобильный и WEB-интерфейс.

REST-интерфейс OData позволяет построить микросервисную архитектуру вокруг единой точки предоставления данных.

База данных Postgres является «стандартом de-facto» при создании систем на основе открытого программного обеспечения.

Docker-технология позволяет интегрировать данные сервисы в конечное кластерное решение[4]

При необходимости в состав стека, функционирующего в составе кластера могут быть включены дополнительные docker-сервисы платормы Flexberry: Flexberry Service Bus, Flexberry Analytics, Flexberry BPM и другие.

Технологическая программная платформа Flexberry (OSSDEVCONF-2018)!.jpg

Примечания и ссылки

  1. Архитектура платформы для разработки бизнес-приложений, Современные проблемы науки и образования. 2014. № 6. С. 348.
  2. https://ru.wikipedia.org/wiki/CASE
  3. http://uml.org/
  4. Docker as Platform for Assignments Evaluation, 25th DAAAM International Symposium on Intelligent Manufacturing and Automation, DAAAM 2014



Plays:20   Comments:0