Итоги 2020 и планы на 2021

Итак, год 2020 закончился, и он, как всегда, был непростым, но продуктивным!

image

В этом году мы выпустили много классных улучшений Платформы и починили кучу багов. Все это позволило нам выйти на новый уровень и мы не собираемся останавливаться на достигнутом! Я благодарю за наши достижения Команду 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.
Всем желаю почувствовать запах мандаринок на новогоднем столе, счастья, удачи и чтоб мечты сбывались!

3 Лайков

Ну и под новый год - новогодняя история с моралью.
В 2017 кажется году, аккурат 1 января, меня срубила какая то супер ангина. Горло воспалилось, любое движение причиняло боль. Я не мог есть, пить и спать 9 дней. Когда мне стало полегче, первое что я сделал это просто попил водички.
Вы не представляете, насколько вкусной и приятной мне представилась эта вода. Это было что то невообразимое. С тех пор я научился ценить маленькие радости, которые мы не замечаем в обычной жизни - и это сделало мою жизнь ярче и радостнее. Просто стакан водички показал что мы не ценим часто то, что имеем. Не замечаем простых радостей, вроде возможности попить, дышать и ходить.
Несмотря на коронокризис и сложный 2020 год, желаю всем - цените каждый день и мелочи которые вас сопровождают)

1 Лайк

вы крутейшие) :muscle:

1 Лайк

Нужно добавить возможность разделенных БД (Запись\Чтение) для дальнейшего масштабирования

Еще было бы не плохо реализовать асинхронный сервис мат.представлений

Деталей докинь про сервис. В целом можно при создании мат.представлений указывать периодичность обновления и использовать для этого кварц, а так же генерить сервис для обновления конкретно этого мат.представления