Skip to content
Snippets Groups Projects
Commit 2d2f1aa0 authored by Jan Zickermann's avatar Jan Zickermann
Browse files

OZG-4097 readme: Add sequence diagrams for send and receive

parent f04dfcc7
No related branches found
No related tags found
No related merge requests found
# OSIv2-Postfach-Anbindung für OZG-Cloud-Nachrichten
Anbindung des OSIv2-Postfachs für die OZG-Cloud.
Senden und Empfangen von Postfach-Nachrichten über die OSI-Postfach-Facade 2.0 (OPF).
## Senden einer Postfach-Nachricht
```mermaid
%% Senden einer Nachricht
sequenceDiagram
participant N as nachrichten-manager
participant A as file-manager
participant B as Client
participant C as OPF
activate A
activate C
activate B
activate N
N->>B: OsiPostfachRemoteService::sendMessage
Note left of B: (1) Hochladen der Anhänge
B->>A: GRPC findBinaryFilesMetaData
A-->>B: {Liste an Anhang-Metadaten}
loop Für jeden Anhang
B->>A: GRPC GetBinaryFileContent
loop Für jeden Daten-Chunk
B->>C: POST /Quarantine/v1/Upload/Chunked (chunk)
C-->>B:
end
A-->>B:
B->>C: POST /Quarantine/v1/Upload/Chunked (empty chunk)
C-->>B:
end
deactivate A
Note left of B: (2) Warten auf Prüfung der hochgeladenen Anhänge
loop Regelmäßiges Polling bis alle Anhänge geprüft sind
loop Für alle Anhänge
B->>C: GET /Quarantine/v1/Upload/{guid}
C-->>B:
end
end
Note left of B: (3) Nachricht senden
B->>C: POST /MessageExchange/v1/Send/{mailboxId}
C-->>B:
deactivate C
B-->>N:
deactivate B
deactivate N
```
## Empfangen von Postfach-Nachrichten
```mermaid
%% Empfangen einer Nachricht
sequenceDiagram
participant N as nachrichten-manager
participant A as file-manager
participant B as Client
participant C as OPF
activate A
activate C
activate B
activate N
N->>B: OsiPostfachRemoteService::receiveMessages
B->>C: GET /MessageExchange/v1/Receive
C-->>B: {Liste an Nachrichten-Kennungen (max 100)}
loop Für jede Nachrichten-Kennung (messageId)
Note left of B: (1) Nachricht abrufen
B->>C: GET /MessageExchange/v1/Receive/{messageId}
C-->>B: {Nachricht mit Anhang-Metadaten}
Note left of B: (2) Herunterladen der Anhänge
loop Für jeden Anhang
B->>C: GET /MessageExchange/v1/Receive/{messageId}/Attachment/{attachmentId}
B->>A: GRPC UploadBinaryFileAsStream
A-->>B:
C-->>B:
end
end
deactivate A
deactivate C
B->>N: {Stream an Postfach-Nachrichten}
deactivate B
deactivate N
```
Der nachrichten-manager erhält von osiv2-postfach einen Stream von Postfach-Nachrichten. Nach der erfolgreichen Verarbeitung einer Nachricht sollte er `OsiPostfachRemoteService::deleteMessage` aufrufen:
```mermaid
%% Empfangen einer Nachricht
sequenceDiagram
participant N as nachrichten-manager
participant B as Client
participant C as OPF
activate C
activate B
activate N
N->>B: OsiPostfachRemoteService::deleteMessage
B->>C: GET /MessageExchange/v1/Delete/{messageId}
C->>B:
deactivate C
B-->>N:
deactivate B
deactivate N
```
## Client-Authentifizierung beim Servicekonto
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment