MVP Java-SDK - Part 1 [L]
Warum?
Ziel des MVP ist es, mit minimalem Aufwand eine erste veröffentlichungsfähige Version des SDKs zu entwickeln.
Out-of-Scope:
- Erstellung des Grundgerüst für Methodensignaturen -> #414 (closed)
- Aufgaben zur Implementierung der API-Calls aus #427 (closed)
Relevante Links und Bemerkungen
- SDK-Konzept im Wiki
- inoffizielles Python-SDK
- Die kommunale Dienstleister Komm.One in BaWü hätte Interesse am JAVA SDK und würde auch aktiv mit programmieren wollen. Kontakt kann über die FITKO hergestellt werden.
- Gedanken zu Dependency-Verwaltung -> Maven
- Wollen wir Requests via Proxy supporten? ->
Für das MVP keine explizite Anforderung, kann aber ggf. sinnvoll sein oder später Anforderung werden. Via Docker simulierbar.neues AC - Codebeispiele: https://git.fitko.de/fit-connect/examples/
Akzeptanzkriterien
- Die folgenden auf Basis des SDK-Grundgerüst vorgegebenen Funktionalitäten
(außer API-Calls!)sind vollständig implementiert.-
Sender + Subscriber: Abruf von OAuth-Tokens -
Sender: Verschlüsselung von Fachdaten (JSON, XML) mittels JWE -
Sender: Verschlüsselung von Anhängen (Binärdaten) mittels JWE -
Sender: Korrekte Erzeugung eines Metadatensatzes inkl. Hashwerte -
Subscriber: Entschlüsselung von Fachdaten (JSON oder XML) mittels JWE -
Subscriber: Entschlüsselung von Anhängen (Binärdaten) mittels JWE -
Subscriber: Prüfung der Hashwerte aus dem Metadaensatz.
-
-
Alle Vorgaben aus den Vorgaben für kryptographische Verfahren werden eingehalten. -
Für die implementierten Funktionalitäten des SDK liegen Unit Tests vor. -
Es gibt einen Integrationstest, der das SDK verwendet. -> https://git.fitko.de/fit-connect/zustelldienst-api-tests/ -
Die Library ist thread-safe. -
Die Library kann auch hinter einem HTTP-Proxy genutzt werden. -
Es werden nach Möglichkeit keine neuen Libraries im Vergleich zu den Implementierungen im Zustelldienst eingebunden. -
Die Codebeispiele in der Dokumentation nutzen des SDK-> #557
Durchführungsplan (vom Entwickler bei Storyplanung auszufüllen)
-
Lesen der Wiki-Seite, Klärung von offenen Fragen -
Im Wiki Zusammentragen, was es aktuell für diese Programmiersprache schon an Code gibt (Tests, Tools, Beispiele, Zustelldienst-Code, etc.) -
... -
... -
Definition of Done wurde geprüft
Edited by Martin Vogel