Terugblik Martin S. op J-Spring 2008

Verslag J-Spring 2008

Vorige week woensdag 16 april vond de halfjaarlijkse conferentie plaats die wordt georganiseerd door de NL-JUG. In dit artikel zal een korte beschrijving worden gegeven van de lezingen die ik die dag heb bezocht.

J-Spring 2008 begon met een keynote die werd verzorgd door Atos Origin. Deze keynote was technisch gezien niet erg interessant en zal ik daarom niet verder bespreken. De eerste echte lezing die ik bijwoonde, betrof een introductie van functionele programmeertaal Scala door Jeroen Dijkmeijer. De connectie tussen Scala en Java - uiteindelijk draait J-Spring tenslotte om deze taal - is dat Scala gebruikmaakt van de JVM. Scala is een pure objectgeorienteerde, functionele programmeertaal. Elk element is deze taal is dus een object - er zijn geen primitieve types zoals int en boolean. In de lezing werden enkele aspecten van Scala besproken zodat het publiek een beeld kon vormen van de mogelijkheden. Daaruit viel op te maken dat Scala enkele interessante mogelijkheden biedt om het eens nader te bestuderen. Onder andere de mogelijkheid om Java-classes in Scala te gebruiken en andersom is interessant. Ook is er inmiddels een framework voor webapplicaties beschikbaar voor Scala, genaamd Lift.

In ‘OSGi on Google Android using Apache Felix’ door Marcel Offermans werden Google Andriod en de OSGi-implementatie Apache Felix geïntroduceerd. Google Android is eind vorig jaar geïntroduceerd als platform voor smartphones. Het bestaat uit een besturingssysteem dat is gebaseerd op de Linux-kernel en voorziet daar bovenop in een Java-virtuele machine en een verzameling libraries. Deze virtuele machine gaat door het leven onder de naam DalvikVM. OSGi is een framework dat het gebruik van Java-libraries moet vereenvoudigen door een modulesysteem te introduceren. Door OSGi op het Andriod-platform te gebruiken, krijgt de ontwikkelaar mogelijkheden om dynamisch bibliotheken te laden en weer uit het geheugen te verwijderen, waardoor een behoorlijk nauwkeurige controle uit te oefenen is op welke libraries worden gebruikt op een bepaald moment. In een korte demo werden de mogelijkheden van deze integratie getoond. Meer informatie over OSGi op Android is te vinden op de weblog vam Luminis

In de presentatie ‘Realtime monitoring en optimalisatie van Java applicaties met open source tools’ werd door Jeroen Borgers en Sander Hautvast beschreven hoe met behulp van de opensource Java-tools Jamon en Jarep realtime performancestatistieken kunnen worden gegenereerd. Jamon is een bestaande tool voor het eenvoudig toevoegen van uitgebreide logging van responstijden van delen van een Java-applicatie. Jarep is een uitbreiding op Jamon die op basis van de cijfers die uit Jamon komen uitgebreide rapporten kan genereren maar ook de applicatie dynamisch kan aanpassen om zodoende bijvoorbeeld performanceproblemen op te lossen. Jarap zorgt in dat geval ervoor dat wanneer bij zeer grote drukte de responsetijd van een webserver oploopt, er een eenvoudigere site zal worden getoond. Een van de belangrijkste eigenschappen van dit systeem is dat het nauwelijks overhead op het productiesysteem met zich meebrengt.

De vierde lezing van de dag die ik bijwoonde droeg de titel ‘Annotation Processing’ en werd gegeven door Angelike Langer. De lezing begon met een korte introductie over annotaties in Java, waarbij onder andere uitbreidingen die zeer waarschijnlijk in Java 7 terug te vinden zullen zijn met betrekking tot annotaties aan bod kwamen. In het tweede deel van de lezing werd uitgelegd hoe je eigen annotaties kunt maken. In de standaard JDK is het mogelijk om annotaties op sourcecode niveau te verwerken en tijdens runtime. Beide mogelijkheden werden in deze presentatie uitgelegd aan de hand van voorbeelden.

Een introductie op de lexer- en parsergenerator ANTLR v3 werd gegeven in de lezing ‘Building a Domain Specific Language with ANTLR v3′ door Jeroen Leenarts. ANTLR v3 is een parsergenerator, die op basis van een grammatica een LL*-parser genereert. Hoewel het theoretisch mogelijk is om met behulp van ANTLR een volledige programmeertaal zoals Java te implementeren, is het vooral interessant om deze tool in te zetten voor een domain specific language die eenvoudig te integreren is in een Java-programma. ANTLR biedt de mogelijkheid om op basis van een gegeven grammatica een lexer te genereren die vervolgens een broncode-bestand kan omzetten in een reeks tokens. Deze tokens kunnen, wederom op basis van een grammatica, worden omgezet in een Abstract Syntax Tree (AST) die met tools die ANTLR biedt, kan worden gemanipuleerd - bijvoorbeeld om optimalisaties uit te voeren. In een demo liet de spreker zien hoe dit in de praktijk gaat, waarbij ook de grafische omgeving ANTLRWorks werd getoond. Deze laatste tool biedt een grafische weergave van een grammatica en uitgebreide debuggingmogelijkheden.

De laatste lezing van de dag betrof ‘Using Spring 2.5 with Java EE5′ door Joris Kuipers van SpringSource. De technische inhoud van deze lezing bleef daardoor beperkt tot enkele vergelijkende voorbeelden tussen JEE en Spring 2.5.

Na deze laatste presentatie werd J-Spring 2008 nog afgesloten met een borrel waarbij door middel van een quiz ook nog een Apple iPhone kon worden gewonnen. Helaas ging die aan mijn neus voorbij, maar desondanks was J-Spring een erg interessant evenement waar ik weer veel nieuwe dingen ben tegengekomen.


Reageer

RSS feed for comments on this post · TrackBack URI