Среды разработки и исполнения java программ для пользователей 1с предприятия
Продукты BellSoft поддерживают архитектуры x86 64/32 bit, ARM, PowerPC, SPARC. Именно поэтому Liberica JDK — единое решение для облачных, серверных и десктопных систем. Сервер приложений LiberCat — альтернатива проприетарным продуктам Oracle WebLogic и IBM WebSphere.
Удобная разработка в облаке
Наши легковесные контейнеры оптимизированы под микросервисы и облачные решения. С ними вы сократите расходы на передачу данных, хранение и развёртывание приложений. Liberica JDK — основная среда исполнения в VMware Tanzu Portfolio и доступна в Yandex Cloud.
Экспертная техподдержка
BellSoft предлагает качественную поддержку на русском языке. Над вашими задачами работают профессионалы Java™, которые уже более 15 лет занимаются её разработкой. Решения проблем, возникающих у наших клиентов, оперативно вносятся в основную ветвь OpenJDK.
Альтернатива Oracle JDK
Чтобы мигрировать c Oracle JDK на OpenJDK потребуется изменить всего пару строк кода. Более заметна разница в уровне технической поддержки. Liberica JDK — на 100% российский продукт. Инженерная команда поддержки, отвечающая на любой запрос в течение суток, находится в Санкт-Петербурге. Инженеры более 15 лет занимаются проектом OpenJDK и знакомы с ним на микроуровне.
Квалифицированная команда BellSoft поможет в среднем втрое (в зависимости от числа десктопов и серверов) сократить расходы на техническую поддержку Java™ при миграции с Oracle JDK.
Показатели качества
Доступ ко всем версиям
Непрерывные обновления для LTS-релизов (Java 8, 11, 17) и текущего Liberica JDK 18 (Java 18) и более ранних (Java 9, 10, 12, 13, 14, 15, 16).
Соответствие стандартам
Все сборки Liberica JDK прошли тесты TCK на реализацию спецификаций Java SE. Liberica JDK входит в Единый реестр российского ПО (№5394) и является средой исполнения Java в КриптоПро JCP 2.0 R3.
Релизы в срок
Выпуски JDK и JRE самых популярных версий (8, 11, 16) четыре раза в год и одновременно с релизами Oracle JDK.
Вспомогательное ПО
Бесплатные средства мониторинга (JFR + Mission Control), автообновление и т.д. Скоро — новый инструмент Liberica Administration Center (LAC) для проверки состояния рантаймов, ошибок и релизов. Оставьте данные своей организации и получите демо-версию этого эффективного программного средства.
Долговременная поддержка
Поставщики JDK должны нести ответственность за свой продукт и предоставлять качественную техподдержку. Мы гарантируем исправления ошибок, патчи безопасности и прочие улучшения на протяжении минимум 8 лет жизненного цикла Liberica JDK.
Множество конфигураций
Windows (Desktop и Server), macOS, большинство известных дистрибутивов Linux (с полноценной поддержкой Alpine Linux), Solaris и российские системы (Astra Linux, Alt Linux, РЕД ОС). Liberica JDK одинаково хорошо работает в виртуальных и облачных окружениях. Мы поддерживаем Docker, VMware и другие гипервизоры.
Воспользуйтесь преимуществами Liberica JDK
РАБОТА В ОБЛАКЕ
размер самого маленького контейнера
Самый маленький контейнер на рынке — разработка инженеров BellSoft. Только представьте, сколько времени и денег тратится на передачу данных, хранение и деплой, и сколько вы сэкономите с нашими Docker-образами. Мы подбираем удобные и полезные инструменты для работы с современными сборками. BellSoft помогает компаниям внедрять микросервисную архитектуру и поддерживает легкие ОС, такие как Alpine Linux.
БЕЗОПАСНОСТЬ
наших клиентов никогда не испытывают проблем с безопасностью Java-рантайма
BellSoft — один из мировых лидеров, участвующих в разработке OpenJDK. А значит, мы заботимся о том, чтобы наш продукт был безопасным для использования и разработки. В каждом новом релизе устраняются ошибки предыдущих версий. Помимо того, что все сборки Liberica JDK проверяются сюитой TCK на соответствие стандартам Java SE, мы проводим собственные тесты на уязвимости. С поддержкой BellSoft ваши Java-приложения будут под надежной защитой.
ПОДХОД К КЛИЕНТУ
часов в год вы экономите благодаря тех.поддержке команды BellSoft
Наша цель — создавать понятное и простое программное обеспечение, удобное для всех пользователей. Именно поэтому мы занимаемся разработкой легковесных Docker-образов и задействуем множество каналов для доставки нашего продукта, где можно скачать и обновить Liberica JDK. Также мы предлагаем экспертную коммерческую поддержку от первоклассных Java-разработчиков.
Достигайте паритета с планами поддержки
Ознакомьтесь с гибкими планами техподдержки Bellsoft и узнайте, насколько выгодной для вас будет миграция на Liberica JDK
Помните, что не все компании нуждаются в обслуживании целой командой инженеров. В отдельных случаях помощи сообщества OpenJDK оказывается вполне достаточно. Ознакомьтесь с готовыми пакетами подписки на техническую поддержку команды BellSoft или получите бесплатную консультацию с одним из наших экспертов
Клиенты говорят о Liberica JDK
Мы доверяем опыту и навыкам инженеров BellSoft, которые своевременно предоставляют обновления нашим клиентам. Вместе мы поддерживаем безопасность и производительность JetBrains Runtime на высоком уровне.
Очевидный плюс Liberica JDK — микроконтейнеры! Как показало время, это действительно важно. Мы оценили их значимость в условиях удалённой работы, когда не всегда есть быстрый интернет, а надо часто делать docker pull/push.
Стабильность, скорость и точность — это очень важные для нас факторы. Мы перешли на Liberica JDK без каких-либо проблем, и она стала основной средой исполнения Java в нашей компании. Мы очень довольны уровнем техподдержки BellSoft.
Пишем два приложения - конфигурацию на мобильной платформе 1С и приложение Java Android Studio. На примере рассматриваем совместное использование двух приложений через Intent. Публикация состоит из 3 частей: Часть 1. Запуск приложения Java из 1С Часть 2. Получаем данные в 1С из приложения Java Часть 3. Отправляем данные в приложение Java из 1С.
В данной части рассмотрим создание двух приложений на мобильной платформе и Java Android Studio. И реализуем вызов приложение Java из 1С.
1. Начнем с реализации мобильного приложения на Java. Запускаем Android Studio
Выбираем версию SDK. Я выбрал минимальную для работы на большинстве мобильных устройств 2.3.3
Открываем activity_main.xml и рисуем две кнопки:
Пишем реализацию MainActivity.java:
В коде мы определили кнопки и присвоили им Activity как обработчик нажатий. В методе onCilck мы определяем какая кнопка была нажата и создаем Intent.
Для создания Intent используем конструктор: Intent (String action). Т.е. мы при создании заполняем атрибут объекта Intent, который называется action. Это обычная строковая константа. Action обычно указывает действие, которое мы хотим произвести. Аction – это некий идентификатор окна, по которому мы его будем вызывать из 1С. В моем случае это ru.w0rm.intent.action.showtime и ru.w0rm.action.showdate
Теперь создадим два дополнительных Layout (окна) time.xml и date.xml. Одно окно будет отображать текущее время, а второе дату. Эти Layout мы будем вызывать из 1С.
Cоздаем класс ActivityTime с суперклассом android.app.Activity.
Пишем код в ActivityTime.java:
Аналогично создаем класс ActivityDate.
Пишем код в ActivityDate.java:
Теперь только осталось дописать в манифесте:
Здесь мы как раз и инициализируем наши Action. В итоге в манифесте должно получиться следующее:
Запускаем мобильное приложение и проверяем. При нажатии на кнопки вызываются два окна. Одно показывает дату, второе время.
2. Теперь создадим приложение на мобильной платформе 1С и будем вызывать наши Activity из приложения на Java
Создаем новую конфигурацию. Имя Intent. Назначение использования - Мобильное устройство.
Создаем общую форму - Начальная форма. На форму добавляем две команды - ПоказатьВремя и ПоказатьДату.
Добавляем обработчики команд:
В обработчике и указываем Action из форм Java. По ним и будут вызываться необходимые нам Activity.
Открываем Рабочую область начальной страницы и выбираем нашу Начальную форму.
Публикуем мобильное приложение и запускаем. Видим, что при нажатии на кнопки у нас вызываются окна из мобильного приложения написаного на Java.
Зачем это надо ? - Самые большие зарплаты программистов на Java и JavaScript.
На 1С зарплата сеньора 150 тысяч руб. в месяц (максимум 200), я на яве уже 250 тысяч руб. (максимум 300). Разработка на ява похожа по смыслу на 1С, поэтому 1С-нику лучше туда.
JavaScript предназначен в основном для рисования форм в веб-браузере, что для 1С-ника вообще не является работой, т.к. в 1С формы рисуются автоматически сами собой. Есть ещё много других языков программирования редких и специализированных, имеющие мало вакансий, поэтому неинтересные.
Что можно сделать на яве:
- backend для корпоративных сайтов, например аналогично как в 1С после нажатие на кнопку "Записать" куда-то что-то записывается, или отправляется емайл или т.п., это и есть бакенд. Для обычных небольших сайтов больше подходит язык php, на котором легче делать то же самое, но он не подходит для крупных сайтов т.к. не имеющий строгой типизации язык быстро превращается в «говнокод», а также там нет масштабируемости, мнгопоточности и др.
- frontend совместно с JavaScript – рисование вебформ, с кнопками и др., изменение их размеров, скрытие и др. Редко используется т.к. легче на JavaScript без Java
- приложения для десктопных компьютеров – редко используется т.к. самый современный фреймворк для этого JavaFX отстаёт по возможностям от 1С и от очень старого Delphi6, т.е. лет на 20. Чтобы создать 1 кнопочку на форме с простым действием уходит 1 час вместо одной минуты на 1С, т.к. кроме долгих настроек надо ещё конфигурировать .xml файл и др.
- приложения для смартфона – редко используется т.к. на андроиде теперь официальный язык Kotlin, а на iOS – Swift
- приложения для специализированных устройств – редко используется т.к. нет вакансий
Работа 1С-ника итак состоит в создание бакенда на 80%, 10% - рисование форм frontend, 10% - общение с пользователями, т.е. работа по смыслу совсем не изменится. Вместо пользователей будут аналитики, вместо создания форм будет общение с фронтендерами, добавится только создание автоматических юнит-тестов, которые 1С-ники не делают вообще никогда, а может и не добавится, если это сделают отдельные тестировщики, в общем ничего не изменится в режиме работы.
В 1С все программируют на русском языке, можно и на английском, но никто этого делать не будет, поэтому казалось бы нет ничего общего с явой, совсем не похоже, и знания из 1С не пригодятся уже, но достаточно просто сделать «перевод» терминов из 1С в ява, тогда всё будет намного проще – что я и попытаюсь сделать.
- IDE - как конфигуратор в 1С, IntelliJ IDEA или NetBeans
- Java core - синтаксис языка, он простой, совместно с фреймворками становится всё сложно, а сам язык легкий для изучения.
- Работа с коллекциями - аналогичные коллекции как в 1С: "Массив", "Список значений", "Структура", "Соответствие" и др., точно такие же коллекции есть в java, достаточно написать таблицу соответствий как они называются тут и там.
- Maven - для собирания всех файлов разных компонент, фреймворков в одну папку, нужной структуры, а также их обновления, выполнения скриптов. В 1С версии 8 обычно не нужно, там редко бывают внешние файлы, а в 1С 7.7 много внешних файлов, но всё равно нет ничего аналогичного.
- Spring boot, Spring BOM - в основном контролирует чтоб версии разных компонент (старые и новые) не конфликтовали друг с другом, т.е. где-то в интернете хранится таблица совместимости разных версий компонент друг с другом.
- Работа с базами данных - аналогично как в 1С "Внешние источники данных". Можно просто запросами вытягивать оттуда данные, а лучше сделать маппинг ORM т.е. превращение реляционных таблиц в объекты java - 1С это делает полностью автоматически, незаметно для программиста, в яве тоже полуавтоматически создаются классы типа "@Entity"
- Запросы к базе данных - знание обычных TSQL запросов пригодится, но будет ещё язык HQL - специализированный язык запросов для превращения реляционных таблиц в объекты java, как и в 1С есть свой особый язык запросов.
- Spring core - в основном для Dependency Injection - как бы для хранения глобальных переменных, которых нет в 1С версии 8, но есть в версии 7.7
- Spring MVC - как веб сервисы в 1С. Например аннотация "@GetMapping("/page1")" означает что функция которая ниже выполнится когда откроется веб страница "page1"
- XML и JSON - они итак есть в 1С, в яве ещё легче сериализовать объект т.е. превратить в строку.
- RestFull, микросервисы - то же что в 1С галочка "Публиковать стандартный интерфейс Odata", который для всех объектов конфигурации автоматически создает интерфейс RestFull, в яве делают то же самое только для нужных объектов.
- Тестирование - вручную как в 1С, и написание автоматических юнит-тестов.
- Git - как хранилище конфигурации в 1С, для совместной работы нескольких программистов.
- Deploy - обновление конфигурации, в яве это обычно просто скопировать куда-то файл, специально подготовленный.
По каждому пункту напишу отдельную статью, кратко, для общего понимания и сравнения как одно и то же делать на разных языках, и где легче.
P.S. Работаю программистом 1С, изучаю java, поэтому описание про яву примерное, ненаучное.
PPS: Работаю уже golang developer, т.к. ява отстойная :-) , устаревшая, не нравится
Фирма «1С», крупнейший российский разработчик делового программного обеспечения, выбрала Liberica JDK, российскую среду исполнения Java, в качестве стандартного средства запуска Java-компонент программ системы «1С:Предприятие». Эту безопасную среду исполнения Java от российской компании BellSoft планируется включать в комплекты поставок программного обеспечения «1С», использующего Java-компоненты. Компания BellSoft будет также оказывать техническую поддержку для фирмы «1С». Долгосрочное стратегическое партнерство двух российских разработчиков позволит усилить цифровой суверенитет организаций, автоматизирующих свою деятельность на базе программ системы «1С:Предприятие».
Программный продукт Liberica JDK включен в реестр российского ПО, допущен ФСБ для использования с сертифицированными криптографическими средствами и протестирован на совместимость с операционными системами ведущих российских поставщиков. Включение Liberica JDK в состав программных продуктов «1С», имеющих современную клиент-серверную архитектуру, даст их пользователям преимущества при развертывании приложений в контейнеризованном окружении.
BellSoft входит в топ-5 самых активных участников OpenJDK сообщества, что позволяет позиционировать эту российскую компанию как одного из мировых лидеров, развивающих Java, наравне с Oracle, Red Hat, Google и др. BellSoft обладает экспертизой, позволяющей решать широкий спектр задач «1С», связанных со средой исполнения Java: поставлять необходимые сборки, гарантировать соответствие стандарту Java SE, обеспечивать своевременное устранение уязвимостей безопасности, устранять возникающие проблемы, включая самые сложные, связанные с динамической компиляцией и сборкой мусора. За плечами BellSoft почти 200 человеко-лет разработки на Java и OpenJDK.
«Мы очень рады, что крупнейший российский разработчик программного обеспечения выбрал техническую поддержку от BellSoft, аккумулировавшего лучшую экспертизу и опыт разработки Java в российском программном продукте LibericaJDK. Мы чрезвычайно ценим преимущества продуктов с открытым исходным кодом и уверены, что наша экспертиза поможет фирме «1С» обеспечивать безопасность и надежность компонент программ, работающих на Java, и оперативно решать самые сложные задачи – от устранения уязвимостей безопасности до оптимизации работы динамического компилятора. Наше стратегическое партнерство – это хороший пример достойной конкуренции российских разработок на международном уровне. В корпоративных и государственных системах предъявляются высокие требования к качеству и поддержке программного обеспечения. Пользователи «1С» могут быть спокойны: их программы будут работать на безопасной российской среде исполнения Java с соблюдением всех требований цифрового суверенитета», – отметил Александр Белокрылов, генеральный директор BellSoft.
Подтверждения и дополнительная информация:
О фирме 1C
Фирма «1С» специализируется на разработке, дистрибьюции, издании и поддержке компьютерных программ. «1С» работает с пользователями через разветвленную партнерскую сеть: более 10 000 постоянных партнеров в 25 странах, в том числе более 7 800 фирм 1С:Франчайзи, сертифицированных «1С» на оказание комплексных услуг по автоматизации предприятий. Из разработок «1С» наиболее известна система программ «1С:Предприятие» — решения ERP-класса для повышения эффективности предприятий и учреждений, построенные на инновационной технологической платформе, которая обеспечивает высокую гибкость, масштабируемость и производительность корпоративных решений, работу в режиме облачного сервиса (SaaS) и на мобильных устройствах. «1С:Предприятие» успешно применяется для автоматизации управления и учета более чем в 1 500 000 организаций, от малого бизнеса и индивидуальных предпринимателей до крупнейших корпораций и госструктур. Система лидирует на рынке ERP России по количеству автоматизированных рабочих мест.
Пользователи предприятий с госучастием, министерств и ведомств получили отечественный программный продукт Liberica JDK для разработки и запуска своих Java-приложений.
Санкт-Петербург, 3 сентября 2019 г.
Программный продукт Liberica JDK (Java Development Kit) включен в реестр российского ПО под номером 5493 согласно приказу Минсвязи. Теперь в списке программ, созданных в России, есть ключевая технология разработки и запуска приложений Java, которая рекомендована к использованию в органах государственной власти. Это единственный продукт в реестре сразу по нескольким критериям – среда разработки и исполнения Java и связущее серверное ПО. Добавление Liberica JDK в реестр способствует расширению использования российского ПО и открывает новый этап развития и поддержки ИТ для предприятий с госучастием, министерств и ведомств.
«Включение среды исполнения Java в реестр российского ПО - это значимый шаг для развития ИТ-рынка в России. Java заслуженно стала самой популярной технологией разработки бизнес-приложений в мире, и Россия не исключение. А в корпоративных и государственных системах предъявляются высокие требования к качеству и поддержке ПО. Теперь ИТ-руководители, офицеры безопасности и архитекторы смогут воспользоваться поддержкой российского производителя, аккумулировашего лучшую экспертизу и опыт разработки Java в российском программном продукте Liberica JDK.» - отметил Александр Белокрылов, Генеральный директор BellSoft.
Инженерный костяк разработчика Liberica JDK состоит из российских инженеров, которые участвовали в создании Java на протяжении 15 лет в Sun и Oracle и продолжают сегодня вносить существенный вклад в OpenJDK. Это позволяет компании предоставлять консультационные сервисы, связанные с разработкой сложных систем на Java технологиях: аудит архитектуры программных систем, оптимизация производительности, миграция программных систем на современные версии Java, переработка архитектурного дизайна для улучшения перфоманса системы в целом. Глубокие знания механизмов работы виртуальной машины Java, понимание дизайна системных библиотек и большой опыт работы по оптимизации приложений использующих современные и легаси фреймворки, позволяют клиентам компании BellSoft в России и за рубежом получать результаты высочайшего качества и в оптимальные сроки.
Например, Павел Дерендяев, руководитель центра компетенций Java Департамента цифровых решений Альфа-Банка отмечает: “Компактные контейнеры Liberica JDK активно используются в микросервисных приложениях Альфа-Банка, а знания и опыт инженеров BellSoft позволяют нам быть уверенными в надежности и безопасности Liberica JDK.”
Компании в финансовом секторе, ритейле, ИТ с уверенностью доверяют поддержку своих систем на Java-технологиях экспертам BellSoft. Внесение Liberica JDK в единый реестр российского ПО позволит расширить положительный пользовательский опыт на компании с государственным участием, министерства и ведомства и с полным соблюдением требований цифрового суверенитета.
Подтверждения и дополнительная информация:
О компании BellSoft:
Компания BellSoft выпускает Liberica JDK: cреду разработки и запуска приложений Java SE и предоставляет коммерческую поддержку, которая помогает эффективно решать задачи бизнеса в серверном, облачном и IoT применениях Java технологий. Имея более чем 15 летний опыт разработки Java, инженеры компании продолжают сегодня вносить существенный вклад в OpenJDK сообщество. Liberica JDK внесена в реестр российского ПО, что позволяет рекомендовать продукт органам государственной власти.
Читайте также: