Skip to content
Snippets Groups Projects
README.md 3.14 KiB
Newer Older
  • Learn to ignore specific revisions
  • # 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).
    
    Jörg Bolay's avatar
    Jörg Bolay committed