Dobry den,
riesime s kolegami nasledujuci architekturno-technologicky problem
a nedari sa nam prist na zmysluplne riesenie.
Mame informacny system ktory ma byt rozsireny
o vrstvu webovych sluzieb. V nej maju byt zverejnene dolezite
funkcie informacneho systemu, ku ktorym budu pristupovat klienti.
IS je rieseny ako (jedna) webova aplikacia nasadena na Tomcate,
webove sluzby riesime cez Spring-WS.
Nasim cielom je mat WS vrstvu co najviac nezavislu od zvysku projektu.
Jednak kvoli vyvojarom web. sluzieb a jednak kvoli tomu, aby bolo
mozne nasadzovat, spustat a zastavovat WS nezavisle od zvysku systemu.
Napad 1: [tazkotonazny]
* Jeden Eclipse projekt, dodat do webovej aplikacie springovsky
servlet, nasadit ho a pouzivat. Vsetko bude na kope.
Napad 2:
* Dva projekty (1 existujuci pre jadro, druhy pre WS, WS zavisi na jadre).
Do webovej aplikacie sa doda springovsky servlet a vrstva s WS sa zabali
do JARu,
ktory sa deployne do webovej aplikacie.
Napad 3:
* Dva projekty (1 existujuci pre jadro, druhy pre WS, WS zavisi na jadre).
Dve webove aplikacie (jedna cisto pre WS, druha pre jadro). To znamena,
ze potrebujeme mat triedy jadra nasadene dvakrat, co sposobi problem
so synchronizaciou balickov, tried a pod.
Napad 4:
* Dva projekty (1 existujuci pre jadro, druhy pre WS, WS zavisi na jadre).
Dve webove aplikacie (jedna cisto pre WS, druha pre jadro).
WS webaplikacia nejakym zazracnym sposobom "vidi" triedy z webaplikacie
jadra.
Pozeral som sa na principy classloaderov v Tomcate, ale jediny sposob by
bol nasadit
triedy do SYSTEM classloadera Tomcatu, co znamena publikovanie JARov jadra
do $TOMCAT/lib, co nie je ktovieco.
Nemate niekto skusenosti s komunikaciou dvoch web aplikacii alebo
nejaku radu, ktory napad je lepsi? Vdaka.
Robert Novotny