JBoss: Server s otevřeným kódem

Příkladem využití potenciálu Javy je vývoj celé řady projektů na bázi volně šiřitelných implementací J2EE s mo


Příkladem využití potenciálu Javy je vývoj celé řady projektů na bázi volně
šiřitelných implementací J2EE s možností jejich následného přechodu na vyšší
programová i technologická řešení. Jedním z nich je i aplikační server JBoss,
který plně vyhovuje podmínkám open source.
Server JBoss aktuálně je k dispozici jeho třetí generace, konkrétně verze 3.0.4
se vyznačuje vysoce modulární architekturou. V principu odpovídá požadavkům
standardu HTTP (verze 1.1) a aplikuje principy JCA (Java Connector
Architecture) neboli řešení na úrovni mikrokernelu pro technologie aplikačních
serverů využívajících metod řízení a monitoringu podle standardu JMX (Java
Management Extensions) a CMP 2.0.
JMX server je prostředek, který je schopen zajistit integraci programových
prostředků i navazujících a spolupracujících mechanismů rozhraní, jež mohou
začleňovat další subsystémy a zásuvné moduly a které vlastně představují různé
aplikační servery pracující v samostatném nebo clusterovém režimu provozu.
Přestože aplikační server JBoss přímo zabezpečuje všechny základní služby, není
problémem zařadit do své implementace svoje vlastní služby v podobě
požadovaného nebo oblíbeného modulu, tj. využít implementační schopnosti JMX, a
to vše více méně dynamicky. JBoss je řešen tak, aby plně podporoval a
respektoval požadavky standardu CORBA.
Většina aplikačních modulů jednotlivých vrstev pracuje v nezávislém režimu,
nejčastěji jako aplikační servery zahrnující některou z forem J2EE kontejneru,
zatímco ostatní pracují v souladu se specifikacemi prostředí ASP/ISP. Další
výhodou aplikace JBoss jsou přehledné možnosti konfigurace, které se opírají o
řešení již uvedeného JMX serveru. JBoss implementuje tzv. pure (neboli 100%)
Javu.
Klíčovými prvky aplikačního serveru JBoss jsou tzv. JBoss/Server, což je
základní EJB kontejnery, a JMX infrastruktura, na kterou navazují moduly
JBossMQ pro JMS messaging (řízení zpráv), poštovní systém JBossMail, modul
JBossTx pro zabezpečení transakcí typu JTA/JTS, JBossSX zajišťující systémovou
bezpečnost (založenou na JAAS, Java Authentication and Authorization Service),
modul JBossCX pro základní JCA konektivitu a konečně modul JBossCMP pro
zajištění CMP perzistence.
Jak již bylo stručně naznačeno, jednou z klíčových technologií je JMX, která
zajišťuje spolupráci a přizpůsobení libovolných komponent včetně výměny jedné
komponenty za jinou, samozřejmě za předpokladu, že obě vyhovují požadavkům
specifikace JMX. JBoss tak nabízí možnost tzv. hot nasazení a plné využití na
principu JMX modularity.
Aplikační server JBoss dále integruje Tomcat servlet/JPS kontejner a Jetty WWW
server/servlet kontejner. Nedostatkem je, že kontejner servletů JSP a web
server jsou stále v etapě zpracování. V případě komerčních aplikačních serverů,
jako jsou konkurenční WebLogic a WebSphere, jsou jak webový server, tak i
kontejner servletů a JSP úzce integrovány přímo v prostředí aplikačního serveru.
Již od verze JBoss 2.1 je součástí dodávky a instalace aplikačního serveru i
plnohodnotný databázový SQL server, který je možné použít pro uložení trvale
používaných prostředků Enterprise JavaBeans.

