Wolkenkit, библиотека JavaScript с открытым исходным кодом для создания приложений для обработки событий на основе разделения ответственности за запросы команд (CQRS), была обновлена.
Wolkenkit — это CQRS и фреймворк для источников событий для JavaScript и Node.js, который хорошо сочетается с доменно-ориентированным дизайном (DDD). Он обеспечивает техническую основу для вашего приложения, включая хранилище событий и масштабируемый API в реальном времени. Новая версия, Wolkenkit 3.0, включает службу хранилища файлов, которая была переписана с нуля и теперь поддерживает авторизацию. Обновление также предоставляет команды интерфейса командной строки для экспорта и импорта данных вашего приложения.
Разделение ответственности за запросы команд (CQRS) — это концепция, согласно которой приложения разделяют модели для чтения и обновления данных. Под источником событий понимается концепция, согласно которой вы можете фиксировать все изменения состояния приложения в виде последовательности событий. Это означает, что можно запрашивать события или использовать журнал событий для восстановления прошлых состояний. Более сложное использование позволяет настроить состояние, чтобы справиться с ретроактивными изменениями.
Служба хранения файлов, dept, была переписана с нуля, поскольку изначально разработчики сосредоточились на простом решении, но это оказалось неадекватным для некоторых применений, например тех, где была необходимость защитить хранимые файлы от несанкционированного доступа.
Вместо того, чтобы пытаться модифицировать изменения, система хранения файлов была полностью переписана. В новой версии есть механизм авторизации, который интегрируется с существующими функциями аутентификации и авторизации самого Wolkenkit. Это позволяет вам очень детально настроить права доступа для ваших сохраненных файлов.
Также теперь есть клиентский SDK для депо, который максимально упрощает доступ к сервису хранилища файлов. Разработчики заявляют, что они учли будущие потребности в поддержке других механизмов хранения, помимо локальной файловой системы, таких как Minio и Amazon S3, поэтому такие функции можно будет добавлять без дополнительных перезаписей.
Наряду с переписанной системой хранения разработчики добавили две новые команды интерфейса командной строки для экспорта и импорта. Экспорт создается в виде файлов JSON, что означает, что экспорт не только полезен в качестве резервной копии, но также может использоваться для анализа событий с помощью сторонних инструментов.
Среди других улучшений — новая целевая страница, позволяющая избежать проблем при запуске приложения Wolkenkit; новые функции в моделях записи и чтения, которые означают, что до 256 команд могут выполняться параллельно; и лучшая обработка учетных данных безопасности.