W tym artykule chciałbym podzielić się swoim doświadczeniem w ramach konfiguracji projektu typu Web wykorzystującego Spring, SmartGWT, Hiberante. Całość konfiguracji w zamierzeniu ma być budowana przez Maven-a. Zakładam, że do developmentu używane będzie środowisko Eclipse Helios SR 2. Dlatego zacznijmy od konfiguracji środowiska projektowego.
Moduł warstwy web komunikuje się z modułem serwisów w celu wykonywania akcji po stronie serwera. Nie ma on dostępu do modułu domenowego, gdyż moduł serwisów izoluje dostęp do warstwy domenowej.
Zajmijmy się teraz konfiguracją modułów. W tym celu utworzyć należy strukturę plików tak jak zostało to przedstawione na rysunku obok.
Najważniejsze w tym momencie są pliki pom.xml, czyli pliki konfiguracyjne Mavena. Teraz zajmę się ustawieniami w tych plikach. Dobrze, główny plik konfiguracyjny (root) znajdujący się na poziomie katalogów m2-domain, m2-service, m2-web wygląda następująco:
Co widać w tym pliku to ustawienia dotyczące wersji bibliotek używanych w ramach aplikacji, definicję modułów z których składa się aplikacja oraz definicja repozytoriów dla bibliotek.
Następnie konfigurujemy plik pom.xml dla modułu domenowego:
Nadszedł czas by napisać Webservice JAX-WS przy użyciu środowiska Eclipse Helios, który uruchomiony mógłby zostać na serwerze Tomcat. Poniżej podam przepis, który krok po kroku opisuje w jaki sposób można to wykonać. Więc do roboty.
1. Ściągnij sobie APACHE-CXF 2. Rozpakuj w lokalizacji c:\apache-cxf 3. Podepnij APACHE-CXF do Eclipsa Window -> Preferences 4. Skonfiguruj serwer Tomcat w Eclipsie - patrz poniżej
5. Utwórz nowy projekt File -> New -> Dynamic Web Project
6.Utwórzmy sobie prostą klasę Webservice-u:
package pl.masl;
public class TestWebService { public void testMethod(String param) { System.out.println("TEST: " + param); } }
7. Kliknij prawym na klasie i utwórz Webservice 8. Jako "Webservice runtime" wybierz "Apache CXF 2.x" 9. Po naciśnięciu Next zaznacz pole wyboru Use a Service Endpoint Interface 10. Wybierz Create an SEI 11. Wpisz w odpowiednie pole nazwę interfejsu pl.masl.ITestWebService oraz zaznacz pole wyboru obok testWebservice() 12. Kliknij Next, a następnie wybierz pola wyboru w kolumnach @WebMethod i @WebParam. Poniżej jest podgląd na generowany kod interfejsu. 13.Kliknij Next i zaznacz wszystkie pola wyboru na następnej planszy oraz zakończ przez Finish