Napiš jednou, provozuj kdekoliv

Voblasti aplikačních serverů spolu v současnosti soupeří komerční s freewarovými produkty, které díky své bezkonku...


Voblasti aplikačních serverů spolu v současnosti soupeří komerční s
freewarovými produkty, které díky své bezkonkurenční dostupnosti stále více
rozšiřují instalovanou bázi. Oracle doufá, že se mu letos mezi komerčními J2EE
servery podaří udržet třetí příčku. A tak se z důvodu zvýšení atraktivity
aplikačního serveru Oracle10g rozhodl, že pro účely vývoje aplikací zdarma
uvolní celé portfolio svých produktů.

Oracle Application Server 10g Release 2 na nás udělal skutečně dojem.
Společnost Oracle obalila základní J2EE 1.3 jádro sadou hodnotných funkcí,
optimalizovala je pro použití v SOA (servisně orientovaná architektura),
přidala nativní podporu BPEL (Business Process Execution Language), BPM, XML,
business intelligence a mnoho, mnoho dalšího.
Stejně tak jsme byli potěšeni tím, jaký důraz Oracle klade nejen na shodu se
standardy Java, ale i na přenositelnost aplikací mezi J2EE aplikačními servery.
Je tedy pouze na vás, jestli se při vývoji aplikací rozhodnete využít rozšíření
Oracle, nebo nikoliv. Oracle Application Server 10g Release 2 dovoluje (a
dokonce automatizuje) zavádění aplikací na jiné aplikační servery založené na
standardu J2EE 1.3, a to včetně jejich správy. Pokud se touto cestou vydáte,
nebudete vůbec nuceni pořizovat licence aplikačního serveru Oracle.
Po několika týdnech práce s aplikačním serverem Oracle 10g Release 2 jsme došli
k závěru, že je doslova zrozen pro provoz podnikových aplikací a jeho licence
se vyplatí pořídit.

Říkejme mu 10.5
Application Server 10g Release 2 není servisním balíčkem. Jedná se o novou
verzi, která má podle společnosti Oracle více než 400 nových funkcí, z nichž
mnoho se týká správy podnikových událostí a procesů. Všechny nové funkce zde z
pochopitelných důvodů popsat nemůžeme, a tak se soustředíme pouze na ty, které
nás opravdu zaujaly.
Výjimečný je holistický přístup k problematice BPM, který je založen na
standardu BPEL. Konkuruje tak dodavatelům samostatných a nákladných doplňkových
řešení a služeb, které navíc předstihuje v podpoře přístupu k systémům, které
nejsou založeny na Javě.
Aplikační server Oracle 10g Release 2 minimalizuje pocit, který máme ze serverů
od jiných dodavatelů, že tvorba podnikového procesu je jako propojování
rozsáhlého podnikového systému, ve kterém žádné dvě komponenty nejsou od
jednoho dodavatele. Standard JCA (J2EE Connector Architecture) poskytuje všem
J2EE aplikačním serverům platformu pro integraci, ale Oracle jde ještě o krok
dál. Tím je možnost výběru ze standardních konektorů pro aplikace a systémy
(včetně těch od firem PeopleSoft, SAP, Siebel), chytře vymyšlené uživatelské
prostředí a webová konzole pro sledování a ladění podnikových procesů za jejich
běhu.
Stejně jako v mnoha uživatelských prostředích v rámci Oracle Application Server
10g i v případě správy podnikových procesů stačí pro získání detailní informace
kliknout na daný hyperlink. Byli jsme ohromeni množstvím hyperlinků, které
vedou k obrazovkám jak pro správu systému, tak pro generování různých výkazů a
statistik.
Získané detailní informace by však nedávaly smysl, pokud by byly prezentovány
jednotlivě. V těch instalacích, kde jeden LAN segment obsahuje jednu nebo více
instalací Oracle Database 10g, Application Server 10g spravuje centralizované
úložiště metadat všech instalací. V tomto úložišti je potom možné "překládat"
příchozí provozní informace do srozumitelného jazyka a přiřazovat je k procesům
specifickým dané aplikaci.
Díky tomuto "překladu" mohou s procesy pracovat manažeři, nikoliv pouze
vývojáři. Vývojář bude při přípravě metadat potřebovat pomoc od manažerů jen v
úvodu (jedná se v podstatě o "překlad" IT termínů do "normální" řeči), při
pozdějším provozu a sledování běhu procesů už ale žádní vývojáři potřeba
nebudou.
Perfektní je v Oracle Application Serveru 10g také řešení BAM (Business
Activity Monitoring). Nejlepším zjištěním pro nás bylo, že s tímto nástrojem
pracují zase manažeři, nikoliv pracovníci IT oddělení. Základní stavební kameny
každého BAM řešení, jako je správa pravidel a notifikací, jsou samozřejmě k
dispozici. Osobně jsem však propadl jednoduchosti uživatelského prostředí a
chytrosti, flexibilitě a efektivitě přístupu společnosti Oracle. Celé to
funguje tak, že agenti sídlící na jednotlivých integračních a procesních uzlech
jsou permanentně připojeni k centrálnímu uzlu (který je připojen k úložišti
metadat). Ten má na starost jak provoz podnikových procesů, tak sjednocování
provozních dat z více aplikačních serverů a databází Oracle. Tento způsob
komunikace "agent-uzel" zjednodušuje analýzu přenosu dat a jednotlivých
transakcí bez nutnosti znalosti toho, který server přenos zajistil nebo kde
byla nakonec přenášená data uložena. Tento přístup umožňuje také zapojení více
instalací aplikačního serveru a databáze do podnikového gridu s jedinou
centrální správou.
Centrální uzel a jednotliví agenti společně sledují změny dat a generují
notifikace uživatelům a systémům pomocí webových služeb, Java kódu, konektorů
atd. Není tedy třeba používat žádné fronty zpráv nebo programovat databázové
triggery.
Oracle získává body také za portabilitu a konzistenci uživatelského prostředí,
které ještě zvyšuje pocit celkové vnitřní integrace aplikačního serveru 10g.
Vývojové prostředí Oracle JDeveloper obsahuje implementaci OC4J (Oracle
Containers for Java), která je ve velké míře založena na open source. Určitě
byste zvládli si open source aplikace nainstalovat i nastavit sami, ale Oracle
již ověřené komponenty pro Java server sestavil, připravil hotové konfigurace a
zabalil do instalace, která spočívá v jednom kliknutí (alespoň tak tomu bylo na
našem Macu).

