Java Magazine

Failsafe

Eén van de vier punten uit het Reactive Manifesto is dat software resilient moet zijn. Resilient betekent dat onze software adequaat omgaat met foutsituaties en responsive blijft. Een praktisch en veel voorkomend voorbeeld is een applicatie die gebruik maakt van externe services. In dit scenario is het denkbaar dat deze externe services niet meer beschikbaar zijn of onvoldoende presteren.Zonder maatregelen kan het heel lang duren alvorens dit probleem zichtbaar wordt. Deze traagheid kan er bijvoorbeeld toe leiden dat kostbare resources lange tijd worden gereserveerd, wat kan leiden tot starvation en performance degradatie van de hele applicatie. Niet voor niks stelt dus het Reactive Manifesto dat een applicatie resilient moet zijn. Failsafe (https://github.com/jhalterman/failsafe) is een kleine library die precies doet wat het moet doen; het toevoegen van resilience aan onze applicatie zonder veel poespas. Failsafe biedt opties voor het opnieuw proberen aan te roepen van een service die kan stoppen met werken. We kunnen ook een fallback gebruiken in het geval dat een service die we aanroepen niet meer beschikbaar is. De library biedt ook de mogelijkheid om een zogenaamde circuit breaker te gebruiken om aanroepen naar services te omzeilen. We kunnen Failsafe gebruiken met Java 6 of hoger. Maar in Java 8 kunnen we lambda’s gebruiken in de Failsafe API voor nette en goed leesbare code.

Read More »

Advanced Akka

Wellicht heb je al eens wat over Akka gehoord of gelezen. Misschien zelfs in een van de voorgaande Java Magazine artikelen over Akka die je inmiddels ook op de NLJUG website terug kunt vinden (links staan onderaan). Deze artikelen lieten al goed zien wat er mogelijk is met Akka, maar in dit artikel behandel ik nog een aantal andere interessante features.

Read More »

Custom Metrics in de praktijk

Metrieken over applicaties worden steeds belangrijker. Harde getallen, zoals gebruikersaantallen, responstijden of conversieratio’s, kunnen een goede, objectieve graadmeter zijn voor succes en het bewijs dat de applicatie de investering waard is. Daarnaast is het belangrijk, in de sneller veranderende wereld van continuous delivery en agile ontwikkeling, om vlotte feedback loops te hebben hoe de applicatie het in productie doet. Alleen de “standaard” metrieken, zoals cpu gebruik of aantallen http requests, zijn niet goed genoeg. We hebben behoefte aan onze eigen custom metrics.

Read More »

Robot Framework

Het automatiseren van testen binnen een continuous integration proces is niet meer weg te denken. Binnen ons DevOps-team zijn we op zoek geweest naar een passende oplossing voor testautomatisering. Een oplossing in de vorm van een tool of framework waar ons volledige DevOps-team mee overweg kan. Ieder teamlid moet namelijk in staat zijn tot het aanpassen en uitbreiden van de testen. Daarnaast willen we de testen voor alle door ons te ontwikkelen interfaces en back-end componenten, binnen een enkel framework, kunnen automatiseren. Om aan deze eis te kunnen voldoen, gingen we op zoek naar een framework dat naast het automatiseren van web browsers, REST, SOAP en Unix, ook met databases overweg kan.

Read More »

Virtual Reality

Virtual Reality (VR) bestaat al meer dan een halve eeuw en de afgelopen jaren neemt het wederom een enorme vlucht. Dit is echter niet voor het eerst. Gedurende de jaren ‘90 waren de verwachtingen rondom VR al torenhoog, maar brak het uiteindelijk toch niet door bij het grote publiek. Waarom zou dat nu dus wel gebeuren? En als je als software engineer nu aan de slag wilt gaan met VR, wat zijn dan de mogelijkheden? Dit artikel heeft als doel om te informeren over de huidige stand van VR en hoe je als ontwikkelaar nu al kunt starten.

Read More »

Column Maven: Pom.noxml

In elke editie zal Robert Scholte een probleem voorleggen en deze oplossen met behulp van Apache Maven om meer inzicht te geven in Maven zelf en de vele beschikbare plugins.

Read More »

Java-specialisten bij de Rijksoverheid

Als ICT’er bij de Rijksoverheid werk je aan uiteenlopende projecten. Van een wifi-verbinding op de snelweg tot het bestrijden van cybercrime. En van het bouwen van apps voor de Belastingdienst tot het starten van een verbeterproces volgens continuous delivery bij de Dienst Uitvoering Onderwijs (DUO). Martijn Straatman, Luuk Buit en Bram van den Hout werken respectievelijk als Java-developer en architect bij de Rijksoverheid. Tijdens J-fall vertellen zij meer over continuous delivery in hun sessies: Continuous Delivery binnen DUO, Web application security voor developers: tooling en best practices en Automatisering van de delivery pipeline tijdens openingstijden van de winkel.

Read More »

Java microframeworks shootout

De tijd dat er wekelijks een nieuw Java Web/MVC framework verscheen ligt inmiddels achter ons. Er lijkt echter een nieuwe trend te zijn ontstaan: de introductie van Java microframeworks voor met name de realisatie van HTTP/REST-gebaseerde microservices.

Read More »

Micro services

Een micro-service architectuur is tegenwoordig een hippe en moderne architectuurstijl. Het levert vaak geen eenvoudig applicatielandschap op. Hoe los je bijvoorbeeld security op? Features zoals single sign-on, transparante audit logs worden in zo’n architectuur extra belangrijk. Immers is je functionaliteit verspreid over het applicatielandschap. In dit artikel bespreken wij onze aanpak alsmede de gangbare alternatieven.

Read More »