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

OZG-6891 Add Readme sequence diagrams

parent 350a79ad
No related branches found
No related tags found
No related merge requests found
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment