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