5 декабря встретимся на митапе для java-разработчиков Naumen.
Спикеры поделятся опытом в промышленной java-разработке, реальными кейсами и полезными рекомендациями.
В программе три доклада:
🔸 Как приручить JSON — Максим Осипов, руководитель группы разработки Naumen SMP
🔸 Прагматика микросервисов: строим большую систему с помощью пачки монолитов — Дмитрий Черкасов, DevRel Jmix
🔸 Бэкэнд изображений в ОК — Руслан Измайлов, ведущий java-разработчик в ОК, VK
Старт митапа 5 декабря в 16:00 мск | 18:00 екб.
Митап пройдет онлайн, участие бесплатное — нужна только регистрация.
→ Зарегистрироваться на митап
#мероприятия
Спикеры поделятся опытом в промышленной java-разработке, реальными кейсами и полезными рекомендациями.
В программе три доклада:
🔸 Как приручить JSON — Максим Осипов, руководитель группы разработки Naumen SMP
🔸 Прагматика микросервисов: строим большую систему с помощью пачки монолитов — Дмитрий Черкасов, DevRel Jmix
🔸 Бэкэнд изображений в ОК — Руслан Измайлов, ведущий java-разработчик в ОК, VK
Старт митапа 5 декабря в 16:00 мск | 18:00 екб.
Митап пройдет онлайн, участие бесплатное — нужна только регистрация.
→ Зарегистрироваться на митап
#мероприятия
🔥12👍1
Создание бизнес-логики в Jmix
Тех, кто впервые знакомится с Jmix, поражает легкость, с которой можно создать модель данных и CRUD-экраны. А что дальше? – Дальше надо писать код, чтобы ожили ваши кнопки на формах, чтобы выполнились расчеты и произошел обмен данными с другими системами. Это все называют бизнес-логикой.
Даже если для вас не составляет проблем написать нужный код, все равно остается вопрос – где его разместить в Jmix, чтобы все заработало? Для новичка это может быть неочевидно, поэтому мы написали специальное руководство по созданию бизнес-логики в Jmix. С его помощью вы узнаете, какие возможности для этого существуют и в каких кейсах их лучше использовать.
Обычно первое, с чем сталкивается разработчик, это потребность обогатить стандартный CRUD-экран дополнительными функциями. Например, чтобы запустить какой-то бизнес-процесс по выбранной сущности.
Для этого подойдет бизнес-логика в контроллерах экранов (view).
Технически это довольно просто: определяете в XML-дескрипторе кнопку, создаете хэндлер, обрабатывающий ее нажатие, и Jmix сам перебрасывает вас в контроллер, где надо написать, что именно эта кнопка делает. Например, рассчитывает скидку и стартует процесс согласования этой скидки.
Однако, у этого подхода есть ограничения. Он хорошо работает в пределах одного экрана, когда все данные под рукой и эта логика уникальна. А что, если надо сделать то же самое в десяти экранах? Или вызвать эту логику через REST? Не очень-то удобно будет.
Что же делать? – Здесь уже пора перейти к использованию Spring-бинов, однако для поста это лишком обширная тема. Будет лучше обратиться к первоисточнику, тем более что там вы найдете и примеры кода, который можно адаптировать для вашего проекта.
#гайд
Тех, кто впервые знакомится с Jmix, поражает легкость, с которой можно создать модель данных и CRUD-экраны. А что дальше? – Дальше надо писать код, чтобы ожили ваши кнопки на формах, чтобы выполнились расчеты и произошел обмен данными с другими системами. Это все называют бизнес-логикой.
Даже если для вас не составляет проблем написать нужный код, все равно остается вопрос – где его разместить в Jmix, чтобы все заработало? Для новичка это может быть неочевидно, поэтому мы написали специальное руководство по созданию бизнес-логики в Jmix. С его помощью вы узнаете, какие возможности для этого существуют и в каких кейсах их лучше использовать.
Обычно первое, с чем сталкивается разработчик, это потребность обогатить стандартный CRUD-экран дополнительными функциями. Например, чтобы запустить какой-то бизнес-процесс по выбранной сущности.
Для этого подойдет бизнес-логика в контроллерах экранов (view).
Технически это довольно просто: определяете в XML-дескрипторе кнопку, создаете хэндлер, обрабатывающий ее нажатие, и Jmix сам перебрасывает вас в контроллер, где надо написать, что именно эта кнопка делает. Например, рассчитывает скидку и стартует процесс согласования этой скидки.
Однако, у этого подхода есть ограничения. Он хорошо работает в пределах одного экрана, когда все данные под рукой и эта логика уникальна. А что, если надо сделать то же самое в десяти экранах? Или вызвать эту логику через REST? Не очень-то удобно будет.
Что же делать? – Здесь уже пора перейти к использованию Spring-бинов, однако для поста это лишком обширная тема. Будет лучше обратиться к первоисточнику, тем более что там вы найдете и примеры кода, который можно адаптировать для вашего проекта.
#гайд
🔥14❤3👍3
Асинхронные задачи
Наверное, вы замечали, что при выполнении длительных⏳ операций интерфейс Jmix как бы ❄️«замораживается»? В этот момент пользователю остается только ждать, пока действие завершится.😓
В случаях, когда это обусловлено логикой работы, например массовое обновление множества документов, можно использовать механизм фоновых задач и отобразить на экране
А иногда система просто немного подтормаживает, что бывает при обращении к внешним сервисам или операциях с БД. Каждый раз показывать
Как раз эту боль и лечит
С помощью
#фича
UiAsyncTasks в Jmix 2.4Наверное, вы замечали, что при выполнении длительных⏳ операций интерфейс Jmix как бы ❄️«замораживается»? В этот момент пользователю остается только ждать, пока действие завершится.😓
В случаях, когда это обусловлено логикой работы, например массовое обновление множества документов, можно использовать механизм фоновых задач и отобразить на экране
progressBar.А иногда система просто немного подтормаживает, что бывает при обращении к внешним сервисам или операциях с БД. Каждый раз показывать
progressBar было бы раздражающе для пользователя и трудоемко для разработчика. Но и заставлять пользователя ждать тоже не хочется. Как быть?Как раз эту боль и лечит
UiAsyncTasks, запуская длительную операцию в асинхронном режиме. Пока система думает, пользователь может продолжать работать.С помощью
UiAsyncTasks вы можете значительно 👍улучшить user experience вашего приложения.#фича
🔥13👍5
📌 Что нового в Jmix 2.4?
3 декабря в 16:00 по мск Дмитрий Кремнев, ведущий разработчик Jmix, проведёт открытый вебинар, на котором расскажет о новых функциях и улучшениях в последнем мажорном релизе Jmix 2.4 и ответит на ваши вопросы.
Ключевые обновления, о которых пойдет речь:
🔹 Новые дополнения: Kanban, Calendar, PivotTable, UI Constraints, REST DataStore
🔹 Привязка данных к компонентам HTML
🔹 Fragment Renderer
🔹 Асинхронные задачи
🔹 Улучшения полнотекстового поиска
🔹 Улучшения Инспектора компонентов Jmix Studio
🔹 Генерация клиента OpenAPI в Jmix Studio
👉🏻 Регистрируйтесь, готовьте вопросы и подключайтесь 3 декабря в 16:00 по Мск.
#мероприятия
3 декабря в 16:00 по мск Дмитрий Кремнев, ведущий разработчик Jmix, проведёт открытый вебинар, на котором расскажет о новых функциях и улучшениях в последнем мажорном релизе Jmix 2.4 и ответит на ваши вопросы.
Ключевые обновления, о которых пойдет речь:
🔹 Новые дополнения: Kanban, Calendar, PivotTable, UI Constraints, REST DataStore
🔹 Привязка данных к компонентам HTML
🔹 Fragment Renderer
🔹 Асинхронные задачи
🔹 Улучшения полнотекстового поиска
🔹 Улучшения Инспектора компонентов Jmix Studio
🔹 Генерация клиента OpenAPI в Jmix Studio
👉🏻 Регистрируйтесь, готовьте вопросы и подключайтесь 3 декабря в 16:00 по Мск.
#мероприятия
🔥11❤5👍3
Media is too big
VIEW IN TELEGRAM
Синхронное и асинхронное выполнение длительных задач в Jmix Flow UI
Бывает так, что в контроллере экрана вам нужно выполнить операцию, которая выполняется какое-то ощутимое ⏳время, скажем, более трех секунд. Например, нужно сгенерить документы, отправить емейлы и так далее.
Вам решать – пусть пользователь немного потерпит или использовать один из методов асинхронного выполнения задач:
• UiAsyncTasks
• Фоновые задачи
Кстати, а в чем разница? – 👀Смотрите наше видео на эту тему!
#фича
Бывает так, что в контроллере экрана вам нужно выполнить операцию, которая выполняется какое-то ощутимое ⏳время, скажем, более трех секунд. Например, нужно сгенерить документы, отправить емейлы и так далее.
Вам решать – пусть пользователь немного потерпит или использовать один из методов асинхронного выполнения задач:
• UiAsyncTasks
• Фоновые задачи
Кстати, а в чем разница? – 👀Смотрите наше видео на эту тему!
#фича
👍10🔥1
Дополнение Calendar
Надоело прикручивать календарь руками к спискам задач, проектам и таймшитам? – Встречайте новое дополнение «Календарь»! Оно обеспечивает плавную интеграцию с JavaScript-компонентом
С его помощью можно отобразить календарь на день, неделю, месяц и т.д., перетаскивать события на другие даты, регулировать продолжительность события меняя его размер на экране и вообще делать все, к чему вы привыкли в работе с календарем.
Компонент FullCalendar становится доступен в палитре Add Component дизайнера экранов Студии, как только вы установите дополнение в свой проект. Вы можете создавать свои классы событий для календаря и загружать в него данные, как это обычно делается при помощи контейнера данных.
Вариативность внешнего вида и функциональных свойств календаря очень широка. Поэтому потребовалось сделать аж 27 примеров в нашем LIVE DEMO, чтобы вы могли разобраться во всех нюансах.
Подробнее -> здесь.
#фича
Надоело прикручивать календарь руками к спискам задач, проектам и таймшитам? – Встречайте новое дополнение «Календарь»! Оно обеспечивает плавную интеграцию с JavaScript-компонентом
FullCalendar, популярной библиотекой для создания интерактивных календарей.С его помощью можно отобразить календарь на день, неделю, месяц и т.д., перетаскивать события на другие даты, регулировать продолжительность события меняя его размер на экране и вообще делать все, к чему вы привыкли в работе с календарем.
Компонент FullCalendar становится доступен в палитре Add Component дизайнера экранов Студии, как только вы установите дополнение в свой проект. Вы можете создавать свои классы событий для календаря и загружать в него данные, как это обычно делается при помощи контейнера данных.
Вариативность внешнего вида и функциональных свойств календаря очень широка. Поэтому потребовалось сделать аж 27 примеров в нашем LIVE DEMO, чтобы вы могли разобраться во всех нюансах.
Подробнее -> здесь.
#фича
🔥16👍1
😱АЛАРМ! Если вы еще не зарегистрировались на вебинар по Jmix 2.4 - самое время это сделать! Возможно забыли упомянуть, но у нас будут выступать эстрадные звезды🕺 - Газманов, Киркоров и Руки Вверх . 🎙И между делом мы расскажем о новинках Jmix 2.4 традицонно в формате стенд-апа. Регистрируйтесь пока еще есть места!
🔥9😱1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
В Jmix 2.4 есть канбан-доска!
🎉Канбан-доска — это крутой инструмент для управления задачами и проектами! Она помогает командам визуализировать рабочий процесс и улучшать коммуникацию. На одном экране вы можете видеть все свои задачи: что сделано, что в процессе и что еще предстоит сделать.
🔥Популярные юз-кейсы канбан-доски просто впечатляют😍. В IT-компаниях команды используют ее для управления проектами, чтобы видеть текущие задачи и их приоритеты. В разработке ПО канбан помогает отслеживать прогресс по фичам и исправлениям ошибок. А в маркетинге — планировать кампании и следить за выполнением задач.
👍Канбан-доска отлично подходит для производственных процессов, где важно управлять потоками работы. Она позволяет командам легко адаптироваться к изменениям и повышает общую эффективность работы. Так что если вы еще не пробовали канбан-доску, самое время начать! Это действительно упрощает жизнь и делает работу более продуктивной!
🔗Дополнение основано на JavaScript-библиотеке
#фича
🎉Канбан-доска — это крутой инструмент для управления задачами и проектами! Она помогает командам визуализировать рабочий процесс и улучшать коммуникацию. На одном экране вы можете видеть все свои задачи: что сделано, что в процессе и что еще предстоит сделать.
🔥Популярные юз-кейсы канбан-доски просто впечатляют😍. В IT-компаниях команды используют ее для управления проектами, чтобы видеть текущие задачи и их приоритеты. В разработке ПО канбан помогает отслеживать прогресс по фичам и исправлениям ошибок. А в маркетинге — планировать кампании и следить за выполнением задач.
👍Канбан-доска отлично подходит для производственных процессов, где важно управлять потоками работы. Она позволяет командам легко адаптироваться к изменениям и повышает общую эффективность работы. Так что если вы еще не пробовали канбан-доску, самое время начать! Это действительно упрощает жизнь и делает работу более продуктивной!
🔗Дополнение основано на JavaScript-библиотеке
Smart Kanban.#фича
👍11🔥6
Уменьшение связности бизнес-логики при помощи событий приложения
Понятно, что сильная связанность кода — это плохо, а слабая — хорошо. Слабая связность дает нам модульность, поддерживаемость, гибкость, независимое тестирование, повторное использование и другие блага правильной архитектуры.
Но как этого добиться на практике?
Используйте событийно-ориентированный подход при разработке бизнес-логики, когда компоненты не вызывают друг друга напрямую, а взаимодействуют путем отправки и обработки событий.
В платформе Jmix есть множество типов событий, которые можно получать и обрабатывать:
o
o
Также, вы можете определить свои события –
Наверняка, вы уже с ними знакомы и не раз использовали. Например, когда договор подписан (то есть, установлен соответствующий атрибут), то можно поймать событие
Но такой код все еще будет достаточно связанным, потому что из стандартного слушателя вам придется вызывать сервис оплаты. Здесь минус в том, что такой слушатель ловит вообще все изменения сущности, что в нашем случае избыточно, когда нам нужен один конкретный факт из ее жизни.
Новый гайд рассказывает, как еще более уменьшить связность с использованием собственных событий и демонстрирует это на хорошо знакомом вам примере Pet Clinic.
Когда визит в клинику завершен, то автоматически должен стартовать процесс его оплаты. Для этого создадим кастомное событие
Не забываем и про слой UI, где тоже активно используются события. Со стандартными UI-событиями типа
В качестве примера в гайде показано, как создать свое событие начала лечения
Чтобы во всем разобраться основательно, можете воспользоваться демо-проектом с GitHub.
#гайд
Понятно, что сильная связанность кода — это плохо, а слабая — хорошо. Слабая связность дает нам модульность, поддерживаемость, гибкость, независимое тестирование, повторное использование и другие блага правильной архитектуры.
Но как этого добиться на практике?
Используйте событийно-ориентированный подход при разработке бизнес-логики, когда компоненты не вызывают друг друга напрямую, а взаимодействуют путем отправки и обработки событий.
В платформе Jmix есть множество типов событий, которые можно получать и обрабатывать:
o
Entity Lifecycle Eventso
Application Lifecycle Events
o UI EventsТакже, вы можете определить свои события –
Custom Application Events.Наверняка, вы уже с ними знакомы и не раз использовали. Например, когда договор подписан (то есть, установлен соответствующий атрибут), то можно поймать событие
EntityChangedEvent и при помощи слушателя запустить процесс оплаты. Но такой код все еще будет достаточно связанным, потому что из стандартного слушателя вам придется вызывать сервис оплаты. Здесь минус в том, что такой слушатель ловит вообще все изменения сущности, что в нашем случае избыточно, когда нам нужен один конкретный факт из ее жизни.
Новый гайд рассказывает, как еще более уменьшить связность с использованием собственных событий и демонстрирует это на хорошо знакомом вам примере Pet Clinic.
Когда визит в клинику завершен, то автоматически должен стартовать процесс его оплаты. Для этого создадим кастомное событие
TreatmentCompletedEvent, которое будет публиковаться после завершения лечения или обследования. И создадим компонент InvoicingProcessInitializer, который будет ловить только это событие и запускать оплату. Таким образом, нам не придется тревожить «большой» слушатель.Не забываем и про слой UI, где тоже активно используются события. Со стандартными UI-событиями типа
InitEvent или BeforeShowEvent вы также скорее всего знакомы. Но можно определять и собственные UI-события, отражающие вашу бизнес-логику.В качестве примера в гайде показано, как создать свое событие начала лечения
TreatmentStartedEvent и использовать его, чтобы обновить значение элемента в MainView. Прямым вызовом из открытого экрана списка назначенных визитов это было бы невозможно.Чтобы во всем разобраться основательно, можете воспользоваться демо-проектом с GitHub.
#гайд
GitHub
GitHub - jmix-framework/jmix-application-events-sample
Contribute to jmix-framework/jmix-application-events-sample development by creating an account on GitHub.
👍13
📢 Уже ЗАВТРА! Вебинар по Jmix BPM!
5 декабря в 16:00 по мск Станислав Макаров, продуктовый аналитик платформы Jmix, расскажет, как с помощью Jmix BPM создавать процессы, ориентированные на обработку событий.
На вебинаре вы узнаете:
🔹 Как на практике применить событийно-ориентированный подход к автоматизации бизнес-процессов.
🔹 Какие инструменты BPMN для этого применяются.
🔹 Как организовано межпроцессное взаимодействие.
Если вы хотите перейти от громоздких и запутанных процессов к набору простых процессов, взаимодействующих между собой, приходите на наш вебинар. Мы покажем, как реализовывать сложные задачи, используя событийный подход,
🔗 Регистрация по ссылке. Ждем вас!
#мероприятия
5 декабря в 16:00 по мск Станислав Макаров, продуктовый аналитик платформы Jmix, расскажет, как с помощью Jmix BPM создавать процессы, ориентированные на обработку событий.
На вебинаре вы узнаете:
🔹 Как на практике применить событийно-ориентированный подход к автоматизации бизнес-процессов.
🔹 Какие инструменты BPMN для этого применяются.
🔹 Как организовано межпроцессное взаимодействие.
Если вы хотите перейти от громоздких и запутанных процессов к набору простых процессов, взаимодействующих между собой, приходите на наш вебинар. Мы покажем, как реализовывать сложные задачи, используя событийный подход,
🔗 Регистрация по ссылке. Ждем вас!
#мероприятия
👍7
📢 Уже ЗАВТРА!
5 декабря встретимся на митапе для java-разработчиков Naumen. Спикеры поделятся опытом в промышленной java-разработке, реальными кейсами и полезными рекомендациями.
В программе три доклада:
🔸 Как приручить JSON — Максим Осипов, руководитель группы разработки Naumen SMP
🔸 Прагматика микросервисов: строим большую систему с помощью пачки монолитов — Дмитрий Черкасов, DevRel Jmix
🔸 Бэкэнд изображений в ОК — Руслан Измайлов, ведущий java-разработчик в ОК, VK
Старт митапа 5 декабря в 16:00 мск | 18:00 екб.
Митап пройдет онлайн, участие бесплатное — нужна только регистрация.
→ Зарегистрироваться на митап
#мероприятия
5 декабря встретимся на митапе для java-разработчиков Naumen. Спикеры поделятся опытом в промышленной java-разработке, реальными кейсами и полезными рекомендациями.
В программе три доклада:
🔸 Как приручить JSON — Максим Осипов, руководитель группы разработки Naumen SMP
🔸 Прагматика микросервисов: строим большую систему с помощью пачки монолитов — Дмитрий Черкасов, DevRel Jmix
🔸 Бэкэнд изображений в ОК — Руслан Измайлов, ведущий java-разработчик в ОК, VK
Старт митапа 5 декабря в 16:00 мск | 18:00 екб.
Митап пройдет онлайн, участие бесплатное — нужна только регистрация.
→ Зарегистрироваться на митап
#мероприятия
👍3🔥1
Недавно прошел Jmix Java Meetup в Алматы -- смотрите, как это было!
https://vk.com/video-216073304_456239068
#мероприятия
https://vk.com/video-216073304_456239068
#мероприятия
VK Видео
Jmix Java Meetup: 21 ноября 2024
21 ноября 2024 года в Алматы мы успешно провели Jmix Java Meetup — событие, собравшее энтузиастов и профессионалов Java-разработки. Как же здорово видеть конференц-зал битком! Обсудили дорожную карту продукта, пожелания сообщества, различные юзкейсы применения…
🔥7
👨💻Дима Черкасов, 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