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
Permalink
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
Permalink
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
Permalink
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.
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink
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
Permalink