Sonstige Kompetenzen

Java

ORM - Object-Relational Mapping → JPA (Hypernate)

Konzept zum Abbilden von Objekten in relationale Datenbanken → Kommunikation Backend ↔ DB


JasparReports

Ist ein Open-Source-Java-Berichtswerkzeug mit dem man aus Java-Programmen Berichte als PDF, HTML, Microsoft Word / Excel, TXT, RTF, ODT, CSV und XML exportieren, auf dem Bildschirm anzeigen oder drucken kann.


Maven

Build-Management-Tool → Java Programme standardisiert erstellen und verwalten


JUnit

Framework zum Testen von Java-Programmen → besonders für automatisierte Unit-Tests einzelner Units (Klassen oder Methoden) geeignet


REST - Representional State Transfer

Definiert allgemeine Grundlagen eines Architekturstils, der auf identifizierbaren Ressourcen, verschiedenen Repräsentationen, Hypermedia und einheitlichen Schnittstellen basiert. Dieser Architekturstil ist nicht auf HTTP beschränkt, aber das auf HTTP basierende Web ist die bekannteste Implementierung.


Spring Framework (Spring)

Ziel des Spring Frameworks ist es, die Entwicklung mit Java/Java EE (Java Platform, Enterprise Edition) zu vereinfachen und gute Programmierpraktiken zu fördern. Spring bietet mit einem breiten Spektrum an Funktionalität eine ganzheitliche Lösung zur Entwicklung von Anwendungen und deren Geschäftslogiken; dabei steht die Entkopplung der Applikationskomponenten im Vordergrund.



TDD - Test-Driven Development

Testgetriebene Entwicklung

Ist eine Methode, die häufig bei der agilen Entwicklung (selbstorganisierende Teams) von Computerprogrammen eingesetzt wird. Bei der testgetriebenen Entwicklung erstellt der Programmierer Software-Tests konsequent vor den zu testenden Komponenten. → Java → JUnit



CI - Continuous Integration

Kontinuierliche Integration

Ist ein Begriff aus der Software-Entwicklung, der den Prozess des fortlaufenden Zusammenfügens von Komponenten zu einer Anwendung beschreibt. Das Ziel der kontinuierlichen Integration ist die Steigerung der Softwarequalität.



DDD - Domain-Driven Design

Ist eine Herangehensweise an die Modellierung komplexer Software. Die Modellierung der Software wird dabei maßgeblich von den umzusetzenden Fachlichkeiten der Anwendungsdomäne beeinflusst.



Clean Code

Ist ein Begriff aus der Softwaretechnik, der seinen Ursprung im gleichnamigen Buch von Robert Cecil Martin hat. Als „sauber“ bezeichnen Softwareentwickler in erster Linie Quellcode, aber auch Dokumente, Konzepte, Regeln und Verfahren, die intuitiv verständlich sind. Als intuitiv verständlich gilt alles, was mit wenig Aufwand und in kurzer Zeit richtig verstanden werden kann. Vorteile von Clean Code sind stabilere und effizient wartbarere Programme, d.h. kürzere Entwicklungszeiten bei Funktionserweiterung und Fehlerbehebungen. Die Bedeutung wächst mit der Beobachtung, dass im Schnitt 80% der Lebensdauer einer Software auf den Wartungszeitraum entfällt.