Glassfish
Koziołek
Ktoś pracuje nad tą stroną, jej zawartość może się wkrótce zmienić. Prosimy o cierpliwość!
Glassfish jest referencyjna implementacją Serwera Aplikacji dla platformy Java EE 5. Zawiera referencyjną implementację specyfikacji JPA. Ponad to jest otwarty, dystrybuowany za licencji <acronym title="COMMON DEVELOPMENT AND DISTRIBUTION LICENSE">CDDL</acronym>, a część elementów na licencji GNU GPL v2.
Ten artykuł opisuje podstawy użytkowania serwera Glassfish.
1 Pobranie i instalacja serwera
2 Uruchamianie serwera
3 Administracja serwerem
3.1 Program asadmin
3.1.1 Uruchomienie i zatrzymanie serwera
3.1.2 Inne usługi
3.2 Aplikacja www
3.2.3 Logowanie się do panelu admina
3.2.4 Okna Aplikacji EE, web i EJB
4 <span>TODO:</span>
Pobranie i instalacja serwera
Zanim zaczniemy używać Glassfish'a należy pobrać go ze strony projektu. Należy wybrać wesję przeznaczoną dla naszej platformy sprzętowej. Po ściągnięciu pliku .jar instalatora należy umieścić do jeden poziom NAD katalogiem docelowym. Instalator będzie tworzył katalog Glassfish w bieżącym katalogu. Kolejnym krokiem jest instalacja serwera, która przebiega w dość prosty sposób. Najpierw uruchamiamy naszego ściągniętego jara:
java -jar -Xmx256m plik.jar
W bieżącym katalogu utworzony zostanie katalog glassfish. Wchodzimy do niego, a następnie w systemach Unixowych musimy zmienić prawa dostępu do aplikacji ant, która będzie instalowała serwer:
chmod -R +x lib/ant/bin
Następnie uruchamiamy skrypt ant, który dokona instalacji serwera:
lib/ant/bin/ant -f setup.xml
# dla windows
lib\ant\bin\ant -f setup.xml
Jeżeli chcemy, aby serwer działał w klastrze zamiast pliku setup.xml należy użyć pliku setup-clister.xml.
ostatnim elementem jest dodanie do zmiennej PATH ścieżki do katalogu glassfish/bin.
Uruchamianie serwera
Po instalacji zapewne chcemy uruchomić serwer. Dokonać tego możemy wpisując w linii poleceń:
asadmin start-domain domain1
Otrzymamy wtedy komunikat podobny do tego:
<font face="Monospace"> Starting Domain domain1, please wait. Log redirected to D:\glassfish\glassfish\domains\domain1\logs\server.log. Redirecting output to D:/glassfish/glassfish/domains/domain1/logs/server.log Domain domain1 is ready to receive client requests. Additional services are bein g started in background. Domain [domain1] is running [Sun Java System Application Server 9.1 (build b58g- fcs)] with its configuration and logs at: [D:\glassfish\glassfish\domains]. Admin Console is available at [http://localhost:4848]. Use the same port [4848] for "asadmin" commands. User web applications are available at these URLs: [http://localhost:8080 https://localhost:8181 ]. Following web-contexts are available: [/web1 /__wstx-services ]. Standard JMX Clients (like JConsole) can connect to JMXServiceURL: [service:jmx:rmi:*/jndi/rmi:*home-6bbb21dade:8686/jmxrmi] for domain managemen t purposes. Domain listens on at least following ports for connections: [8080 8181 4848 3700 3820 3920 8686 ]. Domain does not support application server clusters and other standalone instanc es. </span>Jeżeli w przeglądarce wpiszemy http://localhost:8080 powinniśmy zobaczyć:
Po przejściu przez ten etap czas na uruchomienie pierwszej aplikacji. Tradycyjnie będzie to "hello world". Ze strony Glassfisha pobieramy plik war, a następnie kopiujemy do katalogu glassfish/domains/domain1/autodeploy/. Teraz wystarczy w przeglądarce otworzyć adres http://localhost:8080/hello by naszym oczom ukazał się taki oto obrazek:
ostatnią czynnością jaką należy wykonać, by sprawdzić czy wszystko dobrze działa jest wyłączenie serwera. Dokonujemy tego wpisujac w konsoli:
asadmin stop-domain domain1
ukaże się prosty komunikat:
<font face="Monospace">Domain domain1 stopped.</span>
a w przeglądarce pokaże się komunikat o niemożliwości wyświetlenia strony.
Administracja serwerem
Serwer Glassfish może być administrowany na dwa sposoby. Pierwszy z nich to administracja przez program asadmin. Drugi sposób to administracja przez stronę www.
Program asadmin
Administracja za pomocą programu asadmin jest dość skomplikowana i wymaga dużej cierpliwości. Wystarczy tylko wspomnieć, że sam manual dostępny w trybie tekstowym ma 22 strony. Dlatego też na razie pominę szczegółowy opis tego sposobu. Należy jednak wspomnieć o kilku bardzo istotnych opcjach, które osiągalne są tylko z poziomu programu konsolowego.
Uruchomienie i zatrzymanie serwera
Uruchomienie Glassfish'a jest możliwe tylko z poziomu konsoli. Program do administracji przez www jest zwykłą aplikacją web i nie może posłużyć do uruchomienia serwera. Uruchomienie i zatrzymanie serwera omówione zostało już w rozdziale Uruchamianie serwera. Należy wspomnieć, że można rozłożyć ten proces na dwa etapy. W pierwszym za pomocą polecenia konsoli asadmin uruchamiam program administracyjny, a następnie wpisujemy:
asadmin> start-domain domain1
i uruchamiamy serwer.
Podobnie sprawa ma się ze zatrzymywaniem serwera. Nie można tej operacji przeprowadzić z poziomu aplikacji www, a tylko z poziomu asadmina.
Inne usługi
Pełen spis poleceń pojawi się po wydaniu polecenia help w konsoli asadmin.
Aplikacja www
W celu ułatwienia zarządzania serwerem powstała specjalna aplikacja www, która pozwala na pełną kontrolę działań serwera. Jedynymi ograniczeniami jest zatrzymanie i uruchomienie serwera.
Logowanie się do panelu admina
W trakcie uruchamiania serwera zostaje też uruchomiona aplikacja służąca do administrowania serwerem z poziomu strony http://localhost:4848/ do niej dostać należy w przeglądarce wpisać adres http://localhost:4848/ . Ukaże się wtedy taki widok
Po podaniu danych:
Login: admin
Password: adminadmin
ukaże się nam główna strona aplikacji administracyjnej:
Jak widać możliwe działania obejmują proces wdrażania aplikacji JEE, modułów EJB, aplikacji web, monitorowanie stanu serwera, przeglądanie logów, konfigurację źródeł danych i web services. Można też przejść do różnych podręczników zamieszczonych na stronie firmy Sun.
Okna Aplikacji EE, web i EJB
Przyjrzyjmy się teraz trzem panelom związanym z odpowiednio
Aplikacją Java EE
Aplikacją Java Web
i modułem EJB
Jak widać okna te są bardzo podobne do siebie. W oknie aplikacji web znajduje się już przykładowa aplikacja "Hello World" pod nazwą hello. Podobieństwo tych paneli nie jest przypadkowe ponieważ zarówno aplikacje web, jak i moduły EJB czy aplikacje Java EE wdraża się w bardzo podobny sposób. Przyjrzymy się temu procesowi za chwilę, a teraz omówię dokładniej poszczególne moduły.
TODO:
- omówić moduły ze screenshotów
- omówić inne moduły
- pokazać przykładowe wdrożenie + oddzielny artykuł o prostych beanach
- omówić rejestrację web services
- omówić JBI
- omówić MBeans
- omówić panel Configuration
proponowany deadline: 31.12.2007
dla windows: lib\ant\bin\ant -f setup.xml -> musimy jeszcze dodać zmienną w Mój komputer -> prawy przycisk myszy -> zaawansowane -> zmienne środowiskowe -> zmienne systemowe -> nowa zmienna: JAVA_HOME C:\Program Files\Java\jdk1.6.0_16, bo inaczej polecenie ant wywala błąd
Jak będę miał czas to pewno tak.
Zamierzasz rozwijac ten dzial? :) byloby cudnie