Beziehungen
Beziehungen zeigen, wie Architekturelemente kommunizieren, voneinander abhängen oder miteinander interagieren. Sie sind ein entscheidender Teil der Architekturdokumentation.
Beziehungen erstellen
Drag and Drop
- Fahren Sie mit der Maus über das Quellelement
- Klicken und ziehen Sie vom Verbindungspunkt (kleiner Kreis)
- Lassen Sie auf dem Zielelement los
- Eine Beziehung wird automatisch erstellt
Kontextmenü
- Rechtsklick auf das Quellelement
- Wählen Sie "Beziehung erstellen"
- Klicken Sie auf das Zielelement
Beziehungseigenschaften
Label
Das Label beschreibt, was die Beziehung darstellt:
- "Sendet Bestellungen an"
- "Liest Daten von"
- "Authentifiziert sich über"
- "Wird bereitgestellt auf"
Best Practices:
- Verwenden Sie aktive Sprache
- Seien Sie spezifisch darüber, was fließt
- Halten Sie es prägnant
Technologie
Optional können Sie die Technologie oder das Protokoll angeben:
- "REST/HTTPS"
- "gRPC"
- "AMQP"
- "SQL/TCP"
- "WebSocket"
Richtung
Beziehungen haben eine Richtung, die durch den Pfeil angezeigt wird:
- Unidirektional: Einweg-Kommunikation (am häufigsten)
- Bidirektional: Zwei-Wege-Kommunikation
Beziehungen stylen
Linienstil
- Durchgezogen: Direkte Abhängigkeit oder Kommunikation
- Gestrichelt: Optionale oder asynchrone Kommunikation
Farbe
Verwenden Sie Farben, um Beziehungen zu kategorisieren:
- Blau für Datenfluss
- Grün für Erfolgspfade
- Rot für Fehlerbehandlung
- Grau für optional
Gebogen vs Gerade
- Gebogene Linien: Besser für komplexe Diagramme, vermeiden Überlappungen
- Gerade Linien: Sauberer für einfache Diagramme
Häufige Muster
Request-Response
Web-App --"Macht API-Aufrufe [REST/HTTPS]"--> API-Server
Event-Driven
Bestellservice --"Veröffentlicht Events [AMQP]"--> Nachrichtenwarteschlange
Benachrichtigungsservice <--"Abonniert Events [AMQP]"-- Nachrichtenwarteschlange
Datenbankzugriff
API-Server --"Liest/schreibt Daten [SQL/TCP]"--> Datenbank
Externe API
Zahlungsservice --"Verarbeitet Zahlungen [REST/HTTPS]"--> Stripe API
Ebenenübergreifende Beziehungen
Beziehungen können verschiedene Container überspannen, wenn Sie auf Komponentenebene betrachten:
- Komponenten können sich mit Containern in anderen Teilen des Systems verbinden
- Dies hilft, das vollständige Bild zu zeigen, ohne die aktuelle Ansicht zu verlassen
Tipps
Nicht über-verbinden
Nicht jede mögliche Beziehung muss gezeigt werden. Konzentrieren Sie sich auf:
- Primäre Datenflüsse
- Wichtige Abhängigkeiten
- Nicht offensichtliche Verbindungen
Verwandte Beziehungen gruppieren
Wenn mehrere Elemente auf die gleiche Weise kommunizieren, erwägen Sie:
- Einen Vermittler zu verwenden (API Gateway, Nachrichtenwarteschlange)
- Mit Overlays zu gruppieren
Labels lesbar halten
- Positionieren Sie Labels, um Überlappungen zu vermeiden
- Verwenden Sie kürzere Labels für sauberere Diagramme
- Fügen Sie Details stattdessen in Elementbeschreibungen hinzu