Web API Service
The Web API Service is the HTTPS entry point for web-based clients connecting to a Deephaven cluster. It serves the Web IDE and hosts the connection.json document that clients use to discover backend services.
Note
The Web API Service proxies Web IDE connections to the authentication server, controller, and dispatcher. This proxy role is being phased out as Core+ clients increasingly connect directly to backend services.
Services provided
- Web IDE delivery: Serves the static assets and JavaScript application code for the Web IDE to browsers.
- Service discovery: Hosts
connection.json, which both web and programmatic Core+ clients retrieve at startup to locate backend services (typically via Envoy in production deployments). - WebSocket proxy for the Web IDE: The Web IDE does not connect directly to the authentication server, controller, or dispatcher. Instead, it opens a WebSocket connection to the Web API Service, which manages connections to those backend services on the browser's behalf — gRPC to the authentication server and controller, and Comm to the dispatcher:
- Each connected browser has its own private authentication server session.
- Connected browsers share a controller connection, but each browser client maintains its own state.
- The Web API Service forwards Code Studio creation requests to the dispatcher.
- Client Update Service: Hosts the Client Update Service (CUS), which serves JARs and configuration files to the legacy Swing Launcher. This keeps desktop clients synchronized with the server installation and is only required for legacy Swing deployments.
Client connectivity
Different client types use the Web API Service differently:
| Client | What it uses Web API Service for |
|---|---|
| Web IDE | WebSocket connection proxying authentication server, controller, and dispatcher; static asset delivery |
| Core+ programmatic clients | HTTPS retrieval of connection.json at startup only; then connect directly to the authentication server, controller, and workers |
| Legacy Swing Launcher | HTTPS download of JARs and configuration from the Client Update Service |
Criticality
The Web API Service is a critical component. If it is unavailable:
- Browser users cannot access the Web IDE.
- Legacy Swing clients cannot update their local installation.
Programmatic Core+ clients that have already retrieved connection.json and established direct service connections are not affected by Web API Service downtime.
Process details
| Detail | Value |
|---|---|
| Process name (native) | web_api_service |
| Application log | /var/log/deephaven/web_api_service/WebServer.log.current |
| Kubernetes workload name | webapi |