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

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

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

{{VideoSection}}
{{vimeoembed|287829577|800|450}}
<!-- {{youtubelink|}} -->

{{SlidesSection}}
[[File:Технологическая программная платформа Flexberry с открытым исходным кодом для профессиональной разработки программного обеспечения (Алексей Костарев, OSSDEVCONF-2018).pdf|left|page=-|300px]]

{{----}}

== Thesis ==

Версия 23:47, 9 октября 2018

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

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

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

Видео

Презентация

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 и другие.

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

  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