
Готовы поделиться ключевыми обновлениями, которые вы найдете в свежем релизе Jmix 2.1.
Для тех, кто хочет знать все, полную информацию об изменениях можно найти в документации Что нового.
Готовы поделиться ключевыми обновлениями, которые вы найдете в свежем релизе Jmix 2.1.
Для тех, кто хочет знать все, полную информацию об изменениях можно найти в документации Что нового.
«Мы хотим сделать систему по учету персонала. Только у наших архитекторов есть требование, что все у нас должно быть на микросервисах». Это, пожалуй, самый бесячий заход, который нам приходится слышать, как разработчику Jmix – платформы быстрой разработки корпоративных веб-приложений. Почему только микросервисы? Какие проблемы, кроме независимого развертывания они решают? Это действительно необходимо для всех типов приложений? Мы, для полного понимания, ни в коем случае не являемся противниками микросервисной архитектуры, однако неистово сопротивляемся слепому следованию «карго культа». Часто случается, что ничего, кроме удорожания разработки, поддержки и эксплуатации такие решения не приносят. Собственно, об этом и пишет Nikolas Frankel, автор статьи, перевод которой представлен ниже.
Во время технических презентаций нашей технологии – платформы быстрой разработки Jmix – мы, как правило, доходим до вопроса архитектуры создаваемых приложений и часто встречаем грусть в глазах разработчиков, когда сообщаем, что создаваемое приложение имеет монолитную архитектуру. Удивительно, но случается, что команды разработки приложений на Delphi или Oraсle EBS непременно заинтересованы в реализации микросервисной архитектуры, отождествляя ее с чем-то очень современным и самым продвинутым. К счастью, хайп вокруг микросервисов постепенно начал замещаться новой информационной повесткой о необходимости рационального использования ресурсов и выбора типа архитектуры приложений на основе компетенций команд разработчиков и масштабов создаваемого решения. В Jmix есть все необходимое, чтобы создавать современные корпоративные информационные системы в рекордные сроки и с минимальными затратами. Мы понимаем, что монолитная архитектура приложений Jmix не может закрыть все кейсы, но мы верим, что для каждой задачи есть подходящий инструмент. Прочитайте перевод статьи из блога Camunda, возможно, она поможет понять какой тип архитектуры подходит для вашего проекта, чтобы сэкономить время, деньги и нервы.
В статье поговорим об отличиях микросервисной архитектуры от монолитной и разберемся, что лучше подойдет для вашего следующего проекта.
Выпуск Jmix 2.0 — важная веха в развитии платформы. В первую очередь мы провели глобальное обновление технологического стека, что гарантирует актуальность в долгосрочной перспективе.
Jmix — это платформа с открытым исходным кодом для повышения эффективности разработки корпоративного ПО. Java-разработчики со всего мира используют ее для создания приложений, ориентированных на работу с данными, корпоративным контентом и бизнес-процессами. Jmix особенно эффективен, если у проекта есть строгие ограничения по бюджету и срокам. По сути, Jmix позволяет Java-разработчику стать fullstack-программистом и в результате своей работы получить полноценное веб-приложение на основе Spring Boot. Платформа привлекает тем, что не требует затрат на лицензирование конечных пользователей, а для разработки и backend, и frontend используются один язык: Java или Kotlin. В основе платформы лежат широко распространенные технологии и IDE, дружественная разработчику. В этой статье расскажем, с чего начиналась поддержка моделирования бизнес-процессов в Jmix, как мы встроили в платформу фреймворк bpmn-js, и какие плюсы от этого получили пользователи.
Первые шаги в направлении BPMN
В случае приложений для управления транзакциями, документами или другими корпоративным данными часто требуется отделить бизнес-логику от кода. Это можно сделать с помощью визуального конструктора, в котором аналитики и разработчики моделируют бизнес-процессы в соответствии с нотацией BPMN. К этой идее мы пришли в 2017 году, после большого количества запросов со стороны сообщества разработчиков Jmix. Поначалу для создания бизнес-процессов мы использовали собственный инструмент на основе движка Activiti. Он был частью CUBA Platform, прошлого поколения платформы Jmix.
Недавно мы выпустили новую версию Jmix 1.5. В статье расскажем о ключевых обновлениях, представленных в этом функциональном релизе.
Но сначала – небольшое вступление, кто мы такие и о какой платформе идет речь. Мы в Haulmont специализируемся на разработке и внедрении корпоративных информационных систем и заказных решений, а также собственных технологий и инструментов.
Одна из наших разработок, Jmix – это технологическая open-source платформа для быстрой разработки бизнес-приложений на Java. О ней и пойдет речь.
В России впервые в мире внедрили систему акустического мониторинга по волоконно-оптическим линиям на действующей автомобильной дороге протяженностью около 240 километров. Система позволяет в режиме реального времени отслеживать большое количество событий на дороге с точностью до 1 метра по акустическим следам от участников дорожного движения.
Проект был реализован компанией "СМАРТС", за программную часть отвечала ИТ-компания Haulmont. Собственно далее рассказ пойдет от лица разработчиков о сложностях и нюансах этого уникального проекта.
Разработка инструментария – очень познавательное занятие, потому что заставляется задуматься над теми вещами, которые в процессе разработки иногда не замечаешь. Казалось бы, создание @Id атрибута в JPA – рутинное занятие и каждый разработчик может сделать айдишник, даже не включая мозг. Однако, когда начинаешь углубляться в эту тему и пытаться разработать инструмент, который не только помогает писать код для определения ID, но и подсказывает потенциальные проблемы, то всплывает много интересного. И наши соображения, которыми мы руководствовались при разработке JPA Buddy, вылились в этот цикл статей.
2021-й год закончился, уже почти прошел первый месяц 2022-го. Прошлый год стал знаменательным для JPA Buddy: первый публичный релиз, встреча с первым пользователем и рост до одного из самых высокорейтинговых плагинов на IntelliJ IDEA Marketplace. А еще завтра у Баддика первая годовщина — ровно год назад вышел первый публичный релиз! В этой статье мы решили поделиться историей, которая стоит за JPA Buddy, достижениями 2021-го года, некоторыми интересными фактами, которые получили от нашего комьюнити, и планами на 2022-й.
JDK 17 с нами уже несколько месяцев и он не только про новые возможности языка Java. Прирост производительности в сравнении с более старыми версиями JDK очень заметен. Это становится особенно очевидно, когда мы сравниваем его с предыдущими LTS версиями: JDK 8 и JDK 11. Большая доля в улучшении производительности происходит из новых функций и оптимизаций в JVM, и в этой статье фокус будет на улучшениях, которые были сделаны в области сборки мусора в JVM
Сайт мониторинга ситуации по коронавирусу Соединенного Королевства - основной сервис отчетности во время пандемии COVID-19 для всей страны. Он испытывает нагрузку порядка 45–50 миллионов запросов в день и относится к национальным сервисам критической важности.
Мы работаем в соответствии с архитектурой active-active, что значит, у нас есть минимум две, часто - три экземпляра каждого сервиса, которые запущены в разных географических локациях.
Есть только одно исключение - наша база данных. Сервис работает с использованием специальной версии PostgreSQL: Hyperscale Citus. Тот факт, что наша база данных не соответствует архитектуре active-active — это не следствие того, что мы не знаем, как делать реплики для чтения, скорее - результат логистических проблем, обсуждение которых выходит за рамки этой статьи.
Тем не менее, база данных работает в высокодоступной экосистеме, где сбойный экземпляр может быть заменен в течение пары минут.
Мягкое удаление (soft deletion) — это популярная в энтерпрайз разработке стратегия удаления, когда вместо физического стирания та или иная запись помечается как удаленная, а потом фильтруется во всех запросах на чтение. Применение мягкого удаления может быть оправдано целым набором требований: аудит, возможность восстановления удаленных записей, а иногда необходимо уметь удалять данные, при этом сохраняя на них ссылки из других записей…
Вообщем, нам, как авторам JPA Buddy (плагина для IntelliJ), пришлось с этим плотно разбираться. В этой статье мы рассмотрим детали, которые зачастую не упоминаются в большинстве публикаций по этой теме, хотя крайне важны для принятия решения о способе реализации мягкого удаления в вашем приложении. Давайте посмотрим, с чем вы, вероятно, намучаетесь.
От переводчика: Фокусом нашей компании всегда была именно разработка корпоративных приложений. В Haulmont мы занимаемся как созданием собственно приложений, так и инструментов, позволяющих разработчикам эффективнее решать задачи, связанные с разработкой таких систем. Например, наш фреймворк Jmix предназначен для корпоративной разработки, мы это заявляем в рекламе и анонсах. И конечно же, пройти мимо статьи с таким названием мы просто не могли. В Jmix есть все, чтобы сделать разработку корпоративных приложений интересной и успешной, кроме одного: он не может повлиять на людей, которые принимают решения о методах и процессах разработки. Почитайте статью, возможно, она заставит вас задуматься, о том, как можно поменять вашу корпоративную разработку, чтобы все участники были довольны.
На эту статью меня вдохновил комментарий на HackerNews, который я больше не могу найти. Суть его была такая: “В то время, как архитектура слишком проработана, код недоработан”. Если кто-то опознает автора, я с радостью проставлю его авторство.
Заранее в свою защиту хочу сказать, что этот текст описывает только мой опыт за последние 10 лет работы консультантом. Возможно, есть методики и фреймворки, которые решают проблемы, описанные ниже, но они либо не применялись, либо применялись неправильно.
Тезисно:
Java 17 полна решимости пробить барьер, имеющийся на границе Java 8 и Java 9. Теперь, начиная с 17-ой версии, Oracle будет предоставлять Oracle JDK бесплатно, даже для коммерческих целей. Единственное чего делать нельзя — это перепродавать Oracle JDK.
В статье приведен перевод полного текста анонса с блога Oracle: https://blogs.oracle.com/java/post/free-java-license.
От переводчика: на конференции SpringOne были сделаны довольно важные анонсы относительно нового поколения Spring Framework, на Хабре это почему-то это прошло незамеченным. Судя по всему, в ближайшее время мы будем жить не просто в мире “Java 8/Java 11+”, а появится ещё один водораздел: “Spring 5/Spring 6+”. Чем это грозит? Например, если вы используете Hibernate 5.4, то придется принудительно обновиться на Hibernate 5.5+.
1 сентября на SpringOne было объявлено, что минимальные требования для Spring Framework 6 и Spring Boot 3, который будет доступен в 4 квартале 2022 года, сдвигаются в сторону увеличения:
В Haulmont приходят как опытные специалисты, так и разработчики без опыта. Мы часто общаемся с новичками, которые не знают, с чего начать путь в IT. Собрали полезные ресурсы и рейтинги, а еще спросили руководителей нашей программы по трудоустройству начинающих разработчиков, как изучить рынок, выбрать язык программирования и о чем не забыть на собеседовании. Если вы уже опытный разработчик, будем рады узнать ваш опыт и советы для новичков.
Невозможно представить JPA без сущностей. Однако, их определение в Котлине таит некоторое количество подводных камней. Давайте посмотрим, как избежать распространенных ошибок и использовать возможности Котлина на максимум. Внимание спойлер! Классы данных — не лучший вариант для сущностей.
В этой статье основное внимание будет уделено Hibernate, поскольку он является несомненным лидером среди всех реализаций JPA.
Недавно прогремел GitHub со своим новым продуктом Copilot. Из ближайшего прошлого помнятся слова Kite и Codota (ныне Tabnine). Всё это щупальцы искусственного интеллекта, призванные изменить отрасль разработки программного обеспечения. В целом, шум затих, пена сошла, можно смотреть в более прозрачное будущее. В этой статье я опишу свои впечатления и переживания по поводу всего этого AI-я.
Lombok — это отличный инструмент, с которым Java-код становится чище и лаконичнее. Однако есть несколько нюансов, которые надо учитывать при его использовании с JPA. В этой статье мы выясним, как неправильное применение Lombok может повлиять на производительность приложений или даже привести к ошибкам. Разберемся, как этого избежать не теряя преимуществ Lombok.
Ваш аккаунт