Każda aplikacja, która ma działać w ramach danego serwera JBoss musi zostać najpierw zainstalowana przez niego zainstalowana. Jest to możliwe na kilka sposobów:
- można umieścić aplikację w katalogu
deploy
serwera; - można zainstalować aplikację przy użyciu polecenia
twiddle
; - można użyć konsoli administracyjnej;
Więcej informacji na temat instalacji aplikacji znajduje się w tym wpisie: Zarządzanie instalacją aplikacji w JBoss AS.
Formaty pakietów z aplikacjami
Instalowana aplikacja może zarówno być w formie archiwum jak i jak katalogu z plikami zapisanymi w odpowiedniej strukturze (archiwum to nic innego jak ten sam katalog skompresowany przy użyciu algorytmu ZIP). Każda z form ma swoje wady i zalety, ale nie różnią się one efektem. Zarówno w jednym jak i drugim przypadku pozwalają na instalację aplikacji.
W przypadku skompresowanego archiwum mamy do czynienia z pojedynczym plikiem, które dużo łatwiej przesłać czy też skopiować. W przypadku jego rozkompresowanej formy mamy do czynienia z setkami czy też często tysiącami plików. Trudniej w takim przypadku zarządzać taką aplikacją (nie można np. zainstalować jej przy pomocy konsoli administracyjnej), za istnieje możliwość modyfikacji pojedynczych plików (np. strony JSP) i następnie łatwe wymuszenie restartu aplikacji.
Odpowiedni wątek monitorujący pojawienia się (lub też usuniecie) aplikacji w katalogu deploy
monitoruje czasy modyfikacji odpowiednich plików w archiwum. I tak, jeżeli zmienimy odpowiedni plik (w zależności od rodzaju aplikacji) to nastąpi automatyczne odinstalowanie wybranej aplikacji i jej ponowna instalacja.
Typ aplikacji | Plik deskryptora |
---|---|
WAR | WEB-INF/web.xml |
EAR | META-INF/application.xml |
SAR | META-INF/jboss-service.xml |
JAR | META-INF/ejb-jar.xml |
RAR | META-INF/ra.xml |
Typy aplikacji instalowanych przez JBossa
JBoss rozróżnia poszczególne typy aplikacji na podstawie końcówek ich nazw (uwaga, często jest to więcej niż rozszerzenie). Ponieważ każdy typ aplikacji spełnia inne funkcje w ramach infrastruktury, którą zapewnia serwer aplikacji istotne jest zachowanie odpowiedniej kolejności startowania tych aplikacji. I tak różnego rodzaje aplikacje usługowe musza zostać uruchomione przed aplikacjami biznesowymi, które mają z nich korzystać. Tak samo najpierw należy odpowiednio skonfigurować połączenia z bazą danych, zanim zaczną działać aplikacje z nich korzystające.
W poniżej tabeli znajdują się typy poszczególnych aplikacji wraz z ich krótkim omówieniem. Jednocześnie pozycja występowania na tej liście mówi o kolejności startu danej aplikacji.,
Końcówka nazwy | Typ aplikacjia |
---|---|
.deployer -deployer-beans.xml |
Aplikacje, które pozwalają na instalację innych rodzajów aplikacji. W przypadku JBossa 5.1 znajdują się one w katalogu $JBOSS_HOME/server/PROFIL/deployers |
aop -aop.xml |
Definicja aspektów stosowany do klas lub rozszerzenie czy też dodanie nowych funkcji do tych klas |
.sar -service.xml |
Różnego rodzaju aplikacje usługowe, rozszerzające możliwości serwera aplikacji |
-jboss-beans.xml | Definicja obiektów POJO mikrokontenera |
.rar | Konfiguracja różnych zasobów |
-ds.xml | Definicja źródeł danych, używanych potem przez aplikacje w celu uzyskania dostępu do bazy danych |
.har | Definicja archiwum Hibernate, używanego do do dostępu do bazy danych przy użyciu Hibernate |
.jar | Zbiór komponentów EJB lub też po prostu biblioteka klas |
.zip | Serwer aplikacji sprawdzi zawartość archiwum i postara się rozpoznań typ aplikacji jaki się w nim znajduje. Potem zostanie ona zainstalowana jak aplikacja o odpowiednim typie. |
.war | Archiwum z aplikację webową, dostarczająca interfejs dostępny przez przeglądarkę lub też web service |
.wsr | Archiwum specyficzne dla JBossa, zawiera web service. Używany jeżeli dana aplikacja ma zostać zainstalowana po wszystkich archiwach WAR. |
.ear | Aplikacja Java EE, zawiera EJB, aplikacja WAR oraz inne biblioteki klas |
.bsh | Definicja usługi przy użyciu powłoki bean shell |
.last | Tak oznaczone aplikacje będą instalowane jako ostatnie w ramach swojego typu |
Aplikacje same w sobie mogą byc zagnieżdżone. I tak aplikacja typu EAR najczęściej składa się z szeregu plików JAR z logiką biznesową, z warstwy prezentacji WAR oraz różnych innych deskryptorów. W takim przypadku JBoss stara się odnaleźć te różne aplikacji i je w ramach głównej aplikacji zainstalować. Tutaj również ma zastosowanie taka sama kolejność instalacji aplikacji jak w tabeli powyżej.