SAPL — Encryption Research & Test Automation
Description
Evaluated database encryption strategies and built AssertJ test infrastructure for the SAPL policy engine during a backend-focused industry internship.
Context
During my industry internship at FTK Dortmund (Java Backend & DevOps), I worked on two parallel tracks within the open-source SAPL policy engine ecosystem: data encryption evaluation and test automation.
Problem
The team needed a clear comparison of database encryption strategies to guide architectural decisions, and the SAPL project’s test suite needed to be migrated from Hamcrest to the more expressive AssertJ framework for better maintainability.
What I Did
Encryption research & prototyping:
- Researched and compared encryption approaches: Column-Level Encryption, Field-Level Encryption, and Transparent Data Encryption
- Built Spring Boot prototypes with PostgreSQL and H2 to validate each approach hands-on
- Evaluated trade-offs (performance, complexity, security coverage) and presented findings to the team
Test automation:
- Learned the existing Hamcrest test patterns, then created and migrated assertions to JUnit + AssertJ
- Contributed test code to the open-source SAPL repository
Outcome
- Delivered a structured encryption comparison that informed the team’s architectural direction
- Migrated and expanded test coverage in the public SAPL repository — contributions visible on GitHub
Tech Stack
Java, Spring Boot, PostgreSQL, H2, JUnit, AssertJ, Hamcrest, Maven, Git
Kontext
Während meines Industriepraktikums am FTK Dortmund (Java Backend & DevOps) habe ich an zwei parallelen Themen innerhalb des Open-Source-Ökosystems der SAPL Policy Engine gearbeitet: Verschlüsselungsevaluierung und Testautomatisierung.
Problem
Das Team benötigte einen klaren Vergleich von Datenbank-Verschlüsselungsstrategien als Grundlage für Architekturentscheidungen. Zudem musste die Test-Suite des SAPL-Projekts von Hamcrest auf das ausdrucksstärkere AssertJ-Framework migriert werden, um die Wartbarkeit zu verbessern.
Was ich gemacht habe
Verschlüsselungsrecherche & Prototyping:
- Verschlüsselungsansätze recherchiert und verglichen: Column-Level, Field-Level und Transparent Data Encryption
- Spring-Boot-Prototypen mit PostgreSQL und H2 gebaut, um jeden Ansatz praktisch zu validieren
- Abwägungen (Performance, Komplexität, Sicherheitsabdeckung) bewertet und dem Team präsentiert
Testautomatisierung:
- Bestehende Hamcrest-Testmuster erlernt, dann Assertions auf JUnit + AssertJ erstellt und migriert
- Testcode zum Open-Source SAPL-Repository beigetragen
Ergebnis
- Einen strukturierten Verschlüsselungsvergleich geliefert, der die Architekturrichtung des Teams beeinflusste
- Testabdeckung im öffentlichen SAPL-Repository migriert und erweitert — Beiträge auf GitHub sichtbar
Tech Stack
Java, Spring Boot, PostgreSQL, H2, JUnit, AssertJ, Hamcrest, Maven, Git