Java Magazine

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 »

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 »

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 »

Oracle JavaScript Extension Toolki

In maart 2016 heeft Oracle versie 2 van Oracle JavaScript Extension Toolkit (JET) gepubliseerd. Oracle JET is een bibliotheek voor gebruikersinterfaces. Deze geavanceerde JavaScript bibliotheek bestaat uit een verzameling van bestaande Open Source Javascript bibliotheken, die het mogelijk maken om efficiënt zeer rijke toepassingen te bouwen.

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 »

HTTP/2 Server Push

Conceptueel gezien is er weinig veranderd: begrippen als requests, responses, headers en URL's zijn gehandhaafd, en ook rollen als proxy, gateway en tunnel houden dezelfde betekenis. De vernieuwing zit hem met name in het transportmechanisme, waardoor browsers efficienter meer resources parallel kunnen ontvangen. Hedzer Westra schreef in de vorige editie van dit magazine (nummer 4, jaargang 2016) al over de details en de gevolgen van deze veranderingen. Een nieuw concept dat met HTTP/2 is geïntroduceerd is 'Server Push': hiermee kan een server speculatief alvast 'extra' resources beginnen te verzenden, ook al heeft de client hier nog niet om gevraagd. Dat levert interessante performance trade-offs op, waarvan we er een aantal zullen bespreken.

Read More »

De Java ontwikkelomgeving van 2016

Ontwikkelomgevingen blijven vaak een onderwerp van discussie. Mag iedereen zijn eigen favoriete Integrated Development Environment (IDE) gebruiken? Hoelang duurt het voordat een nieuwe ontwikkelaar zijn ontwikkelomgeving volledig werkend heeft? Draai je de omgeving op je laptop, op een centrale server, gevirtualiseerd…? Hoe gaat de code vervolgens naar productie? Deploy je een war vanaf je laptop, of gebruik je Jenkins of iets dergelijks? Dit artikel biedt een blik in de keuken bij een aantal bedrijven. De auteurs hebben ruime ervaring met een flink aantal verschillende oplossingen voor ontwikkelomgevingen. Hierna kun je lezen wat de ervaringen en de voor- en nadelen van de verschillende oplossingen zijn.

Read More »