Multi-threading met Futures

6 January 2012 13:18 Lennaert van der Linden Algemeen, Java

In dit artikel wordt aan de hand van een concreet voorbeeld getoetst of we java applicaties multi-threaded kunnen maken zonder bijkomstige complexiteit te introduceren met behulp van futures.

Enkele jaren terug heb ik voor een klant een functionaliteit om een afbeelding samen te stellen uit deelafbeeldingen gerealiseerd. Ik hanteerde daarbij een implementatie die recht toe recht aan was: de afbeeldingen werden één voor één geladen om vervolgens op elkaar geplakt te worden. De aanpak werkte prima en voldeed aan de performance-eisen. Maar het bleef daarna knagen bij mij… is een efficiëntere manier mogelijk zonder extra (technische) complexiteit te introduceren? Lees verder

Reageer

Hippo is going to REST

23 May 2011 12:07 Brian Snijders Algemeen, Java, Liferay

Het koppelen van Hippo en Liferay is al enige tijd een hot-topic binnen Finalist. Verschillende succesvolle pogingen zijn ondernomen en Hippo heeft onlangs Hippo CMS 7.5 uitgebracht. Een van de speerpunten van Hippo CMS 7.5 is de integratie van een REST-api, waarmee de repository uitgevraagd kan worden. Standaard worden er een aantal REST-services meegeleverd en tevens wordt uitbreiding van deze REST-api met eigen REST-services ondersteund. Zo kun je op een vrij eenvoudige manier de repository via REST ontsluiten!

Lees verder

Reageer

Liferay en wat doen wij ermee?

21 March 2011 10:03 Jurn de Ruijter Java, Liferay

“Liferay delivers open source enterprise solutions for portals, publishing, content and collaboration.”

Een zeer beknopte en algemene beschrijving van een product met vele mogelijkheden en wat op verschillende manieren kan worden ingezet binnen een organisatie. Veel interessanter is eigenlijk, wat heeft Finalist al gedaan met Liferay?

Aan de hand van een aantal recente en succesvolle Liferay implementaties, zal ik per case de belangrijkste Liferay functionaliteit toelichten:

Lees verder

Reageer

J-Fall 2010: drie interessante sessies nader belicht

8 November 2010 14:18 Robbert Brak Evenementen, Java

Woensdag 3 november vond J-Fall 2010 plaats, een jaarlijks terugkerende conferentie over Java-gerelateerde onderwerpen, georganiseerd door de NL-JUG. Zelf ben ik inmiddels stamgast op dit evenement en ook dit jaar was het weer de moeite waard. In deze post ga ik kort in op de inhoud van enkele van de meest aansprekende sessies.

Reageer

Unit testen met mock objecten in een Dependency Injection container

20 January 2010 12:32 Rob Schellhorn Algemeen, Java

Het grote verkoop argument om te kiezen voor een Depency Injection (DI) container is de losse koppeling tussen componenten. Het systeem bestaat uit kleine componenten die makkelijk ‘aan elkaar geknoopt’ kunnen worden. Dit leidt onder andere tot betere, (unit) testbare code. In een unit test wil je immers een specifieke unit testen, waarbij onderliggende componenten zoveel mogelijk constant gehouden worden. Het constante gedrag van zo’n onderliggend object wordt gerealiseerd door een mock implementatie te injecteren: een implementatie specifiek voor de test. In deze blog post wil ik aan de hand van een voorbeeld use case laten zien hoe je deze techniek effectief kan inzetten.
Lees verder

Reageer

Datum en tijd in Java

6 January 2010 22:26 Martin Sturm Java

Sinds het begin van de ontwikkelingen voor JDK 7 is er al redelijk wat discussie gaande over de API’s in de standaard Java libraries die betrekking hebben tot het werken met datums en tijd. In de huidige Java versie (1.6) zijn er grofweg drie (groepen) met classes die hiervoor gebruikt kunnen worden: Date en Calendar, de classes voor het opmaken van een datum voor weergave en de classes in de java.sql package. Onder deze laatste groep valt java.sql.Date, java.sql.Time en java.sql.Timestamp. De meeste softwareontwikkelaars zijn het er wel over eens dat deze API’s verre van perfect zijn. Lees verder

3 reacties

Geen wachtwoorden, alstublieft!

14 December 2009 17:56 Nico Klasens Algemeen, Java

De afgelopen jaren heb ik te maken gehad met verschillende SSO oplossing met één van de belangrijkste redenen dat er te veel systemen zijn met een eigen wachtwoord. Na verloop van tijd worden er nieuwe systemen ingezet binnen een organisatie en heb je opeens 20 wachtwoorden te onthouden. Natuurlijk moeten die 20 wachtwoorden allemaal voldoen aan de eisen van een lastig te raden reeks tekens. Naast al die andere arbitraire feitjes zoals telefoonnummers, bankrekeningnummer, verjaardagen en adressen is dit een hele opgave. Hoe meer er geklaagd wordt over al deze wachtwoorden hoe meer er nagedacht wordt over een SSO-oplossing.
Lees verder

Reageer

Content en meertaligheid

25 November 2009 12:02 Nico Klasens Java

