Nyheder og Jobs

Creating Modular Applications with Apache Aries and OSGi

Jeg (Nikolaj Brinch) havde (igen) valgt at høre om OSGi, nu med fokus på Apache Aries (http://incubator.apache.org/aries/).

Indlægget blev holdt af Alasdair Nottingham fra IBM og Aries projektet (han er en af de originale proposal comitters).

Den bedste OSGi 101 jeg har set her på konferencen (jeg har set 2 andre). Ydermere kom han ind på at classloading i OSGi verdenen er MEGET hurtigere end standard Java SE, da den har global classloader, der skal søge alt igennem for at finde en klasse.

OSGi tilbyder “internals” packaging, således at man kan lave refaktorering uden at ødelægge API kompatibiltet.

OSGi Enterprise Specifikation (OSGi ES)

  • Smelte Java EE og OSGi sammen (endeligt)
    • Web Apps – Servlets + OSGi
    • JPA
  • A la carte model (du behøver ikke bruge det hele/du behøver ikke som OSGi implementor ikke implementere det hele).
  • Blueprint Container
    • Spring-derived component model

OSGi ES gør det meget nemmere for operators (drift) – det var lidt tyndt og måske bare en pointe han prøvede at presse igennem.

Demo!!! (baseret på eclipse og de gratis OSGi plugins fra IBM Rational ® – se eclipse marketplace).

Her lavede han fra bunden en Blog Web App “the OSGi way”, og forklarede undervejs- det gjorde han rigtig godt, med et JPA baseret bundle til håndtering af persistens (beware of persistence.xml – den skal man stadigvæk lave, men nu med sær OSGi syntaks).

Det der Blueprint Container halløj er virkelig super svedigt, og jeg tror at fremtiden for Java EE (og også lidt for Spring) ligger i det her OSGi giftemål. (Så kan det godt være at Rod Johnson og hans diciple har haft ret hele tiden med deres Spring DM Server, og de andre bare kan lære det). Det er møg nemt at lave services og bundles, og bruge dem fra andre med det har OSGi ES og Blueprints.

Apache Aries og OSGi runtimen var integreret i eclipse, så når han lavede ændringer, skulle han bare skrive update [n], så sørgede runtimen for at reloade bundles der var rettet osv. (mega hurtigt iøvrigt), super cool.

Jeg tror også at Grails m.fl. nede af vejen burde OSGi baseres (mindst som en option), så vil der nemlig være styr på dependency management, så dependency resolution (det som idag tager super lang tid), skal ske fordi man retter i et taglib.

Plus: Virkelig god demo og forklaring som gjorde at man virkelig forstod det.

Minus: Lamme spørgsmål fra en del deltagere, som helt have misforstået emnet.

Over and out JavaOne (review of conferrence to come later..)