Dynamiczne dodawanie modułów

0

Witam

Mam takie pytanie, ponieważ nigdy wcześniej nie robiłem takich rzeczy.
Wymaganie stawiane aplikacji są następujące:
-aplikacja powinna być podzielona na kilka modułów
-Docelowo ma być jeden moduł główny, core od którego będą dziedziczyć inne moduły.
-Całość ma działać na serwerze aplikacyjnym wildfly
-Ma to działać w taki sposób, że domyślnie mamy załadowany główny moduł, jeśli wrzucimy na serwer inny moduł (war ) wtedy automatycznie aplikacja powinna wykryć ten fakt i odpowiednio dostosować kontent naszej aplikacji webowej.
Przykładowo dodamy moduł adwert i nasza aplikacja administracyjna będzie miała możliwość dodawania, edytowania reklam itd, a na stronie głównej reklamy będą wyświetlane itp
Inaczej mówiąc każdy sub moduł ma dynamicznie dodawać kontent do modułu głównego.

  • żeby było ciekawiej każdy moduł powinien być zabezpieczony, posiadać klucz, który będzie sprawdzany podczas łączenia z innymi modułami

Po pierwsze wydaje mi się to dość ciekawy projekt jednak nigdy wcześniej takich cudów nie robiłem.
Rozglądając sie w temacie doszedłem do wniosku, że chyba bez OSGI się nie obejdzie ...
Co o tym powiecie ?
Da się takie cuda robić ... czy mam powiedzieć zleceniodawcy , że ni chu chu :D?

PS.
Jeśli to możliwe chciałbym wykorzystać do tego zadania springa... . Pamiętam, że spring posiadał wsparcie dla osgi chyba dynamic modules czy coś takiego jednak teraz nie widzę takiej biblioteki ...

0

Projekt ciekawy

Robiłem kiedyś taka rzecz na JBOSS 5.1 bez OSGi !.
OSGI ogólnie nie lubię wprowadza tyle problemów....

A więc moduł core wystawia EJB: ServiceRegustry i teraz każdy mowo dodawany moduł szuka tego EJB i się tam rejestruje i tyle

0

Widzę że w javie da się to rozwiązać w lepszy lub gorszy sposób.
Jednak zastanawiam się jak w fajny sposób łączyć inne zasoby, czyli pliki js,css, html.
Na pewno będę chciał użyć angulara, tylko teraz potrzebuję mechanizmu żeby wysyłać eventy z serwera i informować przeglądarkę (angulara), że trzeba dołączyć nowy moduł itd...

0

Zależy ja dynamicznie chcesz to zrobić. Bo jeśli po dodaniu modułu dopuszczalne jest odświeżenie strony to możesz pierwszą/główną stronę angulara generowaną po stronie serwera.

Przy użyciu jakiegoś silnia template serwerowego będzie to wyglądało jakoś tak

<html ng-app="app"> <body> </body>

(for moduleLink in registeredModules){

<scirpt src="${moduleLink}" /> } </html>

Oczywiście moduły JS też muszą się gdzieś rejestrować np w rejestrze górnego paska menu

0

Cyt 'Tu są schody bo developer ui opiera się na generatorze yomen. I wprowadzało by to dodatkowe zamieszanie w gruncie': albo dynamizm albo grunt i praca statyczna

Cyt 'Jednak na widoku używany jest requirejs i jego myślałem wykorzystać do ładowania dodatkowych zasobów js': no tak tylko w requirejs jakoś te moduły musisz zdefiniować

Cyt 'Natomiast dla css utworzyć w core servlet, który będzie odpowiedzialny za zwracanie css dla danego modułu' a to już grafikowi nie przeszkadza?

1 użytkowników online, w tym zalogowanych: 0, gości: 1