Java Magazine

Ratpack

Voor het ontwikkelen van microservices hebben we in het Java-landschap al een hoop keus. Ratpack voegt hier nog een nieuwe optie aan toe. De voornaamste focus van Ratpack is efficiency en daarmee een betere performance. In een cloud-omgeving betalen we tegenwoordig voor wat we gebruiken aan resources. Er zijn betaalmodellen, die kijken naar hoeveel resources (voornamelijk geheugen) bij Java-applicaties worden gebruikt. Hoe minder resources onze HTTP-applicatie gebruikt, hoe lager de kosten. Ratpack streeft naar zo min mogelijk gebruik van resources door een applicatie. In dit artikel gaan we kijken wat Ratpack precies is en hoe we het toe kunnen passen voor het ontwikkelen van microservices over HTTP.

Read More »

Een REST API maken

In eerdere edities van Java Magazine heb je al kennis kunnen maken met Akka. Akka is een open source framework, waarmee je gemakkelijk schaalbare applicaties kunt ontwikkelen. Akka is geïnspireerd door Erlang en maakt gebruik van actoren om processen eenvoudig gelijktijdig uit te voeren. Het Akka framework is geschreven in Scala en kan zowel met Java als met Scala worden gebruikt. In dit artikel laten we zien dat Akka ook uitstekend kan worden gebruikt voor het ontwikkelen van RESTful API’s. Hiervoor gebruiken we een onderdeel van Akka, namelijk Akka HTTP.

Read More »

Jhipster

Jhipster is een volledige stack om webapplicaties te genereren en te bouwen. De belangrijkste frameworks waar Jhipster gebruik van maakt, zijn Spring voor de backend en Angular/bootstrap voor de frontend. Jhipster gaat sinds versie 3 zelfs nog verder, zodat je Jhipster kunt gebruiken om een microservice architectuur op te zetten. Ben je van plan om een webapplicatie te bouwen met deze drie technologieën, dan is Jhipster de moeite waard om uit te proberen. Je kunt veel boilerplate code laten genereren, zodat jij je volledig kan storten op het bouwen van functionaliteit. Dit geldt vooral voor projecten waarbij je gebruik wilt maken van zowel frontend als backend build tooling.

Read More »

Identity and Access Management in de 21e eeuw

Als echte software developers willen we natuurlijk ons vakmanschap tonen en goede producten afleveren. Een echte vakman in 1950, zoals een timmerman, maakte voor elke deur een tekening en ging dan met de hand het hout te pas maken. Inmiddels doen we dat anders. Want hoe mooi we een handgemaakte deur ook vinden, we willen liever dat onze deuren veilig zijn tegen inbraak en dat ze niet rammelen of klemmen. Dus worden ze tegenwoordig in een standaardproces gemaakt, zodat de kwaliteit constant is.

Read More »

Masters of Code reloaded

Masters of Java (MoJ) is onze welbekende NL-JUG funprogging contest gebaseerd op Java SE, toegankelijk voor iedere Java ontwikkelaar. De wedstrijd wordt jaarlijks georganiseerd in samenwerking met partners, zoals Sogeti. In de wedstrijd worden deelnemers op API kennis en programmeervaardigheid getest en dingen zij in teamverband naar diverse prijzen.

Read More »

Software architecture as code

Software architecture diagrams are a fairly common sight within the teams that I visit around the world. Some are hand-drawn collections of boxes and lines on a whiteboard, others are Microsoft Visio-style block diagrams on a wiki. The one thing that unites most of these diagrams is that they are abstract, out of date and typically don’t reflect the code. It’s 2016 though, why are most software development teams still hand-drawing software architecture diagrams using general purpose diagramming tools such as Visio? Not even the building industry does this! This article explores this topic and presents a simple approach for creating software architecture diagrams using code, so that the resulting diagrams actually reflect the code.

Read More »

SonarQube

SonarQube (vroeger Sonar genoemd) is een opensource platform om code kwaliteit mee te managen. Het is primair een hulpmiddel voor ontwikkelaars om goede kwaliteit code op te leveren. Vanuit een algemeen overzicht van de codekwaliteit kan er doorgeklikt worden naar de specifieke coderegel(s) waar het probleem zich bevind. SonarQube is open source en gemakkelijk uit te breiden door middel van plugins. De applicatie ondersteund vele programmeertalen, zoals Java, JavaScript, C#, C++, COBOL, PHP etc. Deze talen kunnen geanalyseerd worden om naar kwaliteit aandachtspunten te zoeken, zoals code duplicaten, falende testen en allerlei andere problemen. In dit artikel behandel ik een aantal van de nieuwe en onbekende features.

Read More »

Close Encounters

In 1977 waagden wij de grote sprong: UNIX op de faculteitscomputer. Sinds de aanschaf van onze machine in 1974 draaiden wij het door de leverancier (Digital Equipment) bijgeleverde besturingssysteem RSX-11D.

Read More »

Een DSL kweken

Het verstrekken van hypotheken is één van de belangrijkste diensten van de Rabobank. Voor de vernieuwing van het hypotheekproces is het Rabobank Hypotheekdossier ontwikkeld. Hier kunnen klanten zich oriënteren op de mogelijkheden van een hypotheek op basis van gegevens als hun inkomen en eventuele schulden. Hiervoor wordt gebruik gemaakt van een groot aantal complexe berekeningen. De Java-code, die de berekeningen uitvoert, is in de loop der tijd lastig onderhoudbaar geworden en moest vervangen worden door code die 1) makkelijker onderhoudbaar is, 2) leesbaar is voor de business (zodat zij minimale reviews kunnen geven), en 3) minder fouten bevat.

Read More »