Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Java WebApplication + модульная система / 25 сообщений из 25, страница 1 из 1
11.02.2018, 12:48
    #39600159
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Всем привет!
Подскажите пожалуйста как правильно организовать модульную систему для Web приложения?
Для десктопа модульную систему я реализовать через обычные jar файлы один модуль один jar. В рантайме с помощью classloader я загружаю нужный модуль и работаю с ним.
Web приложение деплоится одним war файлом, а как же модули, а как их деплоить? Дайте пожалуйста направление, куда гуглить :)
...
Рейтинг: 0 / 0
11.02.2018, 12:58
    #39600164
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Mandarin,
В ветке несколько раз обсуждалось. Искали?
Ведь jar библиотека тоже есть веб. Неожиданно?
...
Рейтинг: 0 / 0
11.02.2018, 13:04
    #39600170
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Petro123,

Не искал, сейчас поищу.

Ведь jar библиотека тоже есть веб. Неожиданно? - Неожиданно. Может подробнее объяснить?
...
Рейтинг: 0 / 0
11.02.2018, 13:07
    #39600171
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Mandarin,
Как в десктопе. В иклипсе, пр.клик на проекте, добавить библиотеку...
...
Рейтинг: 0 / 0
11.02.2018, 13:32
    #39600188
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Petro123Mandarin,
Как в десктопе. В иклипсе, пр.клик на проекте, добавить библиотеку...

Если в проекте будет 1000 модулей, при изменении 1 библиотеки весть проект надо будет заново деплоить или можно руками 1 библиотеку подложить?
...
Рейтинг: 0 / 0
11.02.2018, 13:41
    #39600191
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
MandarinPetro123Mandarin,
Как в десктопе. В иклипсе, пр.клик на проекте, добавить библиотеку...

Если в проекте будет 1000 модулей, при изменении 1 библиотеки весть проект надо будет заново деплоить или можно руками 1 библиотеку подложить?это ведь не по теме топика?
Система 24 на 7 и надо сменить версию без перезапуска веб приложения?
...
Рейтинг: 0 / 0
11.02.2018, 13:52
    #39600195
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Petro123,

Нужно сменить версию не всего приложения а одного из множества модулей.
...
Рейтинг: 0 / 0
11.02.2018, 13:57
    #39600196
unregestered
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Зачем вам модули? Какую задачу вы хотите решить?
...
Рейтинг: 0 / 0
11.02.2018, 13:58
    #39600197
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
MandarinPetro123,

Нужно сменить версию не всего приложения а одного из множества модулей.если прям 1000 модулей то нужно бить на функциональные модули. Это не jar, а например, rest.
Выбери сколько у тебя реально есть сейчас.
...
Рейтинг: 0 / 0
11.02.2018, 13:59
    #39600198
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
unregesteredЗачем вам модули? Какую задачу вы хотите решить?+1
Не нужно преждевременной оптимизации.
...
Рейтинг: 0 / 0
11.02.2018, 14:02
    #39600199
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Petro123,

Есть большой десктопный модульный проект. Каждый модуль это отдельный jar файл в котором содержится какая то часть интерфейса программы и какая то логика. Все эти модули (или плагины) "на лету" подгружаются к программе, тогда, когда пользователь обращается к нужному плагину. Задача перенести этот проект на web отсюда и вопрос как реализовать систему модулей или плагинов. Навернео правильно сказать плагинов.
...
Рейтинг: 0 / 0
11.02.2018, 14:07
    #39600201
unregestered
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
А что конкретно делают эти плагины? Может ли пользователь устанавливать свои плагины? Что будет если все плагины загрузятся?
...
Рейтинг: 0 / 0
11.02.2018, 14:11
    #39600203
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
unregestered,

Чисто теоретически не запрещено загружать все плагины сразу, количество загруженных модулей ограничивается только характеристиками ПК. Загружать все модули сразу смысла нет. Для примера можно сказать что приложение похоже на 1С. Справочники, документы проводки отчёты и всякая подобная дребедень. Например отчёт о продажах это один jar, а отчёт о остатках это другой jar и т.д.
Пользователь может сам создавать плагины для приложения, если:
1. умеет кодить на java :)
2. знает структуру нашего фреймворка
3. имеет разрешение для загрузки плагинов
...
Рейтинг: 0 / 0
11.02.2018, 14:19
    #39600205
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Mandarinзнает структуру нашего фреймворкареклама?
...
Рейтинг: 0 / 0
11.02.2018, 14:19
    #39600206
unregestered
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Испокон веков функцию модулей выполняли EJB. Если пользователь имеет доступ к административной консоли сервера, то он может передеплоить EJB не останавливая сервер. А если плагины совсем простые то имеет смысл придумать интерфейс для загрузки груви скриптов и вызывать их динамически.
...
Рейтинг: 0 / 0
11.02.2018, 14:37
    #39600209
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
unregestered,

EJB не EJB как деплоить то модули эти ? :)
...
Рейтинг: 0 / 0
11.02.2018, 14:39
    #39600211
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
MandarinНе искал, сейчас поищу.
+1
т.к. непонятно, вы делаете плагинообразный фреймворк с нуля.
Или у вас уже есть фреймворк и его надо переделать.
Почитайте форум. Удачи!
...
Рейтинг: 0 / 0
11.02.2018, 14:48
    #39600219
unregestered
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Mandarinunregestered,

EJB не EJB как деплоить то модули эти ? :)

