WebSocket Adapter
Documentation status: architecture — see Maturity and evidence.
Purpose
A WebSocket adapter provides a long-lived bidirectional communication channel for interactive events, notifications, commands, or streaming application interactions.
Architecture
client
<-> WebSocket adapter
<-> message/channel boundary
<-> Runtime or application capability
Use WebSocket when
- the client requires server-initiated notifications;
- a long-lived interactive session is more appropriate than repeated HTTP polling;
- events or commands need low-overhead bidirectional delivery.
For ordinary document/page delivery or simple request/response APIs, HTTP remains the simpler boundary.
Design rules
- define an application message envelope instead of exposing raw Runtime objects;
- define authentication before accepting application messages;
- bound inbound/outbound buffering and define backpressure behavior;
- use explicit keepalive, reconnect, and session invalidation rules;
- assume a reconnect may require application/session state reconstruction;
- propagate correlation identifiers across message handling.
Status
Exact paths, channel names, configuration tags, and internal service classes are deployment/module-specific and are not stable public API.