Oracle vydal v červnu novou verzi WebLogic serveru
po akvizici firmy BEA. Je to první verze pod značkou
Oracle. V tomto článku se podíváme podrobněji na
hromadu vylepšení a změn, které nastaly. Budu se
snažit popsat jenom technologické změny a nikoli ty
organizační.


Administrační
konzole

Odemykání konzole je nyní automatické. Není již
potřeba mačkat tlačítko „Lock&Edit“. Konfigurace
se odemkne s první změnou parametrů v konzole a změny
se promítnou do konfigurace hned po uložení změn.
Tato funkcionalita se dá ale vypnout pro provoz v
produkčním prostředí a konzole bude fungovat stejně,
jak tomu bylo v předchozí verzi.

Konzole se nainstaluje do serveru při prvním
přístupu. Je pravda, že to pár sekund trvá, ale když
ji nepoužíváte, tak nespotřebovává zbytečně zdroje
aplikačního serveru. Takzvaný „deployment on demand“
je udělaný u všech interních aplikaci a je to jakýsi
předvoj SCA architektury uvnitř serveru. SCA byla již
ve verzi 10.3 tech preview představena, ale do ostré
verze se bohužel ještě nedostala.

Konzola je v této verzi o poznání rychlejší a umí
hledat v konfiguraci. Má v sobě jakýsi vyhledávač. K
menším změnám patří jiný vzhled a podpora dalších
vyhledávačů.

Důležitou součástí konzoly je takzvané Spring
Framework rozšíření. Toto bylo možno doinstalovat v
předchozích verzích, nyní je součástí konzoly, a tak
potvrzuje propojení s tímto populárním frameworkem.
Viz další kapitolu.

Vzhledem k tomu, že administrační konzola
reflektuje změny struktury uvnitř serveru, tak taky
musela změnit vzhled na dalších místech, které v
tomto článku popíšeme.

Hlubší podpora
Springu

Podpora Springu je ve WebLogicu tradičně na více
úrovních. Pro pochopení celé problematiky je nejlépe
si přečíst tento článek Spring 2.5 integration with WebLogic


Ve verzi 10.3. je přidáno rozšíření o Spring do
WebLogic konzoly, o kterém jsem psal již na začátku
tohoto článku.

Na úrovni bezpečnosti je možné plně integrovat
Spring aplikaci do WebLogic security frameworku. U
těchto aplikací WebLogic zpracuje autentizační data a
konvertuje WebLogic principals na Spring
GrantedAuthority za použití mapovací třídy. Takže
uživatel autentizovaný ve WebLogic je zároveň
autentizovaný ve Spring aplikaci.

Podpora Javy 6

WebLogic 10.3 již podporuje novou Javu6. Toto
přináší několik důležitých výhod pro vývojáře:
  • stabilnější multivláknová podpora. WebLogic
    nyní zvládne větší paralelní zátěž.

  • webový kontainer zvládne skriptovací jazyky
    jako PHP, Groovy, Ruby nebo jakýkoli jiný
    podporující JSR 223.

  • Java 6 umožňuje FastSwap tříd běžící aplikace.
    To už sice fungovalo i ve starších verzích Javy,
    ale s určitými omezeními. Nyní to je 100%
    podpora.

  • možnost vyměnit JSP kompilátor. WebLogic již
    není závislý na Javelin frameworku, ale využívá
    Java Compiler API. Pro více info viz JSR 199


Změna struktury jar
souborů

Jako nejdůležitější změna v této oblasti pro
vývojáře je nový jar soubor wlfullclient.jar, který
obsahuje všechny soubory, které potřebuje klientská
aplikace WebLogicu. Není již potřeba celý velký
weblogic.jar jako tomu bylo v předchozích verzích.

Podpora JDBC 4.0

WebLogic již taky plně podporuje JDBC 4.0, což
Vám umožní například:
  • použití SQLXML s plnou podporou na serveru. U
    klienta je taky částečná podpora SQLXML

  • implementaci Wrapper patternu, který nebyl v
    předchozích verzích možný

  • novější verze JDBC adapteru; pro Oracle update
    z 10g na 11g. Pro Pointbase update z 5.1 na
    5.7.


Pro více info ohledně JDBC 4 viz http://java.sun.com/javase/technologies/database/

WebLogic Type 4 ovladače od firmy DataDirect byly
změněny ve verzi 3.7.

Všechny další JDBC ovladače doznali následujících
změn:
  • podpora JDBC4.0 validace připojení a
    klientských informací ohledně ukládání dat,

  • podpora IPv6,

  • rozšířená podpora pro generování vracení
    autogenerických klíčů,

  • certifikace Hibernate

  • dodaná property ConvertNull na JDBC připojení
    k nastavení chování konverze null hodnot,

  • nová property QueryTimeout pro vylepšené
    chování query timeoutů,

  • mnoho vylepšení na poli výkonnosti.


Navíc každý z ovladačů na hlavní databázi jako
Oracle DB, DB2, Sybase nebo Informix prošel dalším
vývojem a vylepšováním výkonu. Pro detailní popis
těchto změn viz odkazy na konci článku.

Novinky ve WebLogic
Diagnostic Frameworku (WLDF)

Harverster, což je komponenta WLDF pro sběr dat z
JMX, nyní umí vybírat i z komplexních struktur MBeanů
a taky pracovat s komplexními typy. Pomocí Harvesteru
je třeba možné nahlédnout i do kolekcí.

Harvester zjednodušuje dohledávaní Mbeanu s
komplexními jmény. Umožňuje dohledávaní pomocí jmen v
nekanonické formě nebo jenom pomocí řetězcových
paternů za použití „*“.
Watcher, což je komponenta WLDF na sledování
hodnot v JMX poskytnutých Harvesterem je taky
rozšířena o možnost psaní komplexních dotazů nebo
paternů ke sledování.

Logger a
internacionalizace

WebLogic logger je rozšířen o podporu
internacionalizace. Je možné generovat Message
Catalog Logger třídy z XML I18N katalogu pomocí
weblogic.i18gen nástroje. Taky pomocí JMX LogMBeanu
je možné nastavit severitu loggeru a další jeho
vlastnosti.

JMS

Verze serveru 10.3 přináší možnost automatické
migrace JMS služby na jiný server. V případě chyby
jednoho ze serverů v klustru, na které běží JMS
služba, je provedena automatická migrace na předem
zvolený server. K migraci je možno dva přidat
skripty, které se spustí před a po migraci. Ty můžou
třeba přenést soubory na disku potřebné k realizaci
migrace služby.

Oracle přidává nativního .Net klienta k JMS
serveru napsaného v C#. Ten má přístup na veškeré JMS
služby a zdroje.

Bezpečnost

Podpora SAML 2.0 současně s podporou SAML Web SSO
profilu a SAML Token profilu 1.1.

Web SSO popisuje jak použít SAML 2.0 assertion a
protokoly pro nasazení SSO řešení pro prohlížeče s
Identiy Providerem a Service Providerem.
SAML Token profil popisuje, jak použí assertions
s web službami. Verze profilu 1.1 je zpětně
kompatibilní s verzí 1.0.

Jako úložiště bezpečnostních dat bylo možné ve
WebLogicu už v minulosti nastavit databázi.
Nejnovější verze přináší rozšíření v podobě možnosti
podpory providerů XACML, SAML, WebLogic credential
mapper, PKI a certifikačního registru. Toto úložiště
podporuje všechny standardní databáze nabízené na
trhu jako Oracle, DB2 a MS SQL.

Security framework je rozšířený o dalšího
providera pro validaci hesla. Ten je možné vložit do
všech standardních autentizačních providerů a tak
rozšířit jeho možnosti validace hesla. Nový validační
provider umožní nakonfigurovat validační pravidla,
které se aplikují na validace každého hesla.

Web kontajner

WebLogic přidává http publish-subscribe
funkcionalitu. Klientská aplikace komunikující pomocí
http se serverem může naslouchat událostem ze
serveru. Po zaslání subscribe požadavku na server je
klient přidán do kanálu událostí a server mu oznamuje
veškeré události pomocí Bayex protokolu. Velká
podpora tohoto protokolu je třeba v Dojoo frameworku.

Debugování web kontajneru obsahuje nyní velice
praktické rozšíření debugování specifického http
sezení (session).

Web služby

WebLogic povýšil na nejnovější verze všech
podporovaný WebService standardů, a to na verze:
  • JAX-WS 2.1 – podpora tohoto standardu je
    založená na JAX-WS referenční implementaci, která
    podporuje další vlastnosti jako:

    • jednoduchou migraci z JAX-RPC na JAX-WS

    • .Net 2.0 a WSF 3.0 MTOM

    • velké zvýšení výkonu z důvodu použití
      Woodstox StAX parsru

    • SOAPaction

    • integraci s JAXB RI 2.1.5

    • podporu dispatcher a provider


  • JAXB 2.1 – spolu s podporou JSR-222 Data
    binding API

  • WS-Security 1.0

  • WS-Addressing 1.0

  • WS-Policy 1.5

  • WS-SecurityPolicy 1.2

  • WS-ReliableMessaging 1.1

  • WS-Trust 1.3

  • SAML 2.0

  • WS-SecureConversion 1.3


WebLogic Tuxedo
connector
  • Podpora SSL pro připojení k Tuxedo pro trusted
    certifikáty a privátní klíče
  • Podpora šifrování hesel pomocí Advanced
    Encryption System (AES)
Pro podrobnější informace viz WebLogic 10.3
Release notes