Kicsit tekintsünk akkor vissza az alkalmazásokhoz. A jelenlegi cikkben az Oracle egyik híres és ingyenes Java server implementációját, a GlassFish-t fogom kicsit elmezeni. Annak is a legújabb Java EE 6 verzióját a GlassFish 3.1-et, amely már rendelkezik cluster támogatással is.
Előzmények
A Glassfish 2-es verziója volt a Java 5 első hivatalos implementációja. Rengeteg helyen használták is, olyan helyeken, ahol nem komoly és nagy terhelésű alkalmazás serverekre volt szükség. Majd az egészet újraírták a Java 6 miatt. Annyira, hogy a GlassFish 3.0-ban még a cluster funkciót sem implementálták. A 3.1-es verzió lett az, ami újra minden igényt kielégítőén segítheti a Java fejlesztést és üzemeltetést.
Mindig nagy kérdés az, hogy a Glassfish és a WebLogic, mely már mindkettő az Oracle kezében van, nem-e lesznek egymás számára konkurencia. Az Oracle aktuális lépései ezt nem látszanak igazolni, úgy tűnik a GlassFish-be továbbra is nagy erőket fektetnek, talán pont azért, hogy mint a kezdő réteg, mint a professzionális réteg megtalálja a megfelelő terméket.
Beszerzés
Ahogy említettem a GlassFish 3.1 ingyenes. Természetesen vásárolhatunk hozzá support szerződést, de anélkül is lehet boldogulni.
Hozzuk be a böngészőbe a következő oldalt:
http://www.oracle.com/technetwork/java/javaee/downloads/index.html

A download GlassFish ikonra kattintva már is átkerülünk a megfelelő letöltési oldalra.

Itt természetesen ki kell választani, a megfelelő platformot, és az elérhető nyelvek közül az angolt, vagy a multilanguage verziót.
Ahogy látszik, Windowsra, Linuxra, Solarisra, sőt, Mac OS X-re is elérhető a GlassFish 3.1.
Az én esetemben a Solaris SPARC, zippelt verzió 102MB méretet tett ki.
Java verzió ellenőrzésre
Ahogy írtam, a GlassFish 3.1-hez már Java 6-ra lesz szükség.
Az én esetemben a legfrissebb Solaris 10 update9 a következő java verziót támogatja, alapértelmezetten:
# java -version
java version „1.6.0_21”
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)
Amennyiben viszont külön szükséges telepítenünk java futtató környezetet, vagy SDK-t, akkor a következő symlinket kell majd az újonnan telepített java-ra irányítani:
# ls -lah /usr/bin/java
lrwxrwxrwx 1 root other 16 Apr 7 10:31 /usr/bin/java -> ../java/bin/java
Installáció
# ls -lah
total 209170
drwxrwxrwt 2 root sys 188 Apr 15 17:22 .
drwxr-xr-x 31 root root 512 Apr 15 17:20 ..
-rw-r–r– 1 root root 102M Apr 15 17:22 ogs-3.1-ml.zip
A következő telepítő zip áll rendelkezésre. Tömörítsük ki.
# unzip ogs-3.1-ml.zip
# ls -lah
total 209186
drwxrwxrwt 3 root sys 255 Apr 15 17:23 .
drwxr-xr-x 31 root root 512 Apr 15 17:20 ..
drwxrwxr-x 10 root root 666 Feb 15 09:48 glassfish3
-rw-r–r– 1 root root 102M Apr 15 17:22 ogs-3.1-ml.zip
Megjelenik egy új glassfish3 könyvtár. Ezt helyezzük egy megfelelő helyre, ugyanis ez a struktúra lesz felelős az egész alkalmazás serverért.
Indítsuk el az első domain-t
A java server külön instance-kat kezel. Ezek testesítik meg a Domain-ek. Indítsuk el az alapértelmezett domain-t (domain1) a következő paranccsal:
# cd glassfish3/bin/
# ./asadmin start-domain

Ahogy látszik az instance adminisztrációs portján a 4848-ason elérhető.
Ki is tudjuk ám most listázni a futó domain-eket:
# ./asadmin list-domains
domain1 running
Indítsuk el az Adatbázis Servert
Az adatbázis komponense a GlassFish-nek nem indul el alapértelmezetten a Domain-el. Ezt külön ha akarjuk el kell indítanunk kézzel.
# cd glassfish3/bin/
# ./asadmin start-database

