Java (EE)

Nieuw in Java 8: lambda-expressies

20 december 2013

Sinds april 2012 wordt er al gewerkt aan Java 8, de opvolger van Java 7. In de nieuwste versie van de programmeertaal zijn een aantal nieuwe concepten opgenomen, welke qua impact op het platform vergelijkbaar gaan zijn met de verbeteringen die  anno 2004 in Java 5 werden geïntroduceerd. Toevoegingen als generics en for…in loops hebben Continue reading →

Sogyo Masters of Java

21 november 2013

Elk jaar wordt er een Masters of Java competitie georganiseerd waarbij de beste Java programmeurs van het land het tegen elkaar opnemen om de titel ‘Masters of Java’ te bemachtigen en natuurlijk eeuwige roem te vergaren. Dit jaar vind het event plaats op zaterdag 23 november 2013 en wel in Amersfoort van 10.30 tot 16.30. Voor meer informatie zie: http://www.nljug.org/events/event/30/masters-of-java.html.
Lees verder >>

Elk jaar wordt er een Masters of Java competitie georganiseerd waarbij de beste Java programmeurs van het land het tegen elkaar opnemen om de titel ‘Masters of Java’ te bemachtigen en natuurlijk eeuwige roem te vergaren. Dit jaar vind het event plaats op zaterdag 23 november 2013 en wel in Amersfoort van 10.30 tot 16.30. Voor meer informatie zie: http://www.nljug.org/events/event/30/masters-of-java.html.
Lees verder >>

OAuth Identificatie

09 juli 2013

Voor een interne webapplicatie willen we OAuth gebruiken: een autorisatieprotocol voor het web dat ons de zorg om wachtwoorden uit handen neemt. De werking van OAuth wordt kort uitgelegd en van de implementatie een klein verslagje gedaan.

‘Mijn object is immutable, want alles is final en ik heb geen Setters!’

12 september 2011

In deze blog ga ik in op de bovenstaande stelling. Is het namelijk wel zo dat een object immutable is wanneer alles final is en er geen Setters zijn gedefinieerd? Het klinkt in ieder geval erg logisch. Tot je er mee gaat werken en je situaties tegen komt waarbij dat absoluut niet zo is! Erg vervelend wanneer je verwacht dat je object immutable is en deze dat niet blijkt te zijn…
Lees verder >>

In deze blog ga ik in op de bovenstaande stelling. Is het namelijk wel zo dat een object immutable is wanneer alles final is en er geen Setters zijn gedefinieerd? Het klinkt in ieder geval erg logisch. Tot je er mee gaat werken en je situaties tegen komt waarbij dat absoluut niet zo is! Erg vervelend wanneer je verwacht dat je object immutable is en deze dat niet blijkt te zijn…
Lees verder >>

Test EJB’s met JUnit: OpenEJB

15 april 2011

Wanneer je wel eens met EJB’s hebt gewerkt, weet je net als ik hoe moeilijk het is om deze te (unit) testen. De code op zich is gewoon Java-code, maar er wordt veel gebruik gemaakt van annotaties zoals @PersistenceContext en @Resource. Hiermee is het onder andere mogelijk om te communiceren met een database of om berichten te versturen naar een Message Driven Bean. Omdat de code is verweven met referenties naar deze resources, is het vrijwel onmogelijk om dit te testen met bijvoorbeeld JUnit. Er zal altijd een container nodig zijn die EJB’s ondersteund om dit voor elkaar te krijgen. En dit is alles behalve wenselijk!
Lees verder >>

Wanneer je wel eens met EJB’s hebt gewerkt, weet je net als ik hoe moeilijk het is om deze te (unit) testen. De code op zich is gewoon Java-code, maar er wordt veel gebruik gemaakt van annotaties zoals @PersistenceContext en @Resource. Hiermee is het onder andere mogelijk om te communiceren met een database of om berichten te versturen naar een Message Driven Bean. Omdat de code is verweven met referenties naar deze resources, is het vrijwel onmogelijk om dit te testen met bijvoorbeeld JUnit. Er zal altijd een container nodig zijn die EJB’s ondersteund om dit voor elkaar te krijgen. En dit is alles behalve wenselijk!
Lees verder >>

JBoss Profiler: Hoe en waarom?

17 januari 2011

Je kent het vast wel: je applicatie is traag en je weet niet waarom. Alles zou gewoon snel moeten werken, maar er schijnt toch een soort van bottleneck te zijn. Een optie is om de hele code na te lopen om te zien of je het probleem kunt vinden, maar wie wil nu echt duizenden regels code afzoeken naar het probleem?
Lees verder >>