Stažení a instalace
JBoss server je volně dostupný ke stažení prostřednictvím odkazů na webové
stránce www.JBoss.org, přičemž aplikace je distribuována v rámci tzv. GNU
public license neboli zcela zadarmo. Neexistuje dokonce ani žádná dodatečná
licence za instalaci podle počtu provozovaných CPU, ani poplatek za případné
komerční využití. Přitom nelze říci, že nulové pořizovací náklady jsou tím
jediným, co odlišuje aplikaci JBoss od mnohých dalších produktů pro platformu
J2EE. Jedním ze systémových provozních požadavků JBoss jak v prostředí Windows,
tak v Linuxu je plně funkční prostředí JDK 1.3. Aplikace je schopna pracovat na
široké paletě platforem technických prostředků, kdy minimální technické
požadavky představuje počítač se 64 MB operační paměti RAM. Co se týká nároků
na diskový prostor, JBoss vyžaduje pouze několik desítek MB, které jsou více
méně nutné v okamžicích instalace, která je sama o sobě velmi jednoduchá.
JBoss je tedy poměrně štíhlá aplikace s relativně malými nároky na diskový a
paměťový prostor, a tyto skutečnosti urychlují jak počáteční inicializaci, tak
i reálné provozování.
Součástí dodávky a instalace je i zmíněný databázový server toto řešení
představuje podstatnou výhodu, protože uživatel se nemusí zabývat
problematikou, jakou je vyhledání, následné načtení a instalace či konfigurace
odděleného databázového produktu včetně zabezpečení potřebných funkčních
rozhraní. Na tuto skutečnost pamatuje i inicializační nastavení, neboť
databázový server je automaticky aktivován v okamžiku inicializace aplikačního
serveru.
Podobně jako u mnoha ostatních aplikací typu GNU, za které uživatel neplatí,
existují nedostatky v podobě profesionální dokumentace, kdy celá řada materiálů
je dostupná ve stylu "how to", bohužel se však nejedná o ucelený systém
uživatelské dokumentace. Další informační a dokumentační služby pocházejí přímo
z nabídky autorské organizace včetně případného vyškolení obsluhy nebo
konzultací, ty jsou však poskytovány za finanční úhradu. V případě, že narazíte
na problémy, můžete se obrátit také na udržovanou elektronickou konferenci.

Adresářová struktura
Pokud instalace proběhla hladce, měli byste na pevném disku spatřit adresářovou
strukturu /JBoss, se stromem podadresářů:
/admin
/bin zahrnuje binární a řídící programové a spustitelné soubory JBoss. Z nich
nejdůležitější jsou soubory run.bat a run.sh, které použijete při spuštění
serveru.
/lib (případně /lib/ext) zahrnují javové knihovny v souborech ve formátu .jar,
popřípadě .zip. Adresář /lib/ext zahrnuje externí knihovny, které by měly být
dostupné pro JBoss server MLet, tj. řídící správce dynamického zavádění
programových modulů. Např. pokud se rozhodnete do provozované aplikace zařadit
některé speciální Java knihovny, jako jsou jdbc ovladače ve formátu
souborů .jar, potom je stačí umístit právě do tohoto adresáře.
/db tento adresář zahrnuje pracovní databázové soubory (konfigurační soubory,
tabulky indexů a podobně).
/deploy je určen stejně jako JBossMQ JMS pro zabezpečení zpracování fronty
zpráv.
/log tato adresářová struktura je určena pro protokolové a žurnálové soubory.
Protokolování souborů lze automaticky aktivovat odpovídajícím nastavením v
konfiguračním souboru default.conf, v němž jsou umístěny konfigurační položky
serveru JBoss. Implicitně je použita pouze jedna konfigurační sada (tzv.
default). Samozřejmě, že v případě potřeby můžete doplnit jednu nebo i více
konfiguračních sad.
/client knihovny nutné pro správné funkce klienta jsou umístěny v tomto
adresáři. Pro instalaci a provoz serveru JBoss na platformě Linux musíte pouze
zajistit nastavení odpovídajících přístupových práv pro režim zápisu do
adresáře JBoss (nezbytně nutné pro zápis protokolových log souborů a prvotní
spuštění aplikace). V dalším kroku přejděte v adresářové struktuře JBoss do
adresáře /bin a jednoduše zadejte ./run.sh.
Spuštění v prostředí Windows je dokonce ještě mnohem snadnější. Přejdete do
adresáře /JBoss//bin, kde spustíte soubor run.bat. V průběhu spuštění by systém
neměl vykazovat žádné chybové zprávy nebo provozní výjimky. Při spuštění
aplikace generuje několik výstupních obrazovek inicializačních zpráv. Provoz
serveru patří k jedněm z jeho nejpříjemnějších vlastností. Pokud požadujete
inicializaci tzv. Enterprise JavaBeans, jednoduše nakopírujte odpovídající
*.jar soubor do adresáře /deploy. Pokud to provedete v době, kdy je EJB
komponenta již načtena do paměti, potom je JBoss schopen zabezpečit automatické
načtení této novější verze.

