Как правильно разделить приложение на front-end и back-end?

Есть очень большое приложение java back-end + front-end сейчас все находится в одном git репозитории, выглядит это примерно так:
project:
-moduleX:
...
----java
----webapp (тут весь front-end)
-moduleY:
...
----java
----webapp (тут весь front-end)
-moduleZ:
...
----java
----webapp (тут весь front-end)

Из за того что авторы всего этого чуда написали его так что не удастся за приемлемое время это разделить на микросервисы. Поэтому хочу разделить это хотя бы на 2 части front-end и back-end и единственная идея которая у меня есть это сделать git submodule (вынести в отдельные репозитории) из содержимого webapp в каждом модуле.
Мне это нужно, чтобы я мог не зависимо деплоить сервер и клиент, т.е при релизе я бы отдельно собирал бы все js в бандлы и в jsp только указывал ссылку бы на сервер который бы отдавал js.
Какие другие варианты есть разделить front-end и back-end при такой "архитектуре" ?
  • Вопрос задан
  • 955 просмотров
Пригласить эксперта
Ответы на вопрос 1
art1z
@art1z
Программист-многостаночник в EffectiveSoft
Я бы предложил по частям выносить back-end в отдельные REST API/GraphQL и один из фронт-енд проектов на SPA (React, Angular, Vue). При переводе и опытом обрастете и архитектура устаканится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы