Приложение микросервисов, развертываемое на старом сервере приложений JavaEE

#kubernetes #jakarta-ee #microservices #legacy #application-server

Вопрос:

У меня большая проблема, и я надеюсь, что кто-нибудь сможет мне помочь!

Я хотел бы провести рефакторинг старого устаревшего приложения JavaEE.

Рефакторинг, который я имею в виду, очень глубок, и я хотел бы перепроектировать приложение, переходя к архитектуре микросервисов, снова используя Java.

Для этого существует множество фреймворков, но я хотел бы использовать один из следующих: Quarkus (мой фаворит), Microprofile и Vert.x.

Проблема в том, что я получил указание на то, что новое приложение должно быть развернуто на старых серверах приложений, таких как WebSpere 8.5.5, WebLogic 12c, и должно быть развернуто в среде Kubernetes без какого-либо сервера приложений.

Есть ли какой-либо способ выполнить это последнее требование?

Любая помощь будет высоко оценена!

Большое спасибо!

Комментарии:

1. Нет. Кваркус стоит особняком. Как и в случае с Vert.X. Микропрофиль — это всего лишь набор API — интерфейсов, поэтому он будет с радостью работать в контексте JavaEE, хотя обратите внимание, что если сервер JavaEE старый , он вполне может предоставить более старый API, чем поддерживает современная платформа. Современные фреймворки, поддерживающие развертывание JavaEE, включают Spring Boot и Helidon (микропрофильный фреймворк).

2. Привет, Борис, спасибо за ваши предложения. Мне не нравится Spring, и что касается Helidon, я не понял, как развернуть приложение Helidon в WebSphere или WebLogic. У вас есть какие-либо предложения по поводу этой последней возможности, пожалуйста?

3. Я не думаю, что вы можете просто взять микросервис, разработанный с помощью quarkus/spring/… и разверните его на сервере приложений. тем не менее, вы можете создавать небольшие приложения JEE в виде модулей ejb или небольших архивов war/ear. затем вы можете развернуть их на сервере приложений, а также создать на его основе образ контейнера и развернуть его также на kubernetes

4. @meanqo, я знаю, что есть такой вариант, но я хотел бы использовать некоторые современные рамки. Проблема в том, что для этой цели подходит только Spring Boot, но я считаю его худшим фреймворком из всех доступных, потому что он слишком тяжелый и медленный. Я попытался следовать предложению Бориса о Helidon, но я думаю, что невозможно развернуть приложение Helidon на стандартном сервере приложений JavaEE.