Recent Posts

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 »

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 »

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 »