Итак, год 2020 закончился, и он, как всегда, был непростым, но продуктивным!
В этом году мы выпустили много классных улучшений Платформы и починили кучу багов. Все это позволило нам выйти на новый уровень и мы не собираемся останавливаться на достигнутом! Я благодарю за наши достижения Команду BarsUp.Net - вы классные, трудолюбивые, самостоятельные, проактивные, надежные, веселые, креативные, вобщем чудо как хороши и я счастлив работать с вами )))
Итак, коротенечко об интересном в 2020 году - мы реализовали бОльшую часть запланированных улучшений (зацените план на 2020)
Обновили приложение для документации - мы старались сделать так, чтобы вы могли пользоваться им и радовать своих пользователей удобной справкой по системе.
Запустили портал сообщества и начали раздавать брендированный мерч!
Пока многие только учились работать удаленно, мы как писали код на кухне, так и пишем )))
Обеспечили совместимость с отечественными ОС.
Реализовали аж две подсистемы позволяющие формировать бизнес-процессы - одна для того чтобы аналитики могли строить боле сложные системы (линк), вторая - для тех случаев когда нужен полноценный BPM.
Также мы реализовали первую версию генератора мобильных приложений - теперь можно сделать мобильный клиент для генерируемой системы, что повысит привлекательность систем для заказчиков.
Борясь с проблемами оптимизации, мы запилили инструмент анализа выполняемых запросов к БД - и с помощью BarsUp.Explain мы смогли найти проблемные места в нескольких проектах.
А чтобы обеспечить высокое качество целевых систем, мы реализовали мини-фреймворк для тестирования и генератор базовых ui тестов.
Было еще множество всякого разного хорошего, о чем вы можете прочитать в отчетах о релизах. Например благодаря короне, закрылась компания японской косметики, которой ранее принадлежал домен barsup.net и мы этот домен успели выкупить (надеюсь самураи не пострадали)
А теперь - план на 2021! Он разделен условно на две части - по заявкам от пользователей, и наш вижн на то, что должна уметь Платформа для оптимального решения проектных задач.
Часть I - по заявкам
-
Контейнеризация - возможность настройки в BarsUp.Designer параметров контейнеров
и генерация docker-файлов и docker-compose файлов, позволяющих поднять решение в
контенерах. Каждый из слоев приложения (фронтенд, бэкенд, фоновые задачи,
очереди и т.д) возможно будет поднимать как в индивидуальных контейнерах, так и
объединять в один контейнер. С учетом визуальной настройки это упростит деплой
приложений. -
Метрики и Healthcheck - будет реализованы стандартные метрики для приложений на
Платформе на основе AppMetrics (или аналога), а также расширяемый механизм
проверки состояния приложения. -
Хранилище файлов - то, что не успели сделать в 2020. Планируется реализовать
поддержку одновременно нескольких систем хранилищ файлов, в том числе облачных
(типа нашего БарсCloud), при этом для пользователя все провайдеры будут заведены в
один общий интерфейс с возможностью доступа по WebDAV -
Поддержка generic-классов и интерфейсов - периодически мы сталкиваемся с
требованием обеспечить возможность создания обобщенных (generic) классов и
сущностей, а также реализации generic-интерфейсов - это позволит нам уйти от
жесткого определения используемых типов полей в абстракциях. -
Разделение модулей - на текущий момент каждый модуль это сборка (assembly),
содержащая в себе как серверную логику, так и фронтенд. Мы разделим бОльшую
часть из модулей на две составляющие - отдельно модуль фрондента и бэкенда, что
позволит использовать api модулей в сервисах без необходимости тянуть за собой ui -
Импортозамес - мы уже обеспечили совместимость с Astra Linux, но это далеко не
единственная ОС отечественного производства. На очереди Роса, Альт, МСВС, и тд -
Прокси для сервисов - в рамках развития сервисной модели приложений, конструктор
будет генерировать дополнительные сборки, позволяющие, например, развернуть
фронтенд (ui + сервисы формирования данных для ui) на одном сервере (контейнере),
а подсистему запроса данных из БД (или других сервисов) - на другом. Это обеспечит
возможность горизонтального масштабирования для каждого слоя в отдельности. -
NotificationsHub - централизованная система отправки/пересылки сообщений системапользователь и пользователь-пользователь, с возможностью вывода сообщений во
внешние источники (почта, телеграм и т.д.). Будет реализован в виде двух компонентов
- фронтенд для подключения в целевую систему и бэкенд сервис с возможностью
работы через api
-
Развитие генератора тестов - генерируемые тесты на текущий момент могут
прокликать вашу систему за вас, но этого недостаточно для обеспечения качества. В
2021 году мы планируем реализовать возможность настройки сценариев тестирования
и чеклисты в интерфейсе Конструктора, чтобы Аналитики могли самостоятельно
описывать условия, которым должна соответствовать Целевая система. -
Service Discovery - генерируемые сервисы будут сразу поддерживать sd на основе
consul/zookeeper/etcd. Это упростит процесс конфигурирования и обнаружения
сервисов при динамическом развертывании новых инстансов. -
Расширение возможностей поиска - мы планируем реализовать возможность
индексации данных в ElasticSearch и гибридный поиск данных в Целевой системе -
поиск по индексу ES и в БД
Часть II - развитие Платформы
-
Kubernetes – поддержка деплоя целевых систем в k8s, с возможностью
конфигурировать параметры деплоя (среды, роли серверов, поды, и тд) в
конструкторе. Казалось бы, k8s решает часть проблем из предыдущих пунктов, однако
он, увы, недоступен в популярных отечественных ос (пока что) -
BarsUp.Explain - планируется расширение анализаторов планов и предоставление api
чтобы каждая команда могла описывать свои правила валидации запросов -
Серверные события и методы - то, что не успели в 2020. Мы хотим, чтобы Аналитики
могли описывать серверную логику с помощью готовых блоков, включая доступ к
данным и вызов сервисов. -
Гибридные приложения - реализованная бета-версия редактора мобильных клиентов
вызвала живой интерес, поэтому мы будем развивать это направление и в 2021 году -
расширим палитру компонентов, обеспечим быстродействие и удобство настройки
интерфейсов. -
Поддержка систем контроля версий - на текущий момент мы поддерживаем atlassian
bitbucket, однако у наших пользователей могут использоваться что-то другое - github,
gitlab, gitea, vs.online и тд - мы обеспечим совместимость с этими системами. -
Динамические атрибуты сущностей - периодически на проектах возникает необходимость
хранения дополнительных, динамически определяемых атрибутов сущностей с
возможностью сразу же дать вводить их значения в интерфейсе - мы реализуем
поддержку этого функционала в Платформе - пользователь получит возможность
добавить атрибут и его значение при работе с любой сгенерированной сущностью в
сгенерированном интерфейсе -
Не(совсем)реляционное хранение данных - PostgreSQL хорошо работает с json документами (например подсистема Запросов на изменение основана на хранении
данных об изменениях в jsonb). Мы добавим возможность создавать сущности,
которые хранятся в json и имеют динамический набор атрибутов -
Spreadsheet - мы уже сделали выгрузку реестров и форм в эксель, с возможностью
настройки шаблона выгрузки. Существующие компоненты и реализация
нереляционного хранения позволяют нам реализовать подсистему на подобии вебсводов - с возможностью создания модели данных и представлений в рантайме. -
Отображение объектов на карте - планируем реализовать возможность отображения
объектов на карте (точки, линии, полигоны), при этом настройка будет производиться в
Конструкторе. Также, возможно, мы добавим поддержку PostGIS. -
Бизнес-логика в БД - то, что не успели в 2020. Мы хотим, чтобы Аналитики получили
возможность собирать и обрабатывать данные на уровне БД, без передачи данных на
уровень приложения. Для этого мы планируем реализовать набор блоков blokly, на
основе которых будет генерироваться код хранимых процедур на языках plpgsql и/или
plv8 -
Обновление до .Net 5
-
Импорт/экспорт данных - часто возникает потребность настраивать процессы
импорта/экспорта данных. Мы хотим дать возможность использования того-же
механизма ETL, который используется в AlphaBI
С Новым Годом, коллеги!
В 2021 году нас ждут новые вызовы, новые проекты, новые проблемы и непростые решения. Но я верю, что значительную часть ваших проектных проблем вы сможете решить с помощью Платформы BarsUp.Net.
Всем желаю почувствовать запах мандаринок на новогоднем столе, счастья, удачи и чтоб мечты сбывались!