Модульные веб-приложения - PullRequest
0 голосов
/ 28 июня 2011

Я работаю над веб-приложением (Spring, Hibernate, Apache Tomcat) с большим количеством интерфейсов (HTML, мобильный HTML, XML, REST). Поэтому я решил разделить приложение на несколько веб-приложений, чтобы избежать смешивания файлов из интерфейсов. Я извлек основные классы приложения (бизнес-логика, Hibernate DAO) во внешний jar-файл и включил его в веб-приложения. Казалось, все идеально.

Но теперь я понял, что на сервере больше экземпляров ядра, больше EntityManagerFactories, контексты Spring, ...). Когда я попытаюсь обмениваться данными через Spring bean-компоненты (например, добавить задачу планировщика в одном интерфейсе, удалить ее в другом) или использовать кэш второго уровня Hibernate, он должен выйти из строя.

Какое лучшее решение?

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Если у вас больше веб-приложений, у вас также будет больше Springconcontexts. Это возможный обходной путь, предложенный Splix, но, возможно, это слишком для вашего сценария (я бы сделал это, если бы приложение было действительно большим)

Я действительно не знаю, что вы подразумеваете под интерфейсом XML. XML-RPC? Веб-сервис? Для

Храните всю свою логику в слое сервиса, на самом деле не имеет значения, находится ли он во внешнем банке или нет, если вы не собираетесь использовать его повторно в будущем, и имеете один Spring-приложение с множеством представлений. 1027 *

0 голосов
/ 28 июня 2011

Я знаю несколько проектов с одинаковыми требованиями.Мы использовали 2 автономных сервера: API-сервер и Веб-сервер .Сервер API имеет доступ ко всем данным и может выполнять некоторый набор запросов к ним.Объект результата сериализуется в XML, JSON или Protobuf.Это очень легко сделать с помощью Spring + Custom View Resolver или Jersey (у меня есть два проекта - один на основе Spring, второй на Jersey, и я предлагаю вам использовать spring)

Веб-сервер вызывает этот API (используя protobuf, например), и подготовьте html-ответ в браузер пользователя на основе результатов (а также могут быть некоторые вызовы ajax на этот сервер API).

Мобильное приложение может без проблем обращаться к этому API-серверу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...