Webes Adminisztrációs felület
Amennyiben fut egy domain-ünk, akkor lépjünk be a már említett 4848-as portra egy böngésző segítségével:
http://[glassfish IPje]:4848

Egy kis ideig töltögetni fog, amig betölti az adminisztrációs felületet. Majd amikor kész lesz, akkor ezzel a felülettel kell találkoznunk:

Ahogy látszik, két részre oszlik az admin felület. Bal oldali fa strukturált menüből lehet kiválasztani a szükséges menüpontot. Míg a jobboldalt megjelenő részletes panelon megtennie a kívánt változtatásokat, vezérléseket. Alapértelmezetten, ahogy látszik, pár hasznos weboldal linkje és referenciája érhető itt el.
Domain
Ez a menüpont felelős mag a a domain beállításaiért. Az alkalmazás specifikus beállításoktól kezdve, a hozzáférési információkon túl egészen a konfigurációs backup metódusokig, mindent itt tudunk állítani.

Server
Ez a menüpont felelős olyan alap információkért, ami a Domain alatti Glassfish, mint futtatóprogram státuszállapotaiért, és modul információiért.

Cluster
Itt a cluster információkat tudjuk megtekinteni, de erről majd egy másik írásban.
Standalone Instances
A nem-cluster instanceket itt tudjuk megtekinteni. Tehát azon alkalmazásokat, amik csak ehhez a node-hoz kötődnek.
Nodes
Az elérhető nodek szerepelnek ebben a listában.

Applications
Ezen a fülön fogjuk majd látni a deploy-olt alkalmazásainkat.

Resources
A Glassfishben elérhető resourcek listája érhető el. Olyan erőforrások, amiket az alkalmazásunk egy kontrollált formában használhat fel. Legyen az egy kommunikációs réteg valamely más alkalmazáshoz, vagy adatbázishoz, vagy egy levelezési szolgáltatás.

Performance Tuner
A Glassfish képes arra, hogy bizonyos fizikai paraméterek megadása után, az adott terheltséghez képest javaslatokat tegyen saját maga optimalizálása érdekében. Teszi ezt természetesen konfigurációs adatok megváltoztatásával.

Íme pedig, hogy milyen javaslatokat tesz:

Amennyiben confirm-eljük, az adott változtatásokat alkalmazza is a Glassfish.
Configurations
Ezen a menün belül a Server konfigurációs adatait tekinthetjük meg, és változtathatunk is rajta.

Update Tool
A GlassFish 3.1 már támogatja régóta azt az elvárható frissítési metódust, amit package repository-nak hívunk. Elegendő egy külső internet kapcsolat, vagy egy lokális repository, amiből csomag alapon lehet frissíteni a GlassFish-t magát, vagy új komponenseket telepíteni egy kattintással.

Egy teszt Alkalmazás telepítése
Töltsük le ezt a hivatalos „teszt” alkalmazást:
http://glassfish.java.net/downloads/quickstart/hello.war
Ezek után kétféle képpen is deployolhatjuk ezt az alkalmazást. Az első a command line-s változat:
# cd glassfish3/bin/
# ./asadmin deploy hello.war
A másik lehetőség pedig a webes admin felület.
Applications -> Deploy

Amennyiben sikeres volt az alkalmazás deployolása, akkor a következőt kell látnunk:

Amennyiben a sorban a „Launch” gombra kattintunk felugrik egy ablak, amiben szerepel, hogy milyen URL-en érhető el a most deploy-olt alkalmazást, azaz a HELLO.WAR-t.

Tehát böngészőbe írjuk be http://[glassfish IP címe]:8080/hello
A következőt kell látnunk:

Ez az alkalmazás semmi bonyolultat nem tesz. Csupán egy mezőt tartalmaz, amibe ha beírjuk a nevünket, akkor generál egy sort a nevünkkel, ahol köszön nekünk. Egyszerű kis alkalmazás, de a mostani demonstrációs célra tökéletesen megfelelő.
Összefoglalás
Remélem sikerült bemutatnom, hogy a GlassFish telepítése, és adminisztrációs felülete is elég egyszerű. Ezáltal a munka, és kontroll is könnyű vele. Ezen felül elég jó GlassFish közösség van, ezáltal és persze a SUN és az Oracle-nek hála nagyon jó dokumentációk is érhetőek el hozzá.
Kossz a leirás, nagyon hasznos volt nekem!