Za posledních pár měsíců BEA rozšířila svoji
nabídku produktů ve WebLogic platformě. Oproti
popisu, který jsem publikoval nedávno na Java.cz, přibyly jak nová edice WebLogic serveru, tak úplně
nový produkt – Event Server. Další produkty povýšily
ve verzích, ale o tom někdy jindy.
Virtual edice WebLogic servru je hlavně o rozšíření
JRockit, který běží pod servrem. V této verzi se
JRockit jmenuje BEA LiquidVM™ 1.0 a podporuje Java 5.
Aplikační servry, na kterých běží používaná aplikace,
většinou používají hodně služby spojené se
systémovými zdroji jako procesor, disk a síťové
zdroje. Z operačního systému využívají ale jenom
menší množství služeb, které nabízí. Služby jako
například uživatelský interface nejsou pro servrové
aplikace vůbec potřeba. Operační systémy se ale
většinou bez těchto nadbytečných služeb nedají
spustit, a tak využívají hardwarovou platformu
neefektivně a přispívají k nižšímu výkonu Vaší
aplikace.
Nová verze BEA JRockit eliminuje tuto neefektivitu
tím, že má v sobě implementaci Javy, síťových a
souborových služeb a to je vše, co servrová aplikace
potřebuje k běhu. Komunikaci s hardwarem zabezpečuje
takzvaný Hypervisor.
Ve virtualizované struktuře, jako je na obrázku níže,
je vidět rozdělení na aplikační služby a služby
specifického hardwaru mezi JVM a Hypervisor.
WebLogic Virtual edici nabízí například tyto výhody
proti stejné aplikaci ve Windows nebo Linux
prostředí:
- menší nároky na diskový prostor – protože
LiquidJVM obsahuje jenom části normálního
operačního systému, tak má menší nároky na diskový
prostor. - menší nároky na paměť – ve standardním operačním
systému běží stovky jiných programů a služeb. Na
LiquidJVM jenom to, co je potřeba. To šetří paměť. - vyšší efektivita – protože bude aplikace
využívat méně paměti a disku, tak bude mít znatelně
větší výkon - rychlejší hibernate a resume cyklus – LiquidJVM
spolupracuje s Hypervisorem a ten ukládá u
hibernate a resume jenom JVM data a ne celý OS.
Tento cyklus bude teda podstatně rychlejší - méně problémů s bezpečností – protože LiquidJVM
má spuštěné pouze základní služby, tak je v nich
menší pravděpodobnost bezpečnostní chyby než v
celém OS
Také si asi kladete otázku, co je ten Hypervizor. Je
to produkt třetích stran. Aktuální verze LiquidVM
běží jenom na Hypervizoru of VMWare a to jenom s
verzí ESX Server 3.0 a vyšší. Nicméně se do budoucna
plánuje rozšíření podpory o další i open-source
hypervizory.
Kompletní dokumentaci o WLS-VE najdete na BEA
internetové dokumentaci http://edocs.bea.com/wls-ve/docs92-v10/overview/overview.html nebo si můžete stáhnout testovací verzi na
stránkách http://download.bea.com
Druhý produkt ze sady novinek je WebLogic Event
server. Tento server je určený k jednoduchým
transformacím zpráv v prostředí s požadavky na velký
výkon a jednoduchý změnový proces. Pro prostředí, kde
je požadovaný nepřetržitý chod a odpověď v
milisekundách je ideální pro tento produkt.
WebLogic Event server je Java integrační middleware
pro aplikace založené na událostech. Jeho základem je
takzvaný Complex Event Processing (CEP) Engine, který
zpracovává zprávy na základě uživatelem definovaných
pravidel. Manipulace s daty je implementována ve
formě Event Processing Language (EPL), což je
jednoduchý procesní jazyk podobný SQL, nebo je možno
přidat další logiku ve formě POJO objektů s podporou
Spring Frameworku.
Obrázek ukazuje základní komponenty CEP frameworku
ve WebLogic Event servru. Adaptéry jsou vstupní bodem
pro každý typ vstupu a transformují data do
normalizované formy pro procesor. Po transformaci
jsou uložené do stream-u pro zpracování, kde čekají
na uvolnění procesoru. Po jeho uvolnění jsou
zpracovány a uloženy ve výstupním stream-u. Tady je
možno napsat uživatelský kód pro zpracování zpráv,
který může využít další technologie pro přeposlání
dat do dalších systémů.
Navíc je možno tuto strukturu měnit a to jak
přidávat, tak i ubírat adaptéry, stream-y nebo tvořit
hierarchie zpracování dle potřeby.
Procesor je implementace EPL jazyka a User Code je
implementace POJO s podporou Spring Frameworku. Pro
přístup ke komponentům CEP frameworku je tady podpora
ve formě specifických Spring framework tagů.
Typické kroky k vytvoření nové aplikace jsou:
- Instalace a konfigurace WebLogic Event Servru
- Návrh Event Processing Networku je konfigurace
CEP frameworku, což je v podstatě napsání XML
souboru s CEP konfigurací - Návrh EPL pravidel pro filtrování a směrování
zpráv - Definice typu událostí, které se mají spustit
pro různé typy zpráv - Volitelný krok je definice vstupních adaptérů
- Propojení EPL pravidel s procesorem
- Nastavení stream-ů pro propojení adaptérů,
procesoru a POJO logiky - Vytvoření POJO pro dodatečnou logiku
Více o programovacím modelu najdete na stránkách
dokumentace http://edocs.bea.com/wlevs/docs20/create_apps/overview.html#programming_model
Nebo na hlavní stránce dokumentace WebLogic Event
Servru
http://edocs.bea.com/wlevs/docs20/index.html
Pro více informací o BEA produktech použijte
následující odkazy:
Seznam BEA produktů – http://bea.com/framework.jsp?CNT=index.htm&FP=/content/products&WT.ac=topnav_products
Další linky na stránkách BEA Systems:
Veškerá dokumentace o produktech – http://e-docs.bea.com/
Všechny produkty ke stažení – http://download.bea.com
Zajímavé články, blogy, wiki o produktech a
technologiích – http://dev2dev.bea.com/
Podpora k produktům – http://support.bea.com
Seznam školení pro Evropu – http://eu.bea.com/education/index.jsp