Я не опытный веб-разработчик, но в последнее время я занимаюсь разработкой некоторых веб-приложений (Java Servlets + JavaScript + HTML5). Имея опыт работы в автономных проектах, этот вопрос имеет смысл для меня, но я понимаю, что это может быть абсурдным для опытного веб-разработчика:Вложенные приложения в WAR-файл в Geronimo
Я хотел бы разработать некоторые распространенные приложения и интегрировать их в более крупные проекты. Например, я хотел бы создать веб-приложение для пользователей, которое может использоваться различными продуктами. Поэтому я мог инкапсулировать его в WAR-файл и включить его в проект или другой.
Как пояснил here, я понимаю, пакет WAR не JAR, содержащий LIBS, но пакет для развертывания полного приложения.
Моя цель состоит в том, чтобы повторно использовать один и тот же код без необходимости включать все файлы «UserManager» по одному в пакеты App1 и App2. В настоящее время я считаю, что лучшим решением является публикация «UserManager» и вызов его из App1 или App2. Тем не менее, если «UsersManager» и «App1», например, публикуются в разных контекстах, они не разделяют переменные сеанса. Если «UsersManager» включает в себя службу входа в систему и создает некоторые данные сеанса, эти переменные сеанса должны быть доступны из «App1».
Что я должен попробовать?
- Сделать перенаправление вызова из App1/App2 в UserManager?
- Забыть об общих сеансах?
- Какое правильное решение проблем такого рода?
Я не буду говорить об общем сеансе, но вместо этого использую решение Single Sign-On для всех ваших обычных приложений, поэтому пользователь входит в систему при попытке доступа к одному из приложений, а их учетные данные распределяются между всеми приложениями. См. [Какая платформа SSO для использования?] (Http://stackoverflow.com/q/173704/1065197) –
Служба входа в систему - всего лишь пример, что, если я хочу интегрировать другие службы, такие как модуль календаря? –
Имея единый логин для своего приложения, вы можете получить данные для одного и того же пользователя среди разных приложений. –