пятница, 24 ноября 2017 г.

Разворачиваем собственную среду исполнения WebSphere Liberty (с microprofile-1.2) в облаке IBM Cloud

WebSphere Liberty - это быстрый, динамичный и простой в использовании сервер приложений Java EE, основанный на проекте с открытым исходным кодом Open Liberty. Идеален для разработки, но так же и сертифицирован для промышленного использования как в IT предприятия, так и в облачном окружении.

IBM Bluemix (сейчас именуемая IBM Cloud) - это последнее облачное предложение от IBM. Облако позволяет организациям и разраотчикам быстро и просто создавать и разворачивать свои приложения в облаке. Bluemix - это реализация открытой облачной архитектуры от IBM, основанной на Cloud Foundry - Platform as a Service (PaaS) с открытым исходным кодом. IBM Cloud Foundry предлагает среды исполнения для Java, Node.JS, PHP, Python, Ruby, Swift и Go. Также доступны созданные сообществом билдпаки (build pack).

Хотя IBM Cloud уже предоставляет среду исполнения для WebSphere Liberty, иногда ее возможностей недостаточно и разработчикам требуется своя собственная версия платформы, например легковесная Liberty Kernel или старая версия для проверки обратной совместимости, или WebSphere Liberty, снабженная специфичными для разрабатываемого приложения возможностями (features).

В данной статье я хочу показать как можно развернуть вашу собственную инсталляцию WebSphere Liberty в облаке IBM Cloud, будто обычное Java-приложение. Инсталляция будет снабжена последней версией MicroProfile - открытого форума для сотрудничества над созданием микросервисов, основанных на Enterprise Java, - анонсированной 3-го октября 2017-го года.

Eclipse MicroProfile 1.2 построено на основе версии 1.1, привносит обновления для API конфигурирования приложения, а также добавляет набор новых API: проверку работоспособности (health check), устойчивость к сбоям (fault tolerance), метрики и распространение JWT. Как сказано на официальной странице проекта, цель MicroProfile - позволить сообществу развивать экосистему микросервисов на Enterprise Java в рамках коротких циклов разработки, выпуска и принятия спецификаций, некоторые из которых затем будут включены в Java JSR или другие стандарты. Сервер приложений WebSphere Liberty уже реализует данную спецификацию MicroProfile 1.2, достаточно лишь включить соответствующую возможность - microprofile-1.2 - в файл конфигурации сервера server.xml.

вторник, 14 ноября 2017 г.

Десять лет блогу Сурового челябинского программиста!


Хочу поделиться большой радостью: ровно десять лет назад в блоге Сурового челябинского программиста появилась первая, возможно с высоты приобретенного опыта ее можно оценить как несколько наивную, запись - Знакомимся: xstream - сериализуем Java-класс в XML. С тех пор, практически без перерыва (возможно за исключением последних нескольких месяцев, о чем ниже), я старался знакомить своих читателей с не сильно популярными в наших широтах технологиями такими как Eclipse Communication Framework, Java на мейнфреймах, а так же делиться опытом практического использования продуктов корпораций Oracle и IBM.

За десять лет счетчик просмотров показывает, что к страницам блога обращались 1 964 144 раз. В основном на блог заходят из поисковых систем, т.е. люди ищут и, смею надеяться, находят решения конкретных проблем. Самой популярной за все время статьей является Как подружить Hibernate со Spring и обеспечить управление транзакциями через @ннотации - 57000 просмотров, тема Open Source в принципе довольно популярна в рунете. С большим отставанием на втором месте располагается Установка и настройка MikTeX 2.7 + PsCyr с 33600 просмотрами: диплом то писать надо. Замыкает пьедестал по выражению, прозвучавшему в комментариях: "полезный пищевой концентрат", - Распределенные транзакции (XA) с помощью JTA в JavaSE (на примере Spring + Atomikos) (посчитать количество просмотров затруднительно, т.к. на статью одно время был большой паразитный траффик из Германии).

Я даже помню, как возникла идея начать вести блог. Осенью 2007-го года я, еще будучи студентом, устроился на работу Java-программистом в компанию Naumen, где разрабатывал систему управления документооборотом Naumen DMS. В университете нам Java не преподавали от слова совсем: бал правил Microsoft со своими продуктами, поэтому учиться и постигать интереснейший мир Java приходилось самостоятельно. А если некая идея, библиотека или фреймворк оказались полезными мне, то возможно они окажут помощь еще кому-нибудь. Значит нужно приобретенными знаниями и опытом поделиться. В конце-концов Интернет - он не только для котиков и "зая, я сбила крота".

Фишка выделять англоязычные слова в русском тексте курсивом родилась практически в это же время.

К сожалению, последний год писать в блог желания практически не было. Так получилось, что последние несколько лет блог был посвящен преимущественно одной теме - интеграции с использованием стека Oracle Fusion Middleware, однако корпорация Oracle с одной стороны по неизвестным мне причинам несколько раз отклонила мое резюме, а с другой - выбрала стратегию улететь в облака, что негативно сказывается на качестве продуктов сегмента on-premise. Возникает чувство, что разработка и, самое главное, поддержка данных продуктов ведется по остаточному принципу, о чем в очередной раз пришлось убедиться за последние три месяца, решая проблемы крупнейшего российского заказчика. Ну хотя бы разобрался в деталях с работой кластера серверов приложений WebLogic, выяснил, например, что безобидный код создания во время исполнения подписчика на очередь (Uniform Distributed Queue) может вызвать настоящий шторм Announcement'ов соответствующего участка JNDI-дерева остальным участникам кластера. И то хлеб. В общем, не готов сейчас сказать, буду ли продолжать вести блог, поживем - увидим.

Понравилось сообщение - подпишитесь на блог