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...
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...
Um stabile und hochwertige Software schnell ausliefern zu können, müssen die Unternehmen auf Veränderungen flexibel reagieren. Dazu gehört auch die IT des Unternehmens und damit die eingesetzten Tools und Technologien. Die Microservices-Architektur ermöglicht bereits durch die Struktur der Software, dass neue oder geänderte Anforderungen schnell um...
Mit Angular 2 ist im September 2016 ein weiteres JavaScript-Framework auf den Markt gekommen. Typensicherheit, Performance und hohe Produktivität: Ist das mit einem JavaScript-Framework überhaupt möglich? Ja – mit Angular 2. Dieser Artikel erklärt die Architektur hinter dem neuem Wunderkind und zeigt die grundlegenden CLI-Befehle, die das Arbeiten ...
Der Zugriff auf die Datenbank ist für Enterprise-Anwendungen von zentraler Bedeutung. Neben der fachlichen Konsistenz spielen Aspekte wie Performance und Security eine wesentliche Rolle. Umfangreiche Anwendungen behandeln solche Aspekte in einer eigenen Persistenz-Schicht, die aus Data-Access-Objekten (DAOs) gebildet wird. In Java können diese Klas...
In Java-Enterprise-Anwendungen ist es sinnvoll, Zugriffe auf die Datenbank nach dem Design-Pattern Data Access Object in DAO-Klassen zu kapseln. Die Basis-CRUD-Operationen lassen sich in einer generischen Klasse unabhängig vom Entity-Typ definieren. Aufwand entsteht durch die Implementierung von Find-Methoden, um Daten nach angegebe...