Durch die zunehmende Verwendung des Microservice-Architektur-Patterns ist eine zentrale Instanz zur Verwaltung der Benutzeranmeldeinformationen unabdingbar. Das Autorisierungsprotokoll OAuth 2.0 bietet hierfür im Zusammenspiel mit Java Spring eine perfekte Basis. Dieser Artikel veranschaulicht anhand eines Beispiels, wie sich dies in...
Im ersten Teil kam das Hauptthema von Java 9, die Modularisierung (Codewort Jigsaw), in Grundzügen zur Sprache. Wir wollen nun einen erweiterten Blick auf dieses Feature von Java 9 nehmen, indem wir Auswirkungen der Modularisierung betrachten. Eine wichtige stellt die Möglichkeit dar, wesentlich schlankere Anwendungspakete schnüren zu können. Aber ...
Ab Januar 2019 führt Oracle ein Abo-Modell, genannt Subscription, für produktiv genutzte Java-Anwendungen ein. Die Einführung ist rückwirkend, somit sind auch Java Anwendungen, die Java 8 benutzen betroffen. Das Ende von kostenlosem Java? Die Verwendung von Java für Entwicklung, Test, POC und Demo bleibt weiterhin kostenlos; auch wird Oracle sich w...
In der Entwicklungsphase eines jeden Software-Projektes ist eine frühe Erkennung von Fehlern unabdingbar. Bei großen Projekten mit vielen Abhängigkeiten kann es mühsam und langwierig sein, das gesamte Projekt auf dem lokalen Rechner zu kompilieren und zu testen. Abhilfe hierbei können Continuous Integration (CI) und Delivery (CD) Plattformen w...
Dass spezifische Funktionalitäten in unterschiedliche Services gebündelt sind, ist ja nichts Neues. Und dass die Funktionalitäten eines Services oft in einem Interface definiert und dann in der einer anderen Klasse implementiert werden, auch nicht. Doch mit dem in Java 9 dazugekommenem Modul-System können nun auch einzelne Services modularisiert we...
Seit Java 9 lassen sich mehrere Pakete und die darin enthaltenen Klassen zu Modulen zusammenfassen. Dies ermöglicht eine bessere Kontrolle, auf welche Klassen von außerhalb des Modules zugegriffen werden darf. Ein Modul wird durch einen sogenannten Modul-Deskriptor definiert, der sich auf oberster Paketebene im Modul befindet und per Definition „mo...