Через админскую консоль. Вам нужен изолированный класслоадер для каждого плагина?
...
Рейтинг: 0 / 0
12.02.2018, 01:19
    #39600347
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Вы пытаетесь механически перенести паттерны использования приложения с десктопной версии в браузерную, не задумываясь, что это полностью меняет правила игры.
В декстопной версии исполняемый код запускается на клиенте, и там да, по лицензионным или каким-либо другим соображениям имеет место быть плагинная архитектура. В случае браузерного приложения весь серверный код находится на сервере, и вы можете дать\не дать доступ к определенной части системы прямо на сервере(не отрисовать страницу, не показать в меню и т.д) Все решается грамотным конфигурированием уровня security.
С другой стороны, модульность улучшает maintainability, это правда. Ну в таком случае, сейчас модны микросервисы, где каждому bounded context соотвествует свой rest-эндпоинт, и эти кусочки обычно деплоятся на разных серверах\платформах и т.д, что позволяет модифицировать и эволюционировать части приложения, не затграгивая другие. Хотя и тут куча проблем вылезает.
Если же я не понял чего вы хотите и у вас пользователь скачивает дистрибутив, утсанавливает сервер и может подложить свои джары(плагины), то даже в этой схеме динамическая загрузка легко и просто организуется подкладыванием jar в lib и редеплоем.
Мое ИМХО, очередной успешный менеджер услышал о преимуществе веб-приложений и решил все переписать на веб, не думая ни о чем.
...
Рейтинг: 0 / 0
12.02.2018, 05:59
    #39600358
unregestered
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
забыл никВы пытаетесь механически перенести паттерны использования приложения с десктопной версии в браузерную, не задумываясь, что это полностью меняет правила игры.

Нет, это не меняет полностью правила игры

забыл никВ декстопной версии исполняемый код запускается на клиенте, и там да, по лицензионным или каким-либо другим соображениям имеет место быть плагинная архитектура.

У Джиры тоже есть плагины ... и у Дженкинса ... и у других веб приложений ....

забыл никВ случае браузерного приложения весь серверный код находится на сервере, и вы можете дать\не дать доступ к определенной части системы прямо на сервере(не отрисовать страницу, не показать в меню и т.д) Все решается грамотным конфигурированием уровня security.

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

забыл никС другой стороны, модульность улучшает maintainability, это правда. Ну в таком случае, сейчас модны микросервисы, где каждому bounded context соотвествует свой rest-эндпоинт, и эти кусочки обычно деплоятся на разных серверах\платформах и т.д,

То что вы описали ухудшает maintainability.

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

Возможность модифицировать части приложения зависит скорее от архитектуры приложения, а не от протокола взаимодействия.
Хотя некоторые протоколы могут вызвать дополнительный геморой. К примеру рест не поддерживает обратные вызовы.

забыл никЕсли же я не понял чего вы хотите и у вас пользователь скачивает дистрибутив, устанавливает сервер и может подложить свои джары(плагины), то даже в этой схеме динамическая загрузка легко и просто организуется подкладыванием jar в lib и редеплоем.

Плагин может использовать не совместимые библиотеки. Разные плагины могут использовать API разных версий. При редплое приложения вы закроете сессии всех пользователей.

забыл никМое ИМХО, очередной успешный менеджер услышал о преимуществе веб-приложений и решил все переписать на веб, не думая ни о чем.

Весьма вероятно
...
Рейтинг: 0 / 0
12.02.2018, 07:26
    #39600366
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
unregesteredзабыл никМое ИМХО, очередной успешный менеджер услышал о преимуществе веб-приложений и решил все переписать на веб, не думая ни о чем.

Весьма вероятно
+1 ТС ушел читать, и это хорошо.
...
Рейтинг: 0 / 0
12.02.2018, 08:10
    #39600377
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
MandarinВсем привет!
Подскажите пожалуйста как правильно организовать модульную систему для Web приложения?
Для десктопа модульную систему я реализовать через обычные jar файлы один модуль один jar. В рантайме с помощью classloader я загружаю нужный модуль и работаю с ним.
Web приложение деплоится одним war файлом, а как же модули, а как их деплоить? Дайте пожалуйста направление, куда гуглить :)
Во-первых не понятно зачем именно это вам. Во-вторых в полноценном JEE контенере можно деплоить ejb-jar модули независимо друг от друга.
...
Рейтинг: 0 / 0
12.02.2018, 08:37
    #39600387
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
MandarinЕсть большой десктопный модульный проект. Каждый модуль это отдельный jar файл в котором содержится какая то часть интерфейса программы и какая то логика. Все эти модули (или плагины) "на лету" подгружаются к программе, тогда, когда пользователь обращается к нужному плагину. Задача перенести этот проект на web отсюда и вопрос как реализовать систему модулей или плагинов. Навернео правильно сказать плагинов.
Для web была такая бесполезная технология - портлеты. Сейчас же всё очень сильно зависит от того как именно вы будете реализовывать UI часть вэб приложения. Если это серверные шаблоны, то подход один, а если DHTML, то другой.
...
Рейтинг: 0 / 0
15.02.2018, 05:34
    #39602100
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
Mandarin,

OSGI?!
...
Рейтинг: 0 / 0
15.02.2018, 07:53
    #39602121
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java WebApplication + модульная система
mad_nazgulOSGI?!
На ютубе есть относительно свежий доклад про Jigsaw. Там подробно разжевано какое же OSGi на самом деле непотребство.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Java WebApplication + модульная система / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]