summaryrefslogtreecommitdiff
path: root/20-implementierungsheft/sections/backend.tex
blob: 19efd65db7dcf5bb0de7ca99628cedba63fd9795 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
\section{Backend}

Für das Backend wird das \Gls{java}-Framework \Gls{spring} verwendet. Neben seiner Modularität,
bietet es viele Funktionen, die unter
anderem die Entwicklung von Backend-Anwendungen vereinfachen.
Darunter fällt zum Beispiel die Unterstützung von Dependency Injection, dessen 
Vorteile bereits beschrieben wurden.
Außerdem unterstützt \Gls{java} \Gls{spring} intern eine Verwaltung von \Glspl{db}, sodass
sich nicht mit dem \Gls{SQL}-Code an sich befasst werden muss. 
Auch bezüglich Authentifizierung und Sicherheit bietet \Gls{spring} eigene Funktionalitäten.

Zusätzlich dazu wird als Build-System für das \Gls{java}-\Gls{spring}-Backend Maven verwendet.
Maven hilft dabei alle Abhängigkeiten des Projekts zu verwalten und automatisiert 
den Build Prozess.
Durch die zusätzliche Unterstützung von Versionskontrollsystemen und der Kompatibilität
zu vielen Continuous Integration-Tools wird außerdem die Entwicklung in einem Team erleichtert
und optimiert. Denn dadurch können Build- und Deployment-Prozesse automatisiert werden.
Außerdem bietet Maven Bibliotheken zum Testen sowie zur Generierung von Dokumentationen an.

Vom Backend benötigte Abhängigkeiten:
\begin{itemize}
    \item \Gls{spring} Web
    \item \Gls{spring} Security
    \item \Gls{spring} Mail Sender
    \item \Gls{spring} Data JPA
    \item Lombok
    \item Rome (\Gls{rss} parsing/fetching)
\end{itemize}