WebSocket Server
Der FME Flow WebSocket Server ermöglicht eine schnelle Echtzeitkommunikation mit Client-Webanwendungen, die auf WebSocket-unterstützten Browsern ausgeführt werden.
Sie können auf folgende Weise mit dem WebSocket-Server kommunizieren:
Benachrichtigungs-Modus
WebSocket wird in Automatisierungen (bevorzugt) und Notification Service Publisher und Subscriber unterstützt. Verwenden Sie den Benachrichtigungs-Modus für die WebSocket-Kommunikation mit geringem Volumen oder wenn Ihre Anwendung zusätzliche Flexibilität erfordert.
Im folgenden Beispiel empfängt ein WebSocket-Trigger einen benannten WebSocket-Stream und sendet ihn an eine Aktion Workspace ausführen, die einen FME-Workspace mit einem Transformer WebSocketReceiver ausführt.
In diesem Beispiel sendet ein FME-Workspace, der mit einem Transformer WebSocketSender ausgestattet ist, einen benannten WebSocket-Stream an einen FME Flow Topic-Trigger. Eine externe WebSocket-Aktion empfängt den Nachrichtenstrom aus dem Thema und sendet ihn an einen von WebSocket unterstützten Client.
Nachrichten-Streaming-Modus
Im Nachrichten-Streaming-Modus empfängt ein FME-Workspace, der sowohl mit WebSocketReceiver- als auch mit WebSocketSender-Transformern ausgestattet ist, Nachrichten über den WebSocket-Server, verarbeitet einen Job und sendet den resultierenden WebSocket-Nachrichtenstrom über den WebSocket-Server an einen Client. Dieser Modus funktioniert gut, wenn Sie eine FME Engine so einrichten können, dass ein Workspace fortlaufend ausgeführt wird und Nachrichten empfangen und gesendet werden, bis Sie ihn explizit abbrechen.
Hybrid-Modus
Sie können Elemente des Benachrichtigungs-Modus und des Nachrichten-Streaming-Modus je nach Ihren Anforderungen kombinieren. Beispielsweise können Sie mit einem WebSocket-Trigger WebSocket-Nachrichtenströme empfangen und an eine Aktion Workspace ausführen senden, während Ihr FME-Workspace WebSocket-Nachrichtenströme direkt über den WebSocket-Server sendet. Dieses Design ist nützlich, wenn es nur wenige Anfragen gibt, Sie aber trotzdem möchten, dass der Server ohne den Overhead der Abfrage durch den Client antwortet, oder Sie keine kontinuierlich laufende FME Engine für den Job verwenden möchten.