ActivityPub Server entwickeln: Referenz-Implementierung (Hands-on)
Lernziele
- Actor-Dokumente und Kernendpunkte implementieren (konzeptionell + praktisch)
- Inbox-Verarbeitung als Pipeline bauen (Parse, Validate, Store, Apply)
- Outbox und Zustellung über Queue realisieren
- Dedupe und Idempotenz durchgängig anwenden
- Interop-Probleme systematisch lokalisieren (Payload, Zustellung, State)
Inhalte und Module
- Projektstruktur: Komponenten, Adapter, Storage, Worker
- Actor-Endpunkte: Representation, Public Key Konzept (konzeptionell)
- Collections: followers/following, outbox pages
- Inbox: Validierung, Dedupe, Side Effects, Persistenz
- Outbox: Activity erzeugen, persistieren, Zustellung an Remote Inboxes
- Delivery Worker: Queue, Retries, Backoff, Dead-letter
- Interop: Payload-Normalisierung, tolerante Parser, Feature Flags
Agenda (UE-Plan)
Tag 1
- UE1: Referenzarchitektur und Projekt-Setup
- UE2: Domänenmodell und Storage-Schema
- UE3: Actor-Dokument erzeugen
- UE4: Collections Grundgerüst
- UE5: Outbox: lokale Create Activities
- UE6: Inbox: Parser und Persistenz
- UE7: Dedupe-Basics
- UE8: Review und Refactoring
Tag 2
- UE1: Follow/Accept State Machine
- UE2: followers/following Collections
- UE3: Threading (Replies) Grundlogik
- UE4: Update/Delete Handling
- UE5: Side Effects und Idempotenz
- UE6: Indexing und Query Patterns
- UE7: Teststrategie (Unit/Integration)
- UE8: Review
Tag 3
- UE1: Delivery Architektur (Queue/Worker)
- UE2: Target Inbox Resolution (konzeptionell)
- UE3: Retry/Backoff Implementationsmuster
- UE4: Rate Limiting und Backpressure
- UE5: Dead-letter und Replay
- UE6: Observability Hooks
- UE7: Lasttests (klein) und Metriken
- UE8: Review
Tag 4
- UE1: Interop Debugging Prozess
- UE2: Toleranzregeln und Normalisierung
- UE3: Feature Flags für Verhalten
- UE4: Moderationshooks (Vorbereitung auf S7)
- UE5: Security Hooks (Vorbereitung auf S6)
- UE6: Stabilisierung und Doku
- UE7: Mini-Abnahme gegen Checkliste
- UE8: Architektur-Readme finalisieren
Praxisübungen Schritt für Schritt
Übung A: Inbox-Verarbeitungspipeline
- Eingangspunkt definieren: /inbox POST akzeptiert JSON.
- Parser bauen: JSON lesen, Pflichtfelder prüfen (id/type/actor/object).
- Validation Layer: Typenwhitelist, Größenlimits, schematische Checks.
- Dedupe Check: activity.id gegen Inbox-Store.
- Persistenz: Activity speichern, Object optional entkoppelt speichern.
- Apply Layer: Side Effects (z. B. Follow-Status, Timeline Eintrag) nur einmal.
- Response: idempotent 2xx, Fehler differenziert (4xx vs. 5xx).
- Logging: correlationId, remoteActorId, activityId.
Übung B: Outbox → Delivery Queue
- Outbox-POST nimmt lokale Aktion (Create/Follow) an.
- Activity erzeugen: neue activity.id, object.id (falls neu).
- Persistieren: Activity und Object in Storage.
- Targets bestimmen: Empfänger aus to/cc ableiten, remote inbox URLs auflösen (konzeptionell).
- Jobs erzeugen: pro Target ein Delivery-Job.
- Worker verarbeitet Jobs: send, retry, mark delivered.
- Fehlerhandling: 429 Backoff, 5xx retry, 4xx fail-fast mit Klassifikation.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | • Backend-Entwicklung (mid/senior) • Plattformteams, die föderierte Funktionen bauen • Architekt:innen, die Implementation und Betrieb zusammenführen |
| Vorausetzungen: | • Solide Erfahrung in einer Server-Technologie (beliebig) • Grundverständnis von Queues und Persistenz |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
