BEA posouvá Javu směrem k SOA

Především správa je tím, co vás oslní na vzájemně se doplňujících produktech WebLogic a AquaLogic. Společnosti B...


Především správa je tím, co vás oslní na vzájemně se doplňujících produktech
WebLogic a AquaLogic.
Společnosti BEA Systems se už ve své krátké historii několikrát povedlo samu
sebe zcela předefinovat. Firma, která zpočátku nabízela transakční manažer
Tuxedo, realizovala v roce 1998 obratnou akvizici aplikačního serveru WebLogic,
s nímž se jí povedl raketový vzestup vedoucí k získání drtivé dominance na
trhu. BEA však brzy ztratila koncentraci a dovolila úhlavnímu soupeři,
platformě WebSphere společnosti IBM, aby znovu získal ztracené postavení.
Během několika posledních let se pak oba výrobci přetahovali o vedoucí pozici
na trhu, přičemž IBM těžilo z přetrvávající nerozhodnosti společnosti BEA,
která jako by nevěděla, jak sama sebe pozicovat. Takto se porůznu označovala za
výrobce e-commerce softwaru, výrobce orientovaného na Javu či za dodavatele
nástrojů pro webové služby.
Poslední kampaň BEA, která nabádá uživatele, aby "mysleli kapalně" ("think
liquid"), by měla zdůraznit propojení společnosti s webovými službami bez toho,
aby se zřekla svých kořenů v Javě. Toto hybridní poselství se zjevně promítá v
současném uvolnění javového aplikačního serveru WebLogic 9.1 a nového ESB
(Enterprise Service Bus) AquaLogic 2.1. Oba produkty demonstrují tradici
bytelných platforem podnikové třídy, ačkoliv každý z nich má nějaká omezení.
BEA se evidentně pokouší propojit javové servery a ESB ve snaze etablovat se na
poli SOA. Tyto produkty jsou přitom určitě úspěšné přinejmenším z hlediska
správy SOA infrastruktury.

WebLogic 9.1
Verze 9.x serveru WebLogic byla ve vývoji celé dva roky což je na vysoce
konkurenčním trhu pozoruhodně dlouhá doba. Výsledky jsou však evidentní, a to
zejména ve vyšší škálovatelnosti, zlepšené správě a konfiguraci, plynulejší
instalaci a elegantnější správní konzoli.
BEA dodává dvě samostatné verze produktu WebLogic: základní WebLogic Express a
high-endový, plně vybavený server. Verze Express má poněkud zvláštní pozici.
Prodává se za 495 dolarů a je malou podmnožinou možností svého většího
sourozence. Ve skutečnosti dokonce ani nejde o plnou implementaci J2EE, neboť
WebLogic Express postrádá podporu EJB a JMS (Java Message Service). Zdánlivým
cílem této verze je soutěžit s volně dostupnými open source produkty pro trh
středních firem, jako je JBoss. Nicméně dílčí konkurent, jako je WebLogic
Express, zde pravděpodobně nebude nejlepší volbou. JBoss je totiž mnohem
úplnější variantou, stejně jako WebSphere Server Express Edition 6, jejíž cena
je podobná, nabízí však plnohodnotný javový aplikační server i vývojové
nástroje.
Při našich testech jsme se soustředili na plný podnikový server WebLogic 9.1.
Tuto novou verzi lze instalovat jednoduše, s minimem potíží což je oproti
předešlým verzím významné zlepšení. Konzole usnadňuje nejen správu serveru, na
němž běží, ale i jakékoliv instance v rámci určených clusterů. Clustery přitom
mohou být široce distribuovány s uzly v různých fyzických lokalitách na rozdíl
od tradičního designu clusterů, kde veškeré uzly sdílejí tentýž rack nebo jsou
umístěny v jednom datovém centru.
Všechny položky ve správní konzoli jsou doplněny odkazy na jasné a výstižné
vysvětlivky dostupných možností. Tento smysluplný přístup by si mělo osvojit
více výrobců, neboť podstatně zjednodušuje použití ne zcela běžně aplikovaných
funkcí. Možnost umístit do této podpůrné dokumentace poznámky by tuto vlastnost
učinila ještě hodnotnější.
Server WebLogic ve verzi 9.x obsahuje také WLST (WebLogic Scripting Tool),
který je založen na Jythonu, skriptovacím jazyce vycházejícím z Pythonu, který
využívá syntaxi Javy. WLST administrátorům dovoluje psát rozsáhlé skripty pro
konfiguraci a spouštění MBeans správních entit pro funkce javového aplikačního
serveru. Knihovna funkcí je rozsáhlá a skutečně správu zjednodušuje, obzvláště
pokud jde o opakující se úlohy.
WebLogic navíc obsahuje také některé funkce pro samostatnou správu. Může se sám
vyladit na základě vzorů použití a dostupných zdrojů, a pokud narazí na vážné
problémy, dokáže vydat varování a samostatně se vypnout. Správní konzole
umožňuje administrátorovi specifikovat určité spustitelné položky, které mají
být v takových případech spuštěny před tím, než je provedeno vypnutí. Podobně
mohou být do bootovací rutiny vloženy speciální startovní moduly.

Clustery a migrace
Jednou z klíčových rozlišujících vlastností aplikačních serverů podnikové třídy
je podpora clusterů, kterou WebLogic, jak jsme už naznačili, poskytuje.
Důležitými aspekty jsou u clusterů schopnost replikovat data v reálném čase a
poskytnout robustní fail-over v případě, že se některý uzel stane nedostupným.
WebLogic nabízí širokou podporu pro fail-over nejen vůči ostatním uzlům, ale i
pro zrcadlené clustery, a to včetně cachování dat, takže transakce, které běží
během poruchy, mohou být bez chyby dokončeny. Cachování dat ve WebLogic však
zatím bohužel ještě nemá implementován standard JCache; je ovšem plánován pro
budoucí verzi.
Jednou z funkcí, které BEA v této verzi nejvíce vyzdvihuje, je ta, kterou
označuje jako "side-by-side deployment" (souběžné nasazení) určitých typů
aplikací. Tato funkce dovoluje firmě nasadit přepracovanou verzi EJB na běžící
WebLogic server. Server pak začne s migrací existujících starších EJB připojení
na novou verzi, což znamená, že v určitém bodě bude stará verze připravená k
odstavení. Tento bezešvý přístup podstatně zjednodušuje aktualizace běžících
aplikací v podmínkách, kde mohou dočasně koexistovat dvě verze.
Tato funkce nicméně není tak robustní, jako její korespondující implementace v
produktu IBM WebSphere. Například proto, že migrace na novou revizi je
vynucená. Neexistuje způsob, jak povolit, aby v nasazení vedle sebe
koexistovaly obě verze. Pro většinu firem to nebude představovat problém, avšak
ty, které hostí software pro různé klienty nebo různá oddělení v rámci mateřské
společnosti, budou dost možná chtít udržovat v provozu více verzí bez vynucené
migrace na poslední verzi.
BEA odvedla dobrou práci při integraci WebLogic s objevujícími se podnikovými
javovými frameworky. Nabízí specifickou integraci s platformami projektů Spring
a Beehive patřícími pod Apache, které se oba pokoušejí zjednodušit vývoj
orientovaný na J2EE. Nadcházející verze WebLogic bude ve správní konzoli
obsahovat podporu pro open source kontejner Tomcat.

Zhodnocení
Celkově vzato je WebLogic 9.1 kvalitní produkt, jenž posiluje již vybudovanou
dobrou reputaci BEA v oblasti vysoce kvalitních aplikačních serverů podnikové
třídy. Jsme nicméně zklamáni, že výrobce svůj produkt neposunul alespoň o
kousek blíže k platformám, které podporoval v předchozí verzi 8.1. V době
testování WebLogic například neběžel ani na systémech založených na
technologiích Intel EM64T nebo AMD64, ani na SuSE Linuxu či Solarisu x86.
Mimo tyto problémy by však BEA měla být v čele každého užšího výběru
podnikových serverů. Funkce je nicméně třeba posuzovat obezřetně. Kupříkladu
IBM WebSphere poskytuje podle našeho odhadu větší možnosti expanze pro náročné
podnikové aplikace.

AquaLogic2.1
Jestliže WebLogic reprezentuje javovou stránku společnosti BEA, pak AquaLogic
se nachází na straně webových služeb a SOA. Předpona "Aqua" a kampaň výrobce
pod heslem "myslete kapalně" totiž odkazují právě na integraci podnikových dat
prostřednictvím webových služeb doslovně řečeno, data už nejsou zmrazená v
různých aplikacích. Produktová řada je kombinací nových produktů a existujícího
softwaru, který byl přizpůsoben pro nabídku takového balíku. V srdci toho všeho
se nachází AquaLogic 2.1, ESB, které BEA propaguje vůči tuhé konkurenci.
Jakožto ESB odvádí AquaLogic dobrou práci poskytuje komunikační kanál potřebný
pro webové služby a další formy síťového propojení mezi aplikacemi. Podporuje
více transportních mechanismů ačkoliv chybí RMI (Remote Method Invocation),
IIOP (Internet Inter-ORB Protocol) nebo CORBA. Může také sloužit jako rozhraní
různých skutečných middlewarových produktů pro messaging. (Nabízí i spolehlivý
messaging, avšak nespolupracuje přímo s middlewarem pro řazení zpráv do front.)
Na EDI transakce mohou být v podnicích, které stále ještě spoléhají na tuto
technologii, aplikovány XSLT (XSL Transformation) transformace.
AquaLogic rovněž poskytuje tradiční podnikové funkce, v ESB systémech
očekávané, jako jsou transformace dat specifikované přes XML konfigurační
soubory, směrování založené na pravidlech a obsahu či šifrování za běhu.
Tuto "sběrnici podnikových služeb" doplňuje ALSR (AquaLogic Service Registry),
který je založen na technologii převzaté jako OEM od společnosti Systinet. ALSR
poskytuje celopodnikový UDDI 3.0 adresář pro usnadnění alokace a přístupu k
firemním webovým službám. Tento registr ukládá data, jako jsou služby,
schémata, transformace a politiky. Je schopen importovat položky přímo z
prostředí WebLogic Workshop, které je využíváno pro vývoj webových služeb.
AquaLogic poskytuje většinu toho, co dnes nabízejí ostatní ESB, ale o něco méně
než hráči na špici, obzvláště Sonic Software. Kde však AquaLogic opravdu září,
to je správní vrstva pro SOA. Správní konzole je pozoruhodně jasná, intuitivní
a umožňuje snadnou navigaci. Podobně jako u konzole WebLogic obsahuje většina
položek vestavěné odkazy k souborům nápovědy, které poskytují docela detailní
vysvětlení. Spousta vzorových aplikací a tutoriálů na vlastním webu BEA použití
těchto nástrojů dále zjednodušuje. Na místech, kde se používá jak WebLogic, tak
AquaLogic, může konzole AquaLogic poskytovat end-to-end správu infrastruktury.

Nasazení služeb
Klíčová je skutečnost, že jsou konfigurace a nasazení webových služeb provedeny
bez skriptování. Namísto toho spoléhají čistě na XML konfigurační soubory. BEA
oprávněně tvrdí, že použití konfigurace namísto tradičních nástrojů významně
ulehčuje správu zdrojů. Prostředí pro nasazení, které AquaLogic poskytuje,
zjednodušuje vytváření a testování konfiguračních souborů, jež BEA označuje
jako artefakty což je slovo vypůjčené z oblasti modelování aplikací. Funkce
"krok zpět" usnadňuje zrušení změn a její opak, volba "rychlé nasazení" (hot-
deploy) umožňuje okamžitou implementaci, jestliže je design testováním již
ověřen.
Ačkoliv jsou tyto nástroje snadno použitelné, postrádají základní podporu
běžnou ve skutečných vývojových nástrojích. Chybí například utilita diff, která
by vám řekla, jak se artefakt změnil zjistíte pouze, že byl modifikován. Nadto
nemohou být artefakty uzamčeny, takže může dojít k tomu, že budou dva
administrátoři nedopatřením modifikovat tentýž soubor. A konečně, AquaLogic
nemá žádný WSDL editor, což znamená, že změny ve webové službě, které přesahují
jednoduchou konfiguraci, musejí být provedeny s využitím jiných nástrojů a poté
importovány zpět do tohoto prostředí.
Reporty generované z logů, výstrahy a chybová hlášení jsou vysoce
konfigurovatelné a dobře použitelné. Vestavěná databáze od PointBase umožňuje
ukládání těchto dat a ta pak mohou být uložena rovněž do existujícího DBMS.
A konečně ještě jedna věc je trošku zvláštní: AquaLogic obsahuje plnou
implementaci serveru WebLogic. Tento design je vyžadován pro podporu mnoha
funkcí pro clustering a vysokou dostupnost atd. Kupodivu může být WebLogic
využit jako plnohodnotný aplikační server. BEA na jeho použití neklade omezení,
ačkoliv poukazuje, že takové zdvojené použití WebLogic zpomalí výkon jak pro
AquaLogic, tak pro aplikace. Nicméně pokud nejsou nároky na AquaLogic nebo
aplikaci vysoké, může to posloužit jako poměrně úsporná konfigurace. Celkově má
AquaLogic dobré správní rozhraní a výhledově slibuje, že vyroste v seriózní
ESB. Nicméně v této první verzi zatím ještě docela nedosáhl úrovně svých
přímých konkurentů. Jestliže nová formulace mise společnosti BEA zní "Java
včetně SOA", pak lze konstatovat, že tyto dva produkty jí pomáhají posunout se
v tomto směru o kus dál.









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