Usługa Soap Mock jako aplikacja webowa
W niniejszym artykule znajdziesz informacje na temat konfiguracji usługi SOAP Mock tak, aby dostępna była z poziomu menedżera na tomcacie. Dowiesz się również o sposobach montowania usług SOAP Mock jako aplikacji webowych. Zanim przejdziemy do faktycznego działania poniżej wymagania systemowe.
1. Wymagania
- Java: java-1.8.0-openjdk
- Tomcat: Apache Tomcat 9
- (opcjonalnie) Log4J pomocny przy problemach podczas deployowania
2. Eksport SOAP Mock do archiwum .war
Posiadając już gotowy projekt z usługą SOAP Mock należy wykonać poniższe kroki w celu eksportu usługi jako archiwum .war. W SoapUI wygląda to następująco:
Należy kliknąć na katalog nadrzędny i z menu opcji wybrać „Deploy as War” jak na zrzucie poniżej:
Następnym krokiem jest wypełnienie danych do eksportu:
Powyższa konfiguracja stworzy plik o nazwie TestMockService, który można rozpakować, np. winRar’em. Zaznaczenie pierwszej opcji jest konieczne, jeśli wprowadzane były zmiany w konfiguracji SoapUI. Kolejna zaznaczona opcja sprawi, iż mechanizm będzie zaciągał pliki .jar z zewnętrznych katalogów.
3. Deploy automatyczny jako WAR
Jeśli chcesz zaimportować gotowe archiwum .war w celu automatycznego deployu należy udać się do menedżera tomcata:
http://127.0.0.1:8080/manager/html/
gdzie „127.0.0.1” to adres serwera a port „8080” jest portem domyślnym.
Login i hasło do menedżera należy skonfigurować w pliku tomcat-users.xml dodając wpis:
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="admin_gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
Na końcu sekcji <tomcat-users>
Plik ten znajduje się w lokalizacji ~/tomcat/conf/tomcat-users.xml
Poniżej import .war do automatycznego deployu:
Po kliknięciu „Deploy” strona menedżera tomcata powinna się przeładować i nad listą aplikacji pojawi się wynik deployu jak poniżej:
W tym przypadku wynik jest pozytywny, numerem 2 oznaczona już zdeployowana aplikacja. Jest to najprostszy sposób dodawania aplikacji z archiwum war.
Wewnątrz aplikacja webowa powinna wyglądać następująco:
Z tego poziomu również dostępne są logi usługi SOAP Mock. Jeśli potrzebujesz szczegółowych logów usługi można w tym celu skonfigurować logowanie w skrypcie groovy.
4. Dodanie aplikacji z katalogu wyeksportowanej usługi
Zanim omówimy sam deploy manualny należy wcześniej wspomnieć o budowie katalogów znajdujących się w archiwum .war. Kompletny katalog aplikacji webowej w przypadku usługi SOAP Mock zawiera:
W katalogu „WEB-INF” znajduje się plik „web.xml” który potrzebny będzie do zdeployowania usługi, poniżej konfiguracja:
Następnie klikamy „Deploy”. Wynik oraz komunikat powinien być taki sam jak w punkcie 1.
5. Dodanie aplikacji bezpośrednio na serwerze Tomcat
Ostatni ze sposobów będzie polegał na bezpośrednim skopiowaniu katalogów na serwer tomcata.
Wyeksportuj projekt z SoapUI z poniższą konfiguracją:
Następnie cały katalog „TestMockService” przenieś do katalogu na serwerze:
~/apache-tomcat-9.0.24/webapps/
Teraz zawartość biblioteki:
~/apache-tomcat-9.0.24/webapps/TestMockService
Powinna być jak niżej:
Po skopiowaniu plików po chwili aplikacja powinna być dostępna z menedżera tomcat.
6. Logowanie
Wszelkie błędy dostępne są w logach w lokalizacji ~/tomcat/logs/catalina.log
Jeśli zainstalowałeś Log4J możesz skonfigurować dokładniejsze logowanie co pozwala na szybsze rozwiązywanie błędów podczas deployu. Poniżej link do oficjalnej dokumentacji Apache Tomcat, która porusza właśnie temat konfiguracji logowania Log4J:
https://tomcat.apache.org/tomcat-9.0-doc/logging.html
7. Podsumowanie
Jako podsumowanie warto raz jeszcze zebrać zalety posiadania SOAP Mock jako aplikacji webowej:
- Szybkie zarządzanie- możliwość włączenia/ wyłączenia aplikacji z poziomu jednego okna
- Sprawny deploy/ undeploy
- Zgrupowane aplikacje
- Sprawny monitoring- logi dostępne z poziomu jednego okna
Samo przygotowanie środowiska do deployu zajmuje chwilę, lecz dalsze montowanie aplikacji w tomcacie może odbywać się błyskawicznie.