From 6d2cae81c09783269fca4a7c955e5f511a7c5f57 Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Tue, 22 Oct 2024 17:40:41 +0200 Subject: [PATCH] OZG-6891 Add Readme sequence diagrams --- README.md | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 126 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1a39d05..69597c4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,128 @@ -# XTA Client Bibliothek +# XTA-Client + +Ein Client zum Senden und Empfangen von XTA Nachrichten. + + + +Der Client verwendet *XTA 2 Version 3.1* mit [XTA-Modul-Webservice-Version](https://www.xoev.de/osci-xta/standard-xta-2/xta-versionsuebersicht-23036) `2.1.1`. +Er wird als Maven-Artefakt `xta-client-lib` bereitgestellt und kann in Java-Anwendungen eingebunden werden. + +## Senden einer Nachricht +Zum Senden einer Nachricht konfiguriert der Nutzer einen neuen XTA-Client. +```mermaid +%% Versand einer Nachricht + sequenceDiagram + participant A as Nutzer + participant B as XTA-Client + participant C as XTA-Server + Note left of A: (1) XTA-Client erzeugen + Note left of A: (2) Nachricht erzeugen + Note left of A: (3) Nachricht senden + A->>B: sendMessage + activate A + activate B + B->>C: checkAccountActive + activate C + C-->>B: + deactivate C + B->>C: lookupService + activate C + C-->>B: + deactivate C + B->>C: createMessageID + activate C + C-->>B: + deactivate C + B->>C: sendMessage + activate C + deactivate C + B->>C: getTransportReport + activate C + C-->>B: + deactivate C + Note left of A: (4) Nachrichtenstatus prüfen + B-->>A: + deactivate B + deactivate A +``` + +<small>* XTA-Server wird auch oft als Nachrichtenbroker oder Nachrichtenvermittler bezeichnet.</small> + +**Beispielcode:** + +```java +// (1) XTA-Client erzeugen +var client = XtaClient.from(config); +// (2) Nachricht erzeugen +... +``` + + +## Empfangen von Nachrichten +Zum Empfangen von Nachrichten konfiguriert der Nutzer einen neuen XTA-Client mit allen seinen Leser-Kennungen. + +```mermaid +%% Abfrage einer Nachricht + sequenceDiagram + participant A as Nutzer + participant D as Verarbeiter + participant B as XTA-Client + participant C as XTA-Server + Note left of A: (1) XTA-Client erzeugen + Note left of A: (2) Nachrichten abholen + A->>B: fetchMessages + + activate A + activate B + B->>C: getStatusList + activate C + C-->>B: + deactivate C + B->>C: getTransportReport + activate C + C-->>B: + deactivate C + B->>A: + deactivate B + Note left of B: (4) Nachricht abholen + A->>B: getMessage + activate B + B->>C: getMessage + activate C + C-->>B: + deactivate C + B->>C: getTransportReport + activate C + C-->>B: + deactivate C + B->>A: + deactivate B + Note left of D: ...Nachricht verarbeiten... + Note left of B: (5) Nachricht schließen + A->>B: close + activate B + B->>C: close + activate C + C-->>B: + deactivate C + B->>A: + deactivate B + deactivate A +``` + + +**Beispielcode:** + +```java +// (1) XTA-Client erzeugen +var client = XtaClient.from(config); +// (2) Nachricht erzeugen +... +``` + +## Referenzen + +- Dieser XTA Client basiert auf dem [XTA Client Beispielcode für XTA 2 Version 3 vom 21.07.2021](https://www.xoev.de/sixcms/media.php/13/XTA_Client_Version_3_20210721.zip) auffindbar unter [Hilfsmittel](https://www.xoev.de/osci-xta/standard-xta-2/xta-hilfsmittel-23081). +- Die [XTA 2 Version 3.1 Spezifikation](file:///home/janz/Downloads/XTA_2_Version_3.1_Spezifikation_30112021-2.pdf) ist auffindbar unter [XTA 2 Version 3.1](https://www.xoev.de/osci-xta/standard-xta-2/xta-versionsuebersicht/xta-2-version-3-23038). -Mit dieser Bibliothek soll anhand des Kosit Beispielprojektes eine einfache Anbindung an die XTA API ermöglicht werden. -das ist ein toller gitea push mirror test \ No newline at end of file -- GitLab