2015 – editie 7

Arquillian 101

Sinds de introductie van CDI in Java EE zie ik een verschuiving ontstaan van Spring naar Java EE. Een belangrijke reden van deze verschuiving is het gemak van CDI om middels annotaties dependency injection te bewerkstelligen. Het testen van dit mechanisme is niet altijd triviaal, want CDI heeft een container nodig. Frameworks zoals Mockito maken het mogelijk om mock dependencies toe te voegen, maar het is geen container. Applicatieservers zijn met de tijd steeds sneller geworden, hierdoor zijn er geen reden meer om deze niet embedded te gebruiken anders dan de meegeleverde API.

Read More »

Continuous Communication

Het is 11 februari 2001. Zeventien ervaringsdeskundigen komen bij elkaar in een ski resort in Utah. Twee dagen later keren ze terug naar de buitenwereld. De stenen tafelen die zij meedroegen, kennen wij inmiddels als het Agile Manifesto. De rest is geschiedenis.

Read More »

Back to school: volg een MOOC!

Wat is een MOOC? MOOC staat voor Massive Open Online Course en is kort gezegd online een (universitair) vak volgen: lectures kijken, stof doornemen en opdrachten maken. Maar dan wel op een interactieve manier en met zoveel mogelijk mensen tegelijk. Er zijn vele aanbieders actief, maar het model is vrijwel altijd: de MOOC provider heeft een online platform en een onderwijsinstelling, meestal een universiteit, biedt daarop cursussen aan. Voorbeelden hiervan zijn Coursera, Udacity en edX. Het cursusaanbod op deze sites is zeer breed, net zoals op de betreffende universiteiten. Er zijn ook partijen die zich op een specifiek onderwerp richten, bijvoorbeeld Code School voor web technologie. Het MOOC concept leent zich prima voor IT onderwerpen: er is affiniteit met technologie en programmeeropdrachten zijn goed geschikt om automatisch online te beoordelen. Er is dan ook een groot cursusaanbod in programmeren, algoritmiek, big data, mobile, security, etc.

Read More »

Past Java EE in een microservice?

Microservices zijn op dit moment enorm in opkomst. Bekende namen als Netflix, Amazon en Twitter passen de aanpak al jaren toe, met veel succes. Java blijkt voor al deze bedrijven een goede basis: vrijwel iedereen gebruikt de JVM als universeel platform voor al hun microservices. De gevestigde standaard voor serverside development, Java Enterprise Edition (EE), wordt echter nergens genoemd bij deze hippe bedrijven. Waarom niet?

Read More »

Speedy perception trumps speedy reception

Asynchrone communicatie wordt ten onrechte vaak gezien als complex en traag. Hedendaagse browsers, databases en natuurlijk het Java EE platform bieden volop voorzieningen waarmee asynchrone interacties eenvoudig re realiseren zijn. Met name asynchrone push notificaties kunnen worden ingezet om het antwoord te geven voor de vraag zelfs maar gesteld is – noem dat maar traag. Het belang van asynchrone conversaties is overigens met name gelegen in de schaalbaarheid van applicaties. Door een synchrone request-afhandeling in te ruilen voor een asynchrone verwerking wordt het onnodig blokkeren van resources op verschillende tiers – vooral threads en geheugen - voorkomen. Hierdoor ervaren eindgebruikers een vloeiender interactie met de applicatie en kan met een gelijkblijvende hardware configuratie een grotere workload worden verwerkt.

Read More »