Libraries uitgelicht – september 2013

Iedereen die wel eens met datum en tijd gewerkt hebben met de JDK, kennen deze ergernis: Waarom kan het niet simpeler? De nieuwe implementatie van JSR 310 maakt het leven al een stuk eenvoudiger, maar die is niet voor iedereen beschikbaar.

JodaTime

Iedereen die wel eens met datum en tijd gewerkt hebben met de JDK, kennen deze ergernis: Waarom kan het niet simpeler? De nieuwe implementatie van JSR 310 maakt het leven al een stuk eenvoudiger, maar die is niet voor iedereen beschikbaar. Gelukkig dat er een oplossing is in de vorm van Joda Time. Joda Time een open source oplossing, en heeft een simpele en betrouwbare API om met datum en tijd aan de slag te gaan. Ik kan het iedereen aanraden. Het voorkomt veel frustratie en ergernis.

Quartz

Quartz is een job scheduling service die je kunt integreren in vrijwel elke Java-applicatie (zowel SE als EE). Met Quartz kun je schedules maken voor het uitvoeren van achtergrondprocessen door standaard Java-componenten te schrijven. De interface hiervoor is eenvoudig: je moet één methode implementeren die als parameter een context-object meekrijgt met informatie over de omgeving waarin de job draait. Quartz bevat een schat aan features, waaronder persistence van jobs, ondersteuning voor JTA-transacties en clustering.

Meer informatie kun je vinden op quartz-scheduler.org.

RoboSpice

Met RoboSpice wordt het uitvoeren van a-synchrone taken binnen Android een stuk eenvoudiger, de API maakt het mogelijk om met een paar regels code deze taken uit te voeren via een Android service. Via handlers wordt verteld wanneer een taak afgerond is of wanneer er een fout is opgetreden. Verder is er onder andere ondersteuning voor het aanroepen van REST services(bijvoorbeeld via Retrofit). Een caching mechanisme en een retry mechanisme zijn standaard aanwezig wat de Android code aanzienlijk vereenvoudigd. Vooral interessant om eens te bekijken is het samples project, hierin staan alle mogelijkheden van RoboSpice verwerkt in voorbeeld code, deze code is direct uitvoerbaar. Deze voorbeelden geven direct een startpunt voor het gebruik van RoboSpice. Voor meer informatie zie github.com/octo-online/robospice

RXTX

RXTX is een library die het mogelijk maakt om door middel van Java seriële poorten te benaderen. Deze library is zeer handig bij projecten waarbij je met Java een connectie wil maken met embedded hardware, zoals een Arduino, beagleboard of raspberry pi. De library is grotendeels gebaseerd op de javax.comm implementatie. Er bestaan implementaties voor een groot aantal platformen waaronder Windows, linux en Mac OS. De library bestaat uit een jar file met de Java implementatie, en een C library die afhankelijk is per OS. Het Java deel van de library maakt via JNI calls gebruik van de meegeleverde C library. Voor Windows is er bijvoorbeeld een dll en voor Linux een so (shared object).

De library heeft een API waarbij je de beschikbare poorten kan opvragen, connecties kan maken en event gebaseerd kan luisteren naar seriële poorten. Uiteraard kun je er ook data mee verzenden. Voor meer informatie zie rxtx.qbang.org/wiki/index.php/Main_Page.