Wanneer je een tijd bezig bent met het ontwikkelen van een applicatie is het wel eens handig om te kijken waar je code sneller en efficiënter gemaakt kan worden. Wanneer je veel code hebt, is het niet handig en wenselijk om deze volledig door te spitten. Een profiler kan hierbij helpen. Deze blog gaat in op een profiler die werkt onder JBoss, dus specifiek voor webapplicaties.

Silver Smalltalk

10 januari 2011

Peter Fisk is goed bezig.
Lees verder >>

Peter Fisk is goed bezig.
Lees verder >>

Sogyo Search

08 december 2010

Al weer een paar weken geleden is er een project gestart binnen Sogyo om een oplossing te vinden voor een belangrijke vraag over vragen. Deze vraag was: “Waarom kunnen we de nodige informatie, om veelgestelde vragen binnen Sogyo te beantwoorden, niet makkelijk op zoeken? “. Dit is wel heel vaag en algemeen gesteld, maar bijvoorbeeld als jij op zoek bent naar een Sogyo medewerker met kennis van Ruby: hoe vind je die? Je kan die persoon misschien vinden via intranet of je vraagt het aan een collega. Geen probleem, om je heen vragen, want dat versterkt de social cohesie weer. Maar het kost wel wat tijd en daar zit niet iedereen op te wachten.
Lees verder >>

Al weer een paar weken geleden is er een project gestart binnen Sogyo om een oplossing te vinden voor een belangrijke vraag over vragen. Deze vraag was: “Waarom kunnen we de nodige informatie, om veelgestelde vragen binnen Sogyo te beantwoorden, niet makkelijk op zoeken? “. Dit is wel heel vaag en algemeen gesteld, maar bijvoorbeeld als jij op zoek bent naar een Sogyo medewerker met kennis van Ruby: hoe vind je die? Je kan die persoon misschien vinden via intranet of je vraagt het aan een collega. Geen probleem, om je heen vragen, want dat versterkt de social cohesie weer. Maar het kost wel wat tijd en daar zit niet iedereen op te wachten.
Lees verder >>

Business Rule Engines

13 oktober 2010

Bedrijfsapplicaties zijn steeds meer afhankelijk van factoren zoals, wet en regelgeving, bedrijfsprocessen, procedures en beleid. Deze factoren vormen een groot deel van de logica binnen een applicatie en kunnen soms verspreid zijn door het hele systeem.
Op deze manier is onderhoud wat lastiger en zal er elke keer weer programmacode aangepast moeten worden. Om dit te voorkomen is het aantrekkelijk om een rule engine toe te passen op een dergelijk systeem.

Een rule engine is een programma om beslissingen mee te maken. De beslissingen worden genomen aan de hand van rules. Rules zijn een vertaling van bedrijfsprocessen en procedures. De rules kunnen door business experts worden opgesteld met behulp van grafische editors. In deze editor moet worden aangegeven wat de conditie is en wat de actie is die uitgevoerd moet worden als er aan de conditie is voldaan. Deze rules worden in een database opgeslagen genaamd “Business Rule Repository”.
Lees verder >>

Bedrijfsapplicaties zijn steeds meer afhankelijk van factoren zoals, wet en regelgeving, bedrijfsprocessen, procedures en beleid. Deze factoren vormen een groot deel van de logica binnen een applicatie en kunnen soms verspreid zijn door het hele systeem.
Op deze manier is onderhoud wat lastiger en zal er elke keer weer programmacode aangepast moeten worden. Om dit te voorkomen is het aantrekkelijk om een rule engine toe te passen op een dergelijk systeem.

Een rule engine is een programma om beslissingen mee te maken. De beslissingen worden genomen aan de hand van rules. Rules zijn een vertaling van bedrijfsprocessen en procedures. De rules kunnen door business experts worden opgesteld met behulp van grafische editors. In deze editor moet worden aangegeven wat de conditie is en wat de actie is die uitgevoerd moet worden als er aan de conditie is voldaan. Deze rules worden in een database opgeslagen genaamd “Business Rule Repository”.
Lees verder >>

Google Spreadsheet API vanuit de Google AppEngine

18 juni 2010

Ik was bezig met een demo applicatie aan het schrijven voor de Google AppEngine. Om de applicatie wat interessanter te maken bedacht ik ook een export mogelijkheid om de gegevens uit de applicatie te exporteren naar Google Spreadsheets. Dit is moeilijker dan men in eerste instantie zou denken.