Cześć. Uczestniczę w projekcie, który ma za zadania stworzyć system, który ma z zasady być rozszerzalny. System będzie stworzony w javie, a rozszerzalność ma zapewnić system wtyczek. System nie wie co dana wtyczka ma robić, gdy sparsuje odpowiednią komendę, to wie, którą wtyczkę ma uruchomić. Wtyczka na wejściu dostaje dane w jsonie w określonym formacie, na wyjściu zwraca również jsona w określonym formacie. Wtyczkę dostarcza zainteresowany rozwojem systemu developer X. Tyle z teorii. Zastanawiam się w jaki sposób należy rozwiązać sposób tworzenia wtyczek by zabezpieczyć się przed wykonywaniem złośliwych komend (pisanie po dysku, odczyt i zapis bazy danych, łączenie się z internetem i przesyłanie danych), aby jednocześnie developerowi X nie wiązać rąk w kwestii łatwości tworzenia rzeczonych wtyczek? Nie jestem javowcem, więc po prostu nie wiem czy istnieje już jakiś sprawdzony sposób? Mi na myśl przyszły:
- javowe serwisy spi (znam tylko z teorii, nie wgłębiałem się)
- skrypty działające w tle i startujące razem z systemem, ale w jakiś sposób (jaki?) odizolowane od zewnętrznego świata, by nie mogły wyrządzić krzywdy
- skrypty napisane w jakimś DSL-u lub Lua, sparsowane i uruchamiane przez system
Z góry dzięki za wszelkie podpowiedzi