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.

 

Weblogic Virtual edition



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.

 

 

wls-ve2

 

Aplikace běžící na 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.

 

wls-es

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:

  1. Instalace a konfigurace WebLogic Event Servru
  2. Návrh Event Processing Networku je konfigurace CEP frameworku, což je v podstatě napsání XML souboru s CEP konfigurací
  3. Návrh EPL pravidel pro filtrování a směrování zpráv
  4. Definice typu událostí, které se mají spustit pro různé typy zpráv
  5. Volitelný krok je definice vstupních adaptérů
  6. Propojení EPL pravidel s procesorem
  7. Nastavení stream-ů pro propojení adaptérů, procesoru a POJO logiky
  8. 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