LINUX.ORG.RU

Плагины для web - приложения Java


0

1

Доброго времени суток.

Столкнулась со следующей задачей: Есть ли возможность написания на джаве отдельных плагинов к веб приложению, которое написано с использованием jsf? По сути, есть базовый модуль, с базовым функционалом, дополнительный функционал нужно перенести на плагины. Не до конца понимаю, как правильно сформулировать вопрос, но требования такие: плагины не должны зависеть друг от друга, и базовый модуль от них тоже. Я даже не знаю, какие моменты еще уточнить и в какую сторону примерно копать. Буду благодарна за любую литературу и примеры по теме.


jsf - это гуй, он не накладывает серьезных ограничений на логику.

как реализовать плагины? Как хочешь, как будет лучше для твоей архитектуры (которую ты не описала).

если вообще никаких идей, начни с изучения паттернов проектирования: http://ru.wikipedia.org/wiki/Шаблон_проектирования

если цель - создать качественную систему плагинов, и на это есть ресурсы, можно посмотреть в сторону OSGi (Equinox, Felix)

stevejobs ★★★★☆
()

К уже упомянутому в треде OSGi можно добавить JPF и JSPF.

beka
()
Ответ на: комментарий от stevejobs

На джаве пишется только веб, логика реализована на питоне и, частично, в бд. Моя задача предоставить доступ из веба к функционалу. Грубо говоря, плагином должны включаться\выключатся меню, кнопки, таблицы...

kisuxa
() автор топика

Попробуй посмотреть на портлеты

dizza ★★★★★
()
Ответ на: комментарий от kisuxa

попробуй сделать какой-нибудь плагин и приходи с конкретными вопросами :) На слишком общие вопросы будут слишком общие ответы, типа "- как сделать плагин? - да как угодно."

например, можно сделать админку, в которой проставить галочки включено-выключено, замапить ее в табличку в БД. При выполнении любого действия (например, рендеринга странички) смотреть, какие плагины нам доступны, и вызывать из плагина что-нибудь типа plugin.run. Если архитектура позволяет, в параметрах run передавать общую шину / память / контекст, чтобы плагин над ними работал.

stevejobs ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.