Технологическая программная платформа Flexberry с открытым исходным кодом для профессиональной разработки программного обеспечения (Алексей Костарев, OSSDEVCONF-2018) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
При необходимости в состав стека, функционирующего в составе кластера могут быть включены дополнительные docker-сервисы платормы Flexberry: Flexberry Service Bus, Flexberry Analytics, Flexberry BPM и другие. {{----}} [[File:{{#setmainimage:Технологическая программная платформа Flexberry (OSSDEVCONF-2018)!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> {{fblink|2168095453443464}} {{vklink|1210}} <references/> {{stats|disqus_comments=0|refresh_time=2019-058-08T00:14:1819T18:53:30.061541982108|vimeo_plays=103|youtube_comments=0|youtube_plays=112}} [[Категория:OSSDEVCONF-2018]] [[Категория:Open-source projects]] |
Версия 15:53, 19 августа 2019
- Докладчик
- Алексей Костарев
В докладе рассматривается разрабатываемая на принципах свободного программного обеспечения платформа 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).
Генераторы кода (см. рисунок 2) позволяют на основе модели приложения получать исходный код приложения. Сгенерированное приложение является работоспособным приложением и может быть запущено без необходимых доработок[1].
Платформа включает в себя следующие программные компоненты:
- 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 и другие.
Примечания и ссылки
- ↑ Архитектура платформы для разработки бизнес-приложений, Современные проблемы науки и образования. 2014. № 6. С. 348.
- ↑ https://ru.wikipedia.org/wiki/CASE
- ↑ http://uml.org/
- ↑ Docker as Platform for Assignments Evaluation, 25th DAAAM International Symposium on Intelligent Manufacturing and Automation, DAAAM 2014
Plays:25
Comments:0