JBoss a Tomcat
Pokud vámi provozovaný EJB klient pracuje jako tzv. servlet nebo JSP, potom se
pro jejich bezproblémové provozování neobejdete bez aplikace Tomcat (která je
nyní ve verzi 4.0.3 přímo integrována s JBoss serverem), což je kontejner pro
uložení servletů a modulů JSP. Platí zásada, že pro dosažení optimálního výkonu
byste se měli snažit umístit a spustit Tomcat na stejném stroji, na kterém je
provozován JBoss.
Není přitom problém stáhnout tento programový balíček a nainstalovat jej na
počítači aplikační vrstvy. Typická webová aplikace běžně používá jak statické,
tak i dynamické HTML stránky, kde platí zkušenost, že z hlediska výsledné
efektivity není nasazení Tomcatu pro obsluhu HTML stránek považována za
nejvhodnější řešení. Tato konfigurace se obvykle používá v případě instalace s
nastavitelnými parametry a vlastnostmi, jako je například webový server Apache
nainstalovaný jako prostředí front-endu. To znamená, že na server Tomcat jsou
směřovány pouze žádosti o načtení servletů/JSP. Za předpokladu, že je Tomcat
integrován jako přímá součást serveru JBoss, je inicializován jako modul
Apache, což zabezpečuje komplexnější formu instalace produktu jako celku.

Open source platforma
JBoss nabízí jednoduchou logiku a podporu cgi-bin skriptů a byl původně navržen
pro tzv. ASP (Application Service Provider) konfigurace. V podstatě tak lze
server využít v rámci množiny hostujících počítačů a používat JMX (Java
Management Extension) konzole pro řízení vzdálených aplikačních serverů včetně
integrace JSP.
Důležitou vlastností aplikačního serveru JBoss je jeho modulárně orientovaná
architektura, která dovoluje integraci do výsledného aplikačního kódu. Správa
konfigurace včetně zabezpečení přídavných modulů je řízena prostřednictvím
principu JMX.
Volba open source serveru má své opodstatnění z pohledu celkových nákladů, kdy
výsledná cena aplikace v sobě neodráží náklady právě na infrastrukturu. Dalším
z důvodů k volbě takového řešení je možnost získat přístup ke kódu, který je
pak pevně integrován v samotné aplikaci. Podle stávajících statistik kolem 20 %
uživatelů, kteří si stáhli aplikační řešení JBoss, tak učinilo právě s ohledem
na možnost jeho přímé implementace ve vlastních aplikacích.

Klíčová slova
CMP (Container-Managed Persistence) -umožňuje uložení vlastních datových
komponent typu Enterprise JavaBeans v trvalé formě, většinou se jedná o záznam
v relační databázi nebo ve vhodném prostředí DBMS.
JMX (Java Management eXtensions) tato komponenta byla před několika lety
prvotně vyvinuta společností Sun Microsystems pod původním označením JMAPI;
následně byla přetransformována do podoby kontejneru speciálně určeného pro
správu a monitoring aplikací platformy J2EE jako nedílná součást architektury
J2EE serverů.
JavaBeans komponentní model, který byl vyvinut jako podpora vývojových
nástrojů. Cílem je usnadnit tvorbu rozsáhlých programových celků v prostředí
J2EE jejich sestavováním ze základních stavebních komponent. Pokračováním je
standard tzv. Enterprise JavaBeans, který standardizuje návrh a opakované
použití komponent na straně serveru.
JCA (J2EE Connector Architecture) definuje standard pro propojení (integraci)
mezi prostředím J2EE a stávajícími EIS (Enterprise Information Systems) systémy
firmy (ERP, databázové systémy, existující aplikace...).









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.