В моем веб-приложении есть часть, которая должна непрерывно сканировать Интернет, обрабатывать эти данные и представлять их пользователю.Поэтому мне было интересно, если это хороший подход, чтобы разделить его на два отдельных приложения, где одно будет выполнять сканирование, обработку данных и хранить данные в базе данных.А другое приложение будет веб-приложением (смонтированным на каком-либо веб-сервере), которое будет предоставлять пользователю данные из базы данных и обеспечивать ему определенное взаимодействие с данными.
Причина, по которой я думаю, что мне нужно это разделение, заключается в том, что, если я внесу определенные изменения в свое веб-приложение (например, добавлю новые функциональные возможности, изменим интерфейс и т. Д.), Я не хотел бы, чтобы сканирование прерывалось.
Мой стек приложений - Tapestry (веб-слой), Spring, Hibernate (поверх MySQL) и моя собственная реализация сканера, независимая от других.
Хорошо ли, чтобы интеграция выполнялась толькоиспользуя ту же базу данных?Это может вызвать проблемы с одновременным доступом к базе данных из обоих приложений.Или можно выполнить интеграцию на уровне Hibernate, чтобы оба приложения могли использовать один и тот же сеанс Hibernate?Но может ли приложение из одного экземпляра JVM получить доступ к объекту из другого экземпляра JVM?
Буду признателен за любые предложения по этому вопросу.
ОБНОВЛЕНИЕ
Пользователь (отинтерфейс веб-приложения) будет вводить URL-адреса для синтаксического анализа сканера.Приложение-обходчик просто считывает таблицы с URL-адресами, которые заполняет веб-приложение.И наоборот, данные, обработанные сканером, будут просто представлены в пользовательском интерфейсе.Так что, думаю, мне не стоит беспокоиться о какой-либо блокировке, верно?
Спасибо, Никола