Dokonalý přehled
Vývojové prostředí Oracle JDeveloper je zázračným produktem. Ponechejme detaily
stranou a povšimněme si jedné vlastnosti, kvůli níž stojí za to se o
JDeveloperu zmínit: jde o jednokrokovou implementaci. Pokud se při psaní kódu
pohybujete v rámci standardů J2EE 1.3 nebo 1.4, JDeveloper automaticky
naimplementuje vaši aplikaci na Java server dle vašeho výběru. V našem případě
to bylo na hostovanou instalaci JBoss a Tomcat/OC4J a v obou případech byla
aplikace připravena pro provoz.
Vzorové aplikace, které jsme vytvořili a nainstalovali ve Windows, Linuxu a OS
X, demonstrovaly přenositelnost, interoperabilitu a aplikační inteligenci.
Nejvíc jsme si však odnesli z vývoje jednoduché aplikace na sledování zásob,
kterou jsme napsali z důvodu simulace interakcí B2B (business-to-business).
Aplikace pracovala, jak měla od JSP (Java Server Pages) přes zabezpečený portál
až k webovým službám. Funkce XSLT (XSL Transformation), která je rovněž
součástí JDeveloperu, přeložila příchozí data obchodního partnera do našeho
formátu. Obchodní partner zadá objednávku tak, že zavolá webovou službu na
našem serveru. Tím se odstartuje podnikový proces, v rámci něhož dojde k
ověření stavu zásob, ověření kredibility objednatele, odeslání objednávky do
skladu pro vyskladnění zboží a následnému potvrzení objednávky partnerovi.
Připojené pravidlo v rámci Oracle BAM nás pak varuje před rizikem
nedostatečných zásob. Celý vývoj této aplikace sice neprobíhal v grafickém
prostředí a nebyl úplně triviální, ale po celou dobu jsme byli překvapeni, jak
málo znalostí Java serveru nebo Javy obecně je potřeba k tomu, aby člověk
využil i pokročilé funkce.
Oracle Application Server 10g Release 2 je ještě v jednom ohledu skvělý:
nestane se nic, o čem byste nebyli informováni. Integrované nástroje v rámci
aplikačního serveru Oracle vám umožní jít mnohem hlouběji, než je tomu u
aplikačních serverů ostatních výrobců. To dává vývojářům, testerům a
administrátorům silný nástroj při hledání chyb a ladění výkonnosti.
Mýtus o přenositelnosti aplikací se tedy stal faktem. Společnost Oracle se se
svým aplikačním serverem postavila k přenositelnosti aplikací nejlépe, jak
mohla.









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