Just nu sitter vi och lyssnar pÄ Costin Leau frÄn Interface 21 nÀr han pratar om Spring/OSGi. Han ger en mycket bra introduktion till vad OSGi, hur det fungerar och hur man bygger OSGI-applikationer. Han gÄr dÀrefter in pÄ vad Spring/OSGi Àr. Syftet Àr att ta enkelheten i Spring och kombinera ihop den med det dynamiska modul-tÀnkandet i OSGi. Man har infört ett nytt begrepp kalat Spring modules. Detta Àr kort och gott Spring beans paketerade som OSGI bundles. Det finns ocksÄ en OsgiBundleApplicationContext som gör att du kan göra dependency injection, ladda resurser och allt annat du Àr van vid frÄn Spring, men nu med tillÀget att du gör det inom ett OSGI bundle scope.
En annan intressant sak med Spring/OSGi Àr att man kan hantera dynamiken i OSGi tjÀnster med hjÀlp av samma typ av XML vi har i Spring. Till exempel, du kan definera kardinalitet mellan bundles och definera callbacks nÀr en tjÀnst försvinner eller uppgraderas.
Spring/OSGi har Àven tagit sig an problemet med att testa OSGi bundles. Tidigare sÄ var man tvungen att skapa en egen test-bundle för att kunna enhets-testa sina OSGI bundles. Med Spring/OSGi sÄ har man infört stöd för JUnit, vilket gör att det blir lika enkelt att testa sina OSGi bundles som i en traditionell Spring-applikation .
Det hela ser vÀldigt spÀnnande ut och Interface 21 har hjÀlp av bÄde BEA och Oracle (samt en massa andra organisationer sÄsom Eclipse Equinox) i att ta fram specifikationerna för Spring/OSGi. En skarp 1.0 release Àr planerad till Ärets slut, men man kan redan anvÀnda det idag (1.0-M3). Costin Leaus presentation hittar ni pÄ JavaZones webbplats.