NL-JUGs J-Spring 2007
18 June 2007 11:44 · Erik van Oosten · Java
Vorige week donderdag was het weer J-Spring, georganiseerd door ons aller NL-JUG. Ondanks de verhuizing naar Spant in Bussum, was het weer behoorlijk vol. De hoofdzaal was zeer mooi, maar de andere ruimtes haalden het helaas niet bij De Reehorst in Ede. Misschien was er wel meer ruimte, maar alles was een beetje donker en stond vol met sponsor standjes en de mensen massa er omheen. Hier een verslag.
De keynote van mega-we-nemen-alles-over-hoofd-sponsor Atos-Origin was even indrukwekkend als saai; hij was bijna zonder technische inhoud. Het onderwerp was hoe de Olympische Spelen technisch ondersteund worden. Slechts op één moment wist het mij te boeien toen verteld werd dat eerder ge-multicaste informatie werd herhaald als er even geen nieuwe informatie was.
Het is wel jammer om te zien dat nadat kleine bedrijven als Finalist J-Spring groot hebben gemaakt, de grote bedrijven voorbij komen stomen. Daarnaast is het mijns inziens niet goed voor de NL-JUG om een enkel bedrijf zo veel exposure te geven.
De eerste echte presentatie was ‘Terracotta: open source JVM-level Clustering’ door Jonas Bonér (Terracotta Inc.). Het betonnen-akoestiek in deze zaal botste slecht met het accent van Jonas. Gelukkig was ik zo nieuwsgierig naar wat Terracotta voor je doet dat het allemaal net ging. Het idee is dat geclusterde applicaties vaak last hebben van het ‘State Monster’ (grappig weergegeven door een leuke cartoon). Bij veel oplossingen komt het State Monster te voorschijn in de database, in de gebrekkige schaalbaarheid of in het brein van de ontwikkelaar die een goede oplossing aan het bedenken is.
TC biedt een laag op JVM niveau waarmee (vooraf aangeveven) Java objecten transparant gedeeld worden over meerdere JVM’s. Deze objecten worden middels runtime byte code manipulatie naar de TC server gekopieerd en daarna, voor zover nodig, gedistribueerd over de overige JVMs in het cluster. De verschillende JVMs in het cluster zien deze objecten dus als lokaal, maar in feite zijn ze gedistribueerd. Uiteraard worden alleen wijzigingen doorgegeven, waardoor de overdracht zeer efficiënt is.
In een zeer mooie demo toonde Jonas dat alle Tomcats uit een cluster werden gestopt, maar na de herstart draaide Tomcat gewoon door waar het gebleven was doordat de sessies via TC gedeeld werden. Ook de Spring integratie (delen van een Spring-bean) was overtuigend.
Zie ook de demo van TerraCotta.
De zaal van de daarop volgende presentatie was ge-annexeerd door de eerder genoemde we-nemen-alles-over. Deze zaal was zo warm dat ik dacht te gaan flauw vallen, de rest van de dag zag je mij hier niet meer terug. Het onderwerp was het maken van een DSL. Dit werd vrij aardig gedaan met een mij onbekend tool te vinden op openarchitectureware.org. Het idee is dat je een DSL schrijft (in een BNF achtige taaltje) waarna het tool een Eclipse editor plugin (met syntax checking) en een DSL naar Java tranformator genereerd. Als je een stukje tekst schrijft volgens de DSL, kun je na transformatie vanuit Java code de structuur en variabelen benaderen. De rest van de presentatie was helaas redelijk warrig.
De volgende keynote, door Kirk Pepperdine, ging over de ontwikkelingen in concurrency en Java. De belangrijkste boodschap was dat de wet van Moore nu ook voor software gaat gelden: elke 2 jaar moet de concurrency van je programma zijn verdubbeld. Indien je dit niet bijhoudt, wordt de performance van je programma steeds slechter omdat de klok-rates van CPU’s omlaag gaan, in ruil voor meer en meer cores. Verder gaf Kirk ons mee dat performance karakteristieken niet alleen van software afhangen, maar van een complex samenspel tussen software en hardware.
Geleerd van Jonas, zat ik nu vooraan in de betonnen zaal. Ik kon Peter Doornbosch (Luminis) dan ook uitstekend volgen terwijl hij sprak over ‘Enterprise OSGi’. In een nette presentatie zette hij uiteen wat OSGi nu eigenlijk inhoudt. Ik was blij verrast door de eenvoud en kracht. In een OSGi container deploy je ‘bundles’. Een bundle is gewoon een jar met in de manifest file welke packages geëxporteerd worden en geïmporteerd dienen te worden. Standaard kunnen bundles van verschillende versies tegelijk aanwezig zijn. Het is een eitje om bundles eruit te trekken en te vervangen door een andere, terwijl de afhankelijke bundles gewoon doordraaien. Peter liet ook de laatste ontwikkelingen in Spring zien. Met de spring-osgi module is het bijna triviaal om services (een spring bean) te exporteren naar andere bundles.
De laatste presentatie die ik bijwoonde werd gegeven door Alef Arendsen en Joris Kuipers (Interface 21, de mensen achter Spring). De titel ‘The state en future of enterprise java’ dekte de lading niet helemaal. Het ging namelijk nog steeds gewoon veel over Spring. Niet dat ik dat erg vond! Er werd stil gestaan bij de nieuwste manieren om dependency injection te configureren. Met name de Java configuration, de tegenhanger van Guice, sprak me erg aan. Ook de OSGi integratie passeerde nogmaals de revu. Helaas werd ook duidelijk dat OSGi nog niet helemaal klaar is voor de Enterprise omgeving. Een aantal dingen, zoals werken in een cluster, is nog niet geregeld. Dat neemt niet weg dat OSGi nu al een sterke aanvulling is in de Java wereld.
Al met al een enigzins nuttige conferentie. Hetgeen dat ik meest miste was de ruimte, fun en gezelligheid van de een week eerder bezochte RubyEnRails 2007 conferentie.
—————————————————————————————
Meer weten over Java-specialist Finalist IT Group?













Reageer
RSS feed for comments on this post · TrackBack URI