Seminar ActivityPub Server entwickeln: Referenz-Implementierung (Hands-on)

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

  1. Eingangspunkt definieren: /inbox POST akzeptiert JSON.
  2. Parser bauen: JSON lesen, Pflichtfelder prüfen (id/type/actor/object).
  3. Validation Layer: Typenwhitelist, Größenlimits, schematische Checks.
  4. Dedupe Check: activity.id gegen Inbox-Store.
  5. Persistenz: Activity speichern, Object optional entkoppelt speichern.
  6. Apply Layer: Side Effects (z. B. Follow-Status, Timeline Eintrag) nur einmal.
  7. Response: idempotent 2xx, Fehler differenziert (4xx vs. 5xx).
  8. Logging: correlationId, remoteActorId, activityId.

Übung B: Outbox → Delivery Queue

  1. Outbox-POST nimmt lokale Aktion (Create/Follow) an.
  2. Activity erzeugen: neue activity.id, object.id (falls neu).
  3. Persistieren: Activity und Object in Storage.
  4. Targets bestimmen: Empfänger aus to/cc ableiten, remote inbox URLs auflösen (konzeptionell).
  5. Jobs erzeugen: pro Target ein Delivery-Job.
  6. Worker verarbeitet Jobs: send, retry, mark delivered.
  7. Fehlerhandling: 429 Backoff, 5xx retry, 4xx fail-fast mit Klassifikation.

Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner

Seminar und Anbieter vergleichen

Öffentliche Schulung

Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.

Mehr dazu...

Inhausschulung

Diese Seminarform bietet sich für Unternehmen an, welche gleiche mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können in Deutsch - bei Firmenseminaren ist auch Englisch möglich gebucht werden.

Mehr dazu...

Webinar

Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht Reisen können und über das Internet an einer Schulung teilnehmen möchten.

Mehr dazu...

Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner

Seminardetails

   
Dauer: 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr
Preis: Öffentlich und Webinar: CHF 2.396 zzgl. MwSt.
Inhaus: CHF 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: Basel, Bern, Luzern, Sankt Gallen, Winterthur, Zürich
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 +41 (800) 225127

Seminartermine

Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.

Seminar Startdatum Enddatum Ort Dauer
Bern 4 Tage
Luzern 4 Tage
Inhaus / Firmenseminar 4 Tage
Sankt Gallen 4 Tage
Basel 4 Tage
Winterthur 4 Tage
Zürich 4 Tage
Stream live 4 Tage
Stream gespeichert 4 Tage
Stream gespeichert 4 Tage
Luzern 4 Tage
Bern 4 Tage
Inhaus / Firmenseminar 4 Tage
Sankt Gallen 4 Tage
Basel 4 Tage
Winterthur 4 Tage
Zürich 4 Tage
Stream live 4 Tage
Stream live 4 Tage
Stream gespeichert 4 Tage
Luzern 4 Tage
Bern 4 Tage
Inhaus / Firmenseminar 4 Tage
Sankt Gallen 4 Tage
Basel 4 Tage
Winterthur 4 Tage
Zürich 4 Tage
Zürich 4 Tage
Stream live 4 Tage
Stream gespeichert 4 Tage
Luzern 4 Tage
Bern 4 Tage
Inhaus / Firmenseminar 4 Tage
Sankt Gallen 4 Tage
Basel 4 Tage
Winterthur 4 Tage
Winterthur 4 Tage
Zürich 4 Tage
Stream live 4 Tage
Stream gespeichert 4 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.ch All rights reserved.  | Kontakt | Impressum | Nach oben