👨💻Дима Черкасов, Jmix DevRel, сегодня круто выступил с докладом на Naumen Java Meetup🎙 по теме Self-Contained Systems. Если вы еще не слышали👀 про эту концепцию архитектуры или наоборот задумали применить ее в следующем проекте🕺, то вы можете закидать Диме вопросики в комментах под этим постом. Дима 🔥горит этой темой🔥 и яростно сражается на внешних площадках с фанатиками микросервисов👊! Ему точно зайдет ваша поддержка!💪
#мероприятия
#мероприятия
🔥17👍1
Специально для любителей супер динамических приложений с непредсказуемой моделью данных😁 Алексей Обложко из команды Jmix написал интересный гайд о том, как прикрутить поля с типом JSONB к Jmix.
Все по полочкам, с акцентами и примерами - все как вы любите.
Залетайте и полайкайте. Материал еще горяченький! 🥟
#статья
Все по полочкам, с акцентами и примерами - все как вы любите.
Залетайте и полайкайте. Материал еще горяченький! 🥟
#статья
Хабр
Работаем с JSONB в JPA EclipseLink
Поддержка полей JSONB в СУБД PostgreSQL стала результатом большой работы команды PostgresPro и приблизила использование форматов и инструментов для работы с JSON в этой базе данных к статусу...
🔥14👍7
🚀 Открыт прием заявок на конкурс «BPM проект года’2025»!
Это ваш шанс:
✅ Представить свой проект на суд экспертов.
✅ Поделиться опытом с профессиональным сообществом.
✅ Получить признание и поддержку от коллег и руководства.
🌟 Финалисты и победители конкурса — лидеры процессного управления, за которыми будущее!
📅 Подача заявок открывается с 1 декабря 2024 года!
Все подробности — на сайте: bpmaward.ru
Действуйте уже сегодня!
#мероприятия
Это ваш шанс:
✅ Представить свой проект на суд экспертов.
✅ Поделиться опытом с профессиональным сообществом.
✅ Получить признание и поддержку от коллег и руководства.
🌟 Финалисты и победители конкурса — лидеры процессного управления, за которыми будущее!
📅 Подача заявок открывается с 1 декабря 2024 года!
Все подробности — на сайте: bpmaward.ru
Действуйте уже сегодня!
#мероприятия
🔥9
🎉5 декабря Станислав Макаров провел вебинар про событийный подход в разработке BPM-приложений и это было круто! 💪
События – они везде, в том числе и в процессах. Но как ими пользоваться в BPMN-модели не всегда очевидно. Однако без грамотной обработки событий реально работающий процесс не построишь. Особенно, когда в него вовлечено много подразделений, работающих каждое по своему графику.
Короче, всего в одном посте не перескажешь, лучше смотрите запись нашего вебинара:
🔹 VK Video: смотреть
Нам важно ваше мнение, насколько вообще эта тема актуальна!
Ставьте 🔥 если да и 👎 если нет
#webinar #мероприятия
События – они везде, в том числе и в процессах. Но как ими пользоваться в BPMN-модели не всегда очевидно. Однако без грамотной обработки событий реально работающий процесс не построишь. Особенно, когда в него вовлечено много подразделений, работающих каждое по своему графику.
Короче, всего в одном посте не перескажешь, лучше смотрите запись нашего вебинара:
🔹 VK Video: смотреть
Нам важно ваше мнение, насколько вообще эта тема актуальна!
Ставьте 🔥 если да и 👎 если нет
#webinar #мероприятия
VK Видео
Синхронное и асинхронное выполнение длительных задач в Jmix Flow UI
Станислав Макаров, продуктовый аналитик платформы Jmix, рассказывает, как с помощью Jmix BPM создавать процессы, ориентированные на обработку событий. На вебинаре разобрали: 🔹 Как на практике применить событийно-ориентированный подход к автоматизации бизнес…
🔥10
Новый гайд: «Логирование в Jmix» 📚✨
Логирование в Jmix на базовом уровне довольно просто организовать. Достаточно добавлять в нужных местах строчки кода, например:
Зачем отдельное руководство❓
Во-первых, в нашем гайде мы системно рассказываем, как Jmix использует экосистему логирования Java. Вы найдете практические советы по более эффективному использованию логирования. Например, мы покажем, как добавить в лог свой контекст с помощью функции MDC (Mapped Diagnostic Context) из пакета Slf4J, чтобы сделать его более информативным.
Переход к наблюдаемости 🌐🔍
Но главное, наш гайд поможет вам перейти от банального протоколирования событий в системе к более высокому уровню — обеспечению Observability (наблюдаемости).
Наблюдаемость — это способность понимать внутреннее состояние приложения через его выходные данные: логи, метрики и трассировки. В совокупности они дают полное представление о производительности и взаимодействиях с пользователями. Метрики отслеживают количественные данные, а бизнес-события фиксируют важные действия в системе. Это помогает эффективно мониторить работу приложения и устранять неполадки! ⚙️📈
Для достижения этой цели вам понадобится не только Slf4J и Logback, используемые в Jmix по умолчанию, но и весь стек ELK — Elasticsearch, Logstash и Kibana. И чтобы упростить вам жизнь, мы подготовили подробные инструкции и даже
Подведение итогов 📝
В заключение, новый гайд поможет вам создавать профессиональные приложения с грамотно построенной системой ведения журнала и развернуть централизованные решения для эффективного мониторинга и обслуживания. 🔧💡
#гайд
Логирование в Jmix на базовом уровне довольно просто организовать. Достаточно добавлять в нужных местах строчки кода, например:
log.info("Полет нормальный"); или log.fatal("Все пропало!");Зачем отдельное руководство❓
Во-первых, в нашем гайде мы системно рассказываем, как Jmix использует экосистему логирования Java. Вы найдете практические советы по более эффективному использованию логирования. Например, мы покажем, как добавить в лог свой контекст с помощью функции MDC (Mapped Diagnostic Context) из пакета Slf4J, чтобы сделать его более информативным.
Переход к наблюдаемости 🌐🔍
Но главное, наш гайд поможет вам перейти от банального протоколирования событий в системе к более высокому уровню — обеспечению Observability (наблюдаемости).
Наблюдаемость — это способность понимать внутреннее состояние приложения через его выходные данные: логи, метрики и трассировки. В совокупности они дают полное представление о производительности и взаимодействиях с пользователями. Метрики отслеживают количественные данные, а бизнес-события фиксируют важные действия в системе. Это помогает эффективно мониторить работу приложения и устранять неполадки! ⚙️📈
Для достижения этой цели вам понадобится не только Slf4J и Logback, используемые в Jmix по умолчанию, но и весь стек ELK — Elasticsearch, Logstash и Kibana. И чтобы упростить вам жизнь, мы подготовили подробные инструкции и даже
docker-compose-файл, который достаточно просто запустить. 🚀🐳Подведение итогов 📝
В заключение, новый гайд поможет вам создавать профессиональные приложения с грамотно построенной системой ведения журнала и развернуть централизованные решения для эффективного мониторинга и обслуживания. 🔧💡
#гайд
👍11🔥4
🤩Хорошая новость для начала хорошей рабочей недели. Статья на хабр в комплекте. 🎉Всех поздравляем с официальным запуском проекта OpenIDE!
#статья
#статья
CNews.ru
В России создали суверенную замену среды разработки Java и превратили ее в универсальный инструмент программиста - CNews
В России появилась открытая среда разработки OpenIDE на замену IntelliJ IDEA. Это совместная разработка «Группы Астра», Haulmont и Axiom JDK. Проект на стадии бета-тестирования, сейчас он...
🔥19👍5
REST Data Store – чужие сущности как родные!
🌟 Попробуйте еще один add-on в Jmix 2.4 –
🚀 Как это работает
Просто определите новое хранилище
🔍 Фильтрация данных
Чтобы не загружать полный список, просто отфильтруйте данные по нужным параметрам! 🛠
⚠️ Ограничения
Имейте в виду, что у
❌ Не поддерживается ленивая загрузка
❌ Недоступны события
❌ Нельзя использовать
🔄 Репликация данных
Но если хотите, вы можете легко реплицировать данные из одной системы в другую с помощью этого подхода и оперировать в своем приложении нормальными сущностями. Это делается проще, чем стандартными вызовами REST API! 🌐✨
Читайте документацию и используйте возможности
#addon #обновления
🌟 Попробуйте еще один add-on в Jmix 2.4 –
REST DataStore, который упрощает интеграцию приложений Jmix между собой. Теперь вы можете получать доступ к внешним сущностям из удаленного приложения Jmix так же легко, как к локальным сущностям JPA. Это значит, что вы можете отображать, обновлять и сохранять данные из внешних источников в своем приложении, используя стандартные функции CRUD, без необходимости писать рутинный код. 🚀 Как это работает
Просто определите новое хранилище
REST DataStore и создайте в нем DTO для сущностей из внешней системы. Генерируйте стандартные экраны – и вуаля! 🎉 Теперь вы можете легко видеть список сущностей из другой системы и использовать их без лишних усилий.🔍 Фильтрация данных
Чтобы не загружать полный список, просто отфильтруйте данные по нужным параметрам! 🛠
⚠️ Ограничения
Имейте в виду, что у
REST DataStore есть некоторые ограничения по сравнению с обычным JPA DataStore:❌ Не поддерживается ленивая загрузка
❌ Недоступны события
EntityChangeEvent и AttributeChanges❌ Нельзя использовать
JPQL (логично, это же DTO!)🔄 Репликация данных
Но если хотите, вы можете легко реплицировать данные из одной системы в другую с помощью этого подхода и оперировать в своем приложении нормальными сущностями. Это делается проще, чем стандартными вызовами REST API! 🌐✨
Читайте документацию и используйте возможности
REST DataStore на полную катушку! 💪#addon #обновления
🔥11👍5
📢 Разработка системы документооборота: выходим в облако!
В прошлой статье Алексея Обложко было рассказано, как мы создали приложение для документооборота на фреймворке Jmix и развернули его с помощью сервиса #Облакотека. Теперь мы поднимаем планку! 🚀
🔍 Что вас ждет в новой статье?
🌟 Развертывание приложения на #Kubernetes-кластере для обеспечения отказоустойчивости и масштабируемости.
🔧 Использование #Deckhouse от российской команды для упрощенного развертывания и мониторинга.
📚 Пошаговая инструкция по настройке кластера, подключению баз данных и деплою приложения.
🌐 Почему это важно?
Kubernetes — это современное решение для бесперебойной работы приложений, и с помощью Deckhouse вы сможете легко управлять своими ресурсами.
Не пропустите! Читайте статью и узнайте, как сделать ваше приложение еще более надежным! 💡✨
#статья
В прошлой статье Алексея Обложко было рассказано, как мы создали приложение для документооборота на фреймворке Jmix и развернули его с помощью сервиса #Облакотека. Теперь мы поднимаем планку! 🚀
🔍 Что вас ждет в новой статье?
🌟 Развертывание приложения на #Kubernetes-кластере для обеспечения отказоустойчивости и масштабируемости.
🔧 Использование #Deckhouse от российской команды для упрощенного развертывания и мониторинга.
📚 Пошаговая инструкция по настройке кластера, подключению баз данных и деплою приложения.
🌐 Почему это важно?
Kubernetes — это современное решение для бесперебойной работы приложений, и с помощью Deckhouse вы сможете легко управлять своими ресурсами.
Не пропустите! Читайте статью и узнайте, как сделать ваше приложение еще более надежным! 💡✨
#статья
www.jmix.ru
Платформа для быстрой разработки веб-приложений | Jmix
denoscription
🔥9👍2❤1
🤩Часы приближают окончание 2024 года и вся команда Jmix спешит поздравить вас с окончанием текущего и наступлением нового 2025 года 🍸 !
Мы не знаем, что вы препочтете 📺 на этих оооооочень длинных праздниках😎 . Возможно, кто-то традиционно будет смотреть "Иронию судьбы" или "Приключения Шурика". Кто-то еще включит "Елки 10210", "Один дома" или "Гарри Поттер навсегда". Но в одном мы уверены точно😎. Когда вам наскучит есть 🔤 🔤 🔤 🔤 🔤 🔤 и 🔤 🔤 🔤 🔤 🔤 🔤 🔤 , вы всегда сможете присесть за ваш любимый компик и найти там тепленький и приятный 👨💻 Jmix. Написать пару строчек, сгенерировать экранчики, поиграться с CSS, ну все такое, что мы с вами очень любим👨💻.
Со своей стороны мы продолжим создавать для вас лучший на 🌍 продукт для продуктивной разработки бизнес-приложений и радоваться, что с каждым годом количество единомышленников растет и индустрия в целом бурно развивается!
🎉Всех с наступающим Новым 2025 годом! Ура!🎉
Мы не знаем, что вы препочтете 📺 на этих оооооочень длинных праздниках
Со своей стороны мы продолжим создавать для вас лучший на 🌍 продукт для продуктивной разработки бизнес-приложений и радоваться, что с каждым годом количество единомышленников растет и индустрия в целом бурно развивается!
🎉Всех с наступающим Новым 2025 годом! Ура!🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🎉17❤4🤩1
Компания Haulmont совместно с Группой Астра и Axiom JDK создает некоммерческое партнерство🤝 для развития открытой российской среды разработки – OpenIDE.🇷🇺
Все три компании имеют огромный опыт в создании популярных продуктов для разработчиков и мы верим, что сможем сделать качественный продукт. 💪 Мы не планируем изобретать велосипед и будем использовать в качестве основы популярную среду с открытым кодом IntelliJ IDEA Community Edition.
Почему это хорошая новость для российских разработчиков? 🇷🇺 Чем это отличается от самой IntelliJ IDEA CE или уже существующей российской GigaIDE? ❓ Какие языки будут поддерживаться? 🌐 Что со Spring? 🍃 Когда релиз? ⏳
Читайте под катом.
#статья
Все три компании имеют огромный опыт в создании популярных продуктов для разработчиков и мы верим, что сможем сделать качественный продукт. 💪 Мы не планируем изобретать велосипед и будем использовать в качестве основы популярную среду с открытым кодом IntelliJ IDEA Community Edition.
Почему это хорошая новость для российских разработчиков? 🇷🇺 Чем это отличается от самой IntelliJ IDEA CE или уже существующей российской GigaIDE? ❓ Какие языки будут поддерживаться? 🌐 Что со Spring? 🍃 Когда релиз? ⏳
Читайте под катом.
#статья
Хабр
Открытая IDE для российских разработчиков
Компания Haulmont совместно с Группой Астра и Axiom JDK создает некоммерческое партнерство для развития открытой российской среды разработки – OpenIDE. Все три компании имеют огромный опыт в создании...
👍16❤7
Интеграция Jmix-приложений ⚙️
В мире корпоративных систем модульная архитектура — это не просто тренд, а необходимость. Попробуйте представить себе монолитное приложение, в котором собраны все функции. Это было бы нечто монструозное! 😱 Невозможно уместить все в одном месте и при этом сохранить гибкость и удобство.
Конечно, вы можете разрабатывать каждый модуль на любой технологии, которая вам нравится. Но если уже есть Jmix, то совершенно логичным будет делать различные функциональные модули на нем – от добра добра не ищут! Jmix позволяет создавать модули, которые легко интегрируются друг с другом, что значительно упрощает разработку и поддержку. 🔧
Однако с модульной архитектурой возникает важная задача — интеграция между различными приложениями Jmix. Как сделать так, чтобы все модули работали как единое целое? 🤔 Здесь на сцену выходят инструменты интеграции, встроенные в платформу Jmix: REST API и REST DataStore. Эти инструменты позволяют наладить взаимодействие между приложениями, обеспечивая бесшовный обмен данными. 🔄
А чтобы ими было легче и удобнее пользоваться, мы подготовили для вас специальный гайд 📚 по интеграции Jmix-приложений. В нем на конкретном примере показано, как эти инструменты использовать наиболее эффективно, чтобы управлять распределенными данными и предоставить бесшовный user experience. 🌟
Из этого гайда вы узнаете:
• Как реплицировать или импортировать данные из внешнего приложения
• Как связывать локальные и внешние сущности
• Как сконфигурировать проект и настроить права доступа
• Как разрабатывать бизнес-логику с учетом распределенной среды
Ознакомьтесь с нашим гайдом и откройте новые горизонты для своих проектов на платформе Jmix. Ваши пользователи оценят улучшенный функционал и удобство работы с системой, а вы — упрощение разработки и поддержки. Давайте вместе сделаем ваши приложения еще лучше! 💪✨
#гайд
В мире корпоративных систем модульная архитектура — это не просто тренд, а необходимость. Попробуйте представить себе монолитное приложение, в котором собраны все функции. Это было бы нечто монструозное! 😱 Невозможно уместить все в одном месте и при этом сохранить гибкость и удобство.
Конечно, вы можете разрабатывать каждый модуль на любой технологии, которая вам нравится. Но если уже есть Jmix, то совершенно логичным будет делать различные функциональные модули на нем – от добра добра не ищут! Jmix позволяет создавать модули, которые легко интегрируются друг с другом, что значительно упрощает разработку и поддержку. 🔧
Однако с модульной архитектурой возникает важная задача — интеграция между различными приложениями Jmix. Как сделать так, чтобы все модули работали как единое целое? 🤔 Здесь на сцену выходят инструменты интеграции, встроенные в платформу Jmix: REST API и REST DataStore. Эти инструменты позволяют наладить взаимодействие между приложениями, обеспечивая бесшовный обмен данными. 🔄
А чтобы ими было легче и удобнее пользоваться, мы подготовили для вас специальный гайд 📚 по интеграции Jmix-приложений. В нем на конкретном примере показано, как эти инструменты использовать наиболее эффективно, чтобы управлять распределенными данными и предоставить бесшовный user experience. 🌟
Из этого гайда вы узнаете:
• Как реплицировать или импортировать данные из внешнего приложения
• Как связывать локальные и внешние сущности
• Как сконфигурировать проект и настроить права доступа
• Как разрабатывать бизнес-логику с учетом распределенной среды
Ознакомьтесь с нашим гайдом и откройте новые горизонты для своих проектов на платформе Jmix. Ваши пользователи оценят улучшенный функционал и удобство работы с системой, а вы — упрощение разработки и поддержки. Давайте вместе сделаем ваши приложения еще лучше! 💪✨
#гайд
👍16🔥3
Компания Axiom JDK 🎉 приняла участие в конференции “Город IT”.
В блоке наших партнёров из ЦФТ (Центр Финансовых Технологий) 🤝, которые используют Axiom JDK в своих продуктах, Developer Advocate Рустам Курамшин 💻 рассказал о проблемах современной разработки на Spring Boot и их решении с помощью российского стека Java-технологий, включая Axiom JDK и Jmix.
Из доклада вы узнаете, как на уровне системного middleware использовать Java-платформу от Axiom JDK 🚀 и как значительно ускорить разработку корпоративных веб-приложений благодаря возможностям Jmix ⚡️. Этот инструмент расширяет функциональность Spring Boot и позволяет создавать веб-приложения буквально за считанные минуты! ⏱️
🌐 Смотреть на YouTube
🌍 Смотреть на VK Видео
#мероприятия
В блоке наших партнёров из ЦФТ (Центр Финансовых Технологий) 🤝, которые используют Axiom JDK в своих продуктах, Developer Advocate Рустам Курамшин 💻 рассказал о проблемах современной разработки на Spring Boot и их решении с помощью российского стека Java-технологий, включая Axiom JDK и Jmix.
Из доклада вы узнаете, как на уровне системного middleware использовать Java-платформу от Axiom JDK 🚀 и как значительно ускорить разработку корпоративных веб-приложений благодаря возможностям Jmix ⚡️. Этот инструмент расширяет функциональность Spring Boot и позволяет создавать веб-приложения буквально за считанные минуты! ⏱️
🌐 Смотреть на YouTube
🌍 Смотреть на VK Видео
#мероприятия
🔥13
Коллеги, всем привет! 6 марта в Москве проводим весенний meetup Jmix community. Считаем сколько пива брать:
Anonymous Poll
13%
Давно пора, руками и ногами ЗА! Приду!
8%
Приду поесть и пару банок пива выпью
16%
Приду! Но мне сок, я за ЗОЖ
19%
Крутая идея, но в этот раз без меня
41%
Я только посмотреть варианты
3%
Другое
🔥14
Мастер-класс «Инструменты Jmix BPM для бизнес-аналитика»
18 февраля Станислав Макаров, продуктовый аналитик Jmix, проведет мастер-класс, где вы сможете узнать, как аналитик на платформе Jmix создает прототип автоматизированного процесса, который потом с помощью разработчиков станет частью корпоративной информационной системы.
Особенность процессных приложений в том, что они создаются совместно аналитиками и разработчиками. Для разработчиков мы выступаем много и часто, рассказываем о разных аспектах использования платформы Jmix. Но чтобы вся проектная команда работала эффективно, нужно вовлечь в поток разработки и аналитиков, чем мы активно занимаемся.
Мастер-класс пройдет на площадке ABPMP – Ассоциации BPM-профессионалов.
Регистрация по ссылке
https://abpmp.org.ru/events/jmix4analyst/
#мероприятия
18 февраля Станислав Макаров, продуктовый аналитик Jmix, проведет мастер-класс, где вы сможете узнать, как аналитик на платформе Jmix создает прототип автоматизированного процесса, который потом с помощью разработчиков станет частью корпоративной информационной системы.
Особенность процессных приложений в том, что они создаются совместно аналитиками и разработчиками. Для разработчиков мы выступаем много и часто, рассказываем о разных аспектах использования платформы Jmix. Но чтобы вся проектная команда работала эффективно, нужно вовлечь в поток разработки и аналитиков, чем мы активно занимаемся.
Мастер-класс пройдет на площадке ABPMP – Ассоциации BPM-профессионалов.
Регистрация по ссылке
https://abpmp.org.ru/events/jmix4analyst/
#мероприятия
🔥12
Сущности по наследству 🌟
Наследование — это один из ключевых принципов ООП. Естественно, сущности тоже можно наследовать. Казалось бы, что тут сложного, зачем нужен специальный гайд? Но все не так просто! Сущности Jmix — это не обычные Java-классы, они связаны с реляционной базой данных и имеют свои особенности.
Вот основные стратегии наследования:
🔹 Mapped Superclass:
- Класс-родитель не имеет своей таблицы в базе данных.
- Используется как шаблон для классов-потомков.
- В дочерних классах доступны общие поля класса-родителя плюс свои специфические.
🔸 Table-Per-Class Inheritance:
- Каждый подкласс имеет свою собственную таблицу, которая также включает поля класса-родителя.
- Позволяет выполнять полиморфные запросы в отличие от Mapped Superclass.
- Может быть менее эффективным по производительности из-за множества таблиц.
🔹 Single Table Inheritance:
- Все классы (родитель и потомки) хранятся в одной таблице.
- Таблица содержит все атрибуты всех подклассов.
- Упрощает управление, но может привести к большим таблицам.
🔸 Joined Table Inheritance:
- Родительская сущность и ее наследники хранятся в отдельных таблицах.
- Каждая таблица содержит только специфичные поля для класса.
- Упрощает структуру базы данных, но усложняет запросы.
Эти стратегии позволяют разработчикам выбирать наиболее подходящий подход к проектированию сущностей в зависимости от требований приложения и бизнес-логики. 💡✨
Читайте новый гайд Data Modeling: Entity Inheritance и стройте свои генеалогические древа сущностей!
#гайд
Наследование — это один из ключевых принципов ООП. Естественно, сущности тоже можно наследовать. Казалось бы, что тут сложного, зачем нужен специальный гайд? Но все не так просто! Сущности Jmix — это не обычные Java-классы, они связаны с реляционной базой данных и имеют свои особенности.
Вот основные стратегии наследования:
🔹 Mapped Superclass:
- Класс-родитель не имеет своей таблицы в базе данных.
- Используется как шаблон для классов-потомков.
- В дочерних классах доступны общие поля класса-родителя плюс свои специфические.
🔸 Table-Per-Class Inheritance:
- Каждый подкласс имеет свою собственную таблицу, которая также включает поля класса-родителя.
- Позволяет выполнять полиморфные запросы в отличие от Mapped Superclass.
- Может быть менее эффективным по производительности из-за множества таблиц.
🔹 Single Table Inheritance:
- Все классы (родитель и потомки) хранятся в одной таблице.
- Таблица содержит все атрибуты всех подклассов.
- Упрощает управление, но может привести к большим таблицам.
🔸 Joined Table Inheritance:
- Родительская сущность и ее наследники хранятся в отдельных таблицах.
- Каждая таблица содержит только специфичные поля для класса.
- Упрощает структуру базы данных, но усложняет запросы.
Эти стратегии позволяют разработчикам выбирать наиболее подходящий подход к проектированию сущностей в зависимости от требований приложения и бизнес-логики. 💡✨
Читайте новый гайд Data Modeling: Entity Inheritance и стройте свои генеалогические древа сущностей!
#гайд
👍13🔥3❤1
Приглашение к холивару: BPMS жив или мертв? 🤔
У нас есть мнение, что скорее мертв, чем жив. Почему так, читайте в нашей новой статье на Хабре — BPMS мёртв в энтерпрайзе. 📉
Да, только не надо путать BPM как концепцию и BPMS как класс продуктов. Управление процессами – это необходимый компонент любой КИC. Но старые неповоротливые монолиты BPMS не вписываются в современный конвейер разработки ПО. 🏗
На смену им приходят решения на основе open source BPM-движков. Такие как Jmix BPM, с которым вы давно знакомы. Или как наш новый продукт OpenBPM. 🚀
Вы о нем еще не слышали? Да, это сюрприз! 🎉 Хотите узнать больше? – Регистрируйтесь на презентацию 5 февраля.
А еще подписывайтесь на наш новый канал, который посвящен тематике управления бизнес-процессами! 📢 BPM Developers
#статья
У нас есть мнение, что скорее мертв, чем жив. Почему так, читайте в нашей новой статье на Хабре — BPMS мёртв в энтерпрайзе. 📉
Да, только не надо путать BPM как концепцию и BPMS как класс продуктов. Управление процессами – это необходимый компонент любой КИC. Но старые неповоротливые монолиты BPMS не вписываются в современный конвейер разработки ПО. 🏗
На смену им приходят решения на основе open source BPM-движков. Такие как Jmix BPM, с которым вы давно знакомы. Или как наш новый продукт OpenBPM. 🚀
Вы о нем еще не слышали? Да, это сюрприз! 🎉 Хотите узнать больше? – Регистрируйтесь на презентацию 5 февраля.
А еще подписывайтесь на наш новый канал, который посвящен тематике управления бизнес-процессами! 📢 BPM Developers
#статья
Хабр
BPMS мёртв в энтерпрайзе
Мы инженерная компания, которая занимается производством инструментов и платформ для корпоративной разработки. Недавно перевыпущенный для Jmix BPM-плагин активно набирает популярность в России и в...
🔥10
🤩Внимание! Всем, кто хочет быстро разобраться в Jmix UI!🤩
На Алтае начали выпускать уникальный чай. 2 чайников в день достаточно для офигительного настроения и просветления в области Jmix UI. Побочный эффект - кристальная ясность концепций Spring Security.
По вопросам индивидуальных и корпоративных заказов обращаться к нашему партнеру КС-Консалтинг г. Барнаул.
#юмор
На Алтае начали выпускать уникальный чай. 2 чайников в день достаточно для офигительного настроения и просветления в области Jmix UI. Побочный эффект - кристальная ясность концепций Spring Security.
По вопросам индивидуальных и корпоративных заказов обращаться к нашему партнеру КС-Консалтинг г. Барнаул.
#юмор
👍18🔥5🤩2
Разбираемся с отношениями "многие ко многим"
В мире всё со всем связано 🌍. Даже в нашем любимом примере Pet Clinic 🐾 один ветеринар может иметь несколько специальностей, а каждой специальностью может обладать несколько докторов 🩺.
Когда вы проектируете модель данных, на ER-диаграмме запросто можно нарисовать связь «многие ко многим». Но вот беда – реляционные БД 🗄️ не могут нативно реализовать такую связь. И приходится изощряться 🤔.
Есть два способа, как это сделать в Jmix:
Непосредственно между сущностями – на самом деле, промежуточная таблица 📋 в этом случае всё равно создается, просто Jmix сделает это за вас ✨.
Через промежуточную сущность – вы сами создаете промежуточную сущность 🧩, которая развяжет эти множественные отношения. В этом случае на связь можно навесить дополнительные атрибуты, например, дату её создания 📅 и срок действия ⏳.
А ещё эти связи могут быть одно- или двунаправленными 🔄, от чего зависит их доступность на уровне Java/JPA ☕. И важно, кто связью владеет – владение определяет, какая сущность управляет join-таблицей для обновления записей 🛠️.
Но таблицы – это ещё полдела 📂. Вам же ещё надо как-то отобразить эти множественные связи в интерфейсе 🖥️, и тут тоже не всё так однозначно!
В руководстве Data Modeling: Many-to-Many Associations мы рассмотрим оба подхода, предоставив практические примеры для иллюстрации их реализации в приложении Jmix 🚀.
#гайд 📚
В мире всё со всем связано 🌍. Даже в нашем любимом примере Pet Clinic 🐾 один ветеринар может иметь несколько специальностей, а каждой специальностью может обладать несколько докторов 🩺.
Когда вы проектируете модель данных, на ER-диаграмме запросто можно нарисовать связь «многие ко многим». Но вот беда – реляционные БД 🗄️ не могут нативно реализовать такую связь. И приходится изощряться 🤔.
Есть два способа, как это сделать в Jmix:
Непосредственно между сущностями – на самом деле, промежуточная таблица 📋 в этом случае всё равно создается, просто Jmix сделает это за вас ✨.
Через промежуточную сущность – вы сами создаете промежуточную сущность 🧩, которая развяжет эти множественные отношения. В этом случае на связь можно навесить дополнительные атрибуты, например, дату её создания 📅 и срок действия ⏳.
А ещё эти связи могут быть одно- или двунаправленными 🔄, от чего зависит их доступность на уровне Java/JPA ☕. И важно, кто связью владеет – владение определяет, какая сущность управляет join-таблицей для обновления записей 🛠️.
Но таблицы – это ещё полдела 📂. Вам же ещё надо как-то отобразить эти множественные связи в интерфейсе 🖥️, и тут тоже не всё так однозначно!
В руководстве Data Modeling: Many-to-Many Associations мы рассмотрим оба подхода, предоставив практические примеры для иллюстрации их реализации в приложении Jmix 🚀.
#гайд 📚
👍17
Композиции в Jmix: за пределами обычных ассоциаций 🌟
В отличие от ассоциаций JPA, таких как
В чем суть:
🔹 Когда сущности не просто связаны друг с другом какими-то отношениями, а когда дочерняя сущность является по факту составной частью родительской, то управляться они должны совместно, обеспечивая согласованное и единое сохранение данных в рамках одной транзакции.
🔹 Это упрощает управление жизненным циклом и помогает поддерживать согласованность структуры данных без необходимости дополнительного ручного вмешательства.
🔹 Также, композиции позволяют строить более удобный пользовательский интерфейс, позволяя обрабатывать связанные сущности в одном экране.
Самый простой пример – это заказ и позиции в заказе. 🛒 Отдельная строка заказа не имеет смысла вне контекста родительской сущности.
В руководстве Data Modeling: Composition вы узнаете о связи
Руководство охватывает два основных типа Compositions:
🔸
🔸
На практических примерах вы поймёте, как настроить и эффективно использовать Compositions в своих приложениях Jmix для обеспечения согласованности данных и интуитивных рабочих процессов. 💡
#гайд
В отличие от ассоциаций JPA, таких как
@OneToMany, @Composition является концепцией, специфичной для Jmix, и не имеет прямого эквивалента в JPA. 🛠В чем суть:
🔹 Когда сущности не просто связаны друг с другом какими-то отношениями, а когда дочерняя сущность является по факту составной частью родительской, то управляться они должны совместно, обеспечивая согласованное и единое сохранение данных в рамках одной транзакции.
🔹 Это упрощает управление жизненным циклом и помогает поддерживать согласованность структуры данных без необходимости дополнительного ручного вмешательства.
🔹 Также, композиции позволяют строить более удобный пользовательский интерфейс, позволяя обрабатывать связанные сущности в одном экране.
Самый простой пример – это заказ и позиции в заказе. 🛒 Отдельная строка заказа не имеет смысла вне контекста родительской сущности.
В руководстве Data Modeling: Composition вы узнаете о связи
Composition в Jmix — ключевой функции, которая позволяет создавать тесно связанные отношения между сущностями с управлением их жизненным циклом. Мы сравним Compositions с Associations, выделяя их основные различия и случаи применения каждого из них. ⚖️Руководство охватывает два основных типа Compositions:
🔸
One-to-Many ➡️ Один ко многим🔸
One-to-One ➡️ Один к одномуНа практических примерах вы поймёте, как настроить и эффективно использовать Compositions в своих приложениях Jmix для обеспечения согласованности данных и интуитивных рабочих процессов. 💡
#гайд
🔥14👍5