Veel content-gedreven websites hebben genoeg aan de basisfunctionaliteit van een content repository. Content wordt gestructureerd in het hiërarchische model van folders. Content wordt daarnaast via een workflow gepubliceerd en oude versies worden gearchiveerd. Het datamodel van nodes en properties is hier heel geschikt voor (zie de eerdere post Databases versus content repositories).

Het wordt pas weer lastiger als een content gedreven website in meerdere talen beschikbaar moet zijn. Dit geeft weer een extra dimensie aan de content zodat het niet direct te vertalen is naar een hiërarchische structuur. Let op het verschil tussen internationalization (i18n) en localization (l10n). Een content repository moet ingericht worden voor i18n zodat de website l10n kan zijn.
Lees verder

Reageer

Devoxx 2009: heeft Java toekomst?

23 November 2009 12:36 Martin Sturm Evenementen, Flex, Java

De nieuwste trends op het gebied van Java en de JVM, relevante ontwikkelingen voor developers in het algemeen en een hoop inspiratie zijn de belangrijkste elementen die jaarlijks terugkeren op het grootste Java-evenement van Europa. Devoxx werd dit jaar voor de achtste keer georganiseerd, en ook dit jaar had ik de kans om hier naar toe te gaan. Uiteraard was er veel te zien en te horen, en een uitgebreid verslag kan dus niet achterwege blijven.
Lees verder

Reageer

Databases vs Content repositories

13 October 2009 15:37 Nico Klasens Databases, Java

De afgelopen tijd verzeil ik regelmatig in een discussie waar de data van een project het beste in bewaard kan worden. De discussie gaat tussen een relationeel systeem of een content repository. In de rest van dit verhaal zal ik een aantal redenen noemen om wel of juist niet voor een repository te kiezen.
Lees verder

4 reacties

JavaScript Architectuur

28 September 2009 12:00 Auke van Leeuwen Java, Javascript

Sinds AJAX is ‘uitgevonden’ (als je dat zo mag noemen) is het leven van de webdeveloper enigszins veranderd. Nieuwe verwachtingen op het gebied van front-end development leveren ook een nieuwe set van problemen. Verwachtingen die bijvoorbeeld door applicaties als Google Calender of Google Mail geschapen worden. Zo ook voor het project waar op dit moment de laatste hand aan gelegd wordt: een soort van gebiedsselectie tool voor een distributeur van ongeadresseerd reclamedrukwerk. Deze tool leunt hevig op de Google Maps API om de selecties te maken en te tekenen als lagen over de Google Maps kaart. Zie hiervoor ook eerdere blogposts op deze blog van o.a. Rob van de Meulengraaf. In deze blogpost wil ik me meer focussen op het architecturele design van de voorkant van de website in het algemeen.

Lees verder

2 reacties

Alfresco ECM in het kort

28 September 2009 10:49 Jurn de Ruijter Alfresco, Java

Alfresco is een Open Source Enterprise Content Management Systeem (ECM) wat verkocht wordt als product dat Document Management, Collaboration, Imaging, Workflow, Records Management en Web Content Management integreert in één oplossing.
Lees verder

Eén reactie

Spring Roo, een geavanceerde code generator?

29 June 2009 11:50 Remco Bos Java

Wat is Spring Roo? Volgens de makers: “Spring Roo provides interactive, lightweight, user customizable tooling that enables rapid delivery of high performance enterprise Java applications.” En dit is Roo’s mission statement: “Roo’s mission is to fundamentally and sustainably improve Java developer productivity without compromising engineering integrity or flexibility.”

Ik vertaal dit naar “Spring Roo is een slimme code generatie tool voor Spring applicaties” en “Spring Roo belooft de productiviteit van Java ontwikkelaars te verhogen”. Dit was voor mij een reden om Spring Roo eens een keer uit te proberen.

Lees verder

2 reacties

Dependency injection in een OSGI container

4 June 2009 13:26 Rob Schellhorn Java

Bepaalde vraagstukken houden software engineers al decennia lang bezig. Een klassieker is hoe we componenten moeten maken met een kleine koppeling, zodat het product makkelijk uit te breiden blijft en goed te testen is. Deze vraag is van toepassing op verschillende lagen in de software. Dependency injection (DI) kijkt vanuit de kleinste componenten: objecten. OSGI biedt de handvaten om modules makkelijk samen te laten werken. Door de twee te combineren ontstaat een ijzersterk platform om makkelijk te onderhouden software te schrijven. In deze blog post laat ik zien hoe je het DI framework Guice kan inzetten binnen een OSGI container.

Lees verder

Eén reactie

JUnit testen van EJB3/JPA code met een in memory database

18 May 2009 15:21 Rudie Ekkelenkamp Java, Testen

Junit testen van EJB code is altijd al lastig geweest. Het probleem is dat je een container nodig hebt om je testen goed te kunnen draaien. Er zijn wel in container testing frameworks, maar die zijn vrij zwaar en ondersteunen niet echt het idee van een Junit test: een stuk code dat je geïsoleerd en snel kunt testen. In dit artikel wordt een opzet beschreven voor het Junit testen van EJB3/JPA code op basis van een in memory database.

Lees verder

9 reacties