WebSockets in Intrexx einrichten

Topic erstellen

Topics werden im Modul "Applikationen" erstellt.

Schritt-für-Schritt

Um ein Topic in einer Applikation zu erstellen, gehen Sie wie folgt vor:

  1. Öffnen Sie die Eigenschaften der Applikation, in der Sie das Topic erstellen möchten. Die Eigenschaften erreichen Sie über den Applikationsknoten.

  2. Wechseln Sie auf den Reiter "Topics".

  3. Klicken Sie auf das - Icon.

    Im rechten Bereich des Dialogs werden die Felder "GUID des Topics" und "Name des Topics" angezeigt:

    Name

    Beschreibung

    GUID des Topics

    Im rechten Bereich des Dialogs wird die GUID des Topics angezeigt. Die GUID wird automatisch von Intrexx vergeben und kann nicht geändert werden. Die GUID benötigen Sie, wenn Sie einer Groovy-Aktion oder in JavaScript Bezug auf dieses Topic nehmen möchten.

    Name des Topics

    Vergeben Sie einen Namen für das Topic. Der Name des Topics muss eindeutig sein. Er darf in Intrexx nur einmal vorkommen. Den Namen des Topics können Sie verwenden, wenn Sie in WebSocket-Aktionen Bezug auf das Topic nehmen möchten.

  4. (Optional) Klicken Sie erneut auf das - Icon, um weitere Topics hinzuzufügen.

    Sie können beliebig viele Topics einer Applikation hinzufügen.
    Sie haben ein Topic in einer Applikation erstellt.

JavaScript für WebSockets in Applikation erfassen

Schritt-für-Schritt

Um JavaScript für WebSockets in einer Applikation zu erfassen, gehen Sie wie folgt vor:

  1. Starten Sie die Applikation, in der Sie die WebSocket-Nachricht anzeigen möchten
    (die Applikation, die das Topic enthält, das Sie mit JavaScript subskribieren möchten).

  2. Starten Sie den JavaScript-Editor (Strg + F12).

  3. Erfassen Sie den JavaScript-Code.
    a. Erfassen Sie die Funktion zum Subskribieren der Nachricht und für die Anzeige der Nachricht im Portal.
    b. (Optional) Erfassen Sie die Funktion, um das Subskribieren zu beenden.

  4. Legen Sie ein (JavaScript) Event fest, mit dem
    a. das Subskribieren startet (z.B. onload, click)
    b.(Optional) das Subskribieren beendet wird.

WebSocket-Aktion einrichten

WebSocket-Aktionen werden im Modul "Prozesse" eingerichtet.

Voraussetzung/Vorarbeiten

Fügen Sie wie gewohnt dem entsprechenden Prozess eine WebSocket-Aktion hinzu.

Schritt-für-Schritt

Um eine WebSocket-Aktion einzurichten, gehen Sie wie folgt vor:

  1. Öffnen Sie die Eigenschaften der WebSocket-Aktion.

  2. Erfassen Sie einen Titel und (optional) eine Beschreibung für die WebSocket-Aktion.

  3. Wechseln Sie in die Registerkarte "Topic".

  4. Wählen Sie in der Auswahlliste "Applikation" die Applikation aus, an die die Nachricht gesendet werden soll.

  5. Wählen Sie in der Auswahlliste "Topic" das Topic aus, an das die Nachricht gesendet werden soll.
    Das Topic kann vom Browser subskribiert werden. Vergleichen Sie hierzu die Abschnitte 2. Topic erstellen und 3. Anzeige in Portal festlegen.

    Hinweis Beim Einsatz einer WebSocket-Aktion genügt der Name eines Topics, um auf dieses Bezug zu nehmen .

    Beim Einsatz einer Groovy-Aktion benötigen Sie die GUID des Topics, um auf dieses Bezug zu nehmen.

    Nachricht nach dem Transaktions-Commit senden

    Über dieses Kontrollkästchen können Steuern, ob die Nachricht nach erfolgreich abgeschlossener Transaktion (Commit) versendet werden soll oder auch wenn es für die Transaktion einen Rollback gab.

  6. Wechseln Sie in die Registerkarte "Inhalt".

  7. Erfassen Sie den Inhalt der Nachricht.
    Hierbei stehen Ihnen die folgenden Möglichkeiten zur Verfügung:

    Name

    Beschreibung

    Statischer Text

    Hier können Sie einen statischen Text erfassen. Dies bietet sich dann an, wenn die Nachricht immer gleich bleibt, sie also beispielsweise sich ändernden Nachrichtenbestandteile benötigen.

    Text aus Datenfeld

    Für die dynamische Anzeige von Text kann hier ein Datenfeld ausgewählt werden, das die Werte liefert. Diese Option steht nur zur Verfügung, wenn Sie einen Datengruppen-Ereignisbehandler im Prozess verwenden.

    Text aus Systemwert

    Hier können Sie Texte aus Systemwerten generieren. Sie können beispielsweise Benutzerwerte oder Variablen aus dem Verarbeitungskontext übernehmen.

    Aus Velocity generieren

    Hier können Sie Texte über ein Velocity-Script erzeugen.

  8. Wechseln Sie in die Registerkarte "Ausnahmebehandlung".

    Legen Sie fest, wie Intrexx sich verhalten soll, wenn kein (Nachrichten-)Inhalt für die weitere Verarbeitung gefunden werden kann.
    Hierbei stehen Ihnen die folgenden Möglichkeiten zur Verfügung:

    Name

    Beschreibung

    Transaktion abbrechen (Standard)

    Wenn Sie diese Option wählen, wird die Transaktion abgebrochen. D.h. der Prozess wird nicht weiter ausgeführt, wenn die WebSocket-Aktion keinen Inhalt enthält. Es wird in diesem Fall keine Nachricht an das zugeordnete Topic übergeben.

    Transaktion fortsetzen

    Wenn Sie diese Option wählen, wird die Transaktion fortgesetzt.
    Wählen Sie diese Option, wenn nachgelagerte Prozess-Aktionen auch dann weiter ausgeführt werden sollen, wenn die WebSocket-Aktion keinen Inhalt enthält.
    Diese Option kann auch dann sinnvoll sein, wenn der Datensatz gespeichert werden soll, der das Ereignis auslöst.

  9. Klicken Sie auf "OK".

    Sie haben eine WebSocket-Aktion eingerichtet.

Groovy-Aktion einrichten

Groovy-Aktionen werden im Modul "Prozesse" eingerichtet.

Voraussetzung/Vorarbeiten

Fügen Sie wie gewohnt dem entsprechenden Prozess eine Groovy-Aktion hinzu.

Schritt-für-Schritt

Um eine Groovy-Aktion mit WebSocket-Funktionalität einzurichten, gehen Sie wie folgt vor:

  1. Öffnen Sie die Eigenschaften der Groovy-Aktion.

  2. Wechseln Sie in die Registerkarte "Skript".

  3. Klicken Sie auf "Intrexx Editor öffnen".
    Der Intrexx Editor wird gestartet.

  4. Erfassen Sie das Groovy-Script.
    Mit dem Groovy-Script erstellen Sie die WebSocket-Nachricht und die Verknüpfung mit dem Topic.

  5. Importieren Sie Groovy-Skript-Klasse:

    de.uplanet.lucy.server.websocket.groovy.GroovyWebSocketTopic
    
  6. Verwenden Sie folgende Funktion für das Versenden von Text-Nachrichten:

    GroovyWebSocketTopic.sendTextMessage
    GroovyWebSocketTopic.sendJsonMessage