Server Connections
Overview
ParaView3 introduces new capabilities for making-and-breaking client/server connections. In particular, it improves the user experience by making it possible to provide a graphical user interface for server connections, versus the command-line interface of previous ParaView versions. See Server Connection Dialog for a graphical user interface design. This document covers the requirements and implementation details for making connections.
Connection Types
ParaView must support several different types of connection between client and server:
- Builtin - the client process "connects" to its own "builtin" PV server.
- Remote/Forward/No Startup - the client connects to an already-running PV server.
- Remote/Forward/With Startup - the client starts a PV server, then connects to it.
- Remote/Reverse/No Startup - the client waits for a PV server to connect to it.
- Remote/Reverse/With Startup - the client starts a PV server, then waits for the server to connect to it.
Networking Protocols
Connections between client and server are normally made using unencrypted TCP/IP networking, but provisions should be made for other possibilities - in particular, Secure Connections via SSL.
Startup Mechanisms
When the client "starts" a server for either forward or reverse connections, it must be able to handle a wide variety of situations:
- Starting the server directly on the local host.
- Starting the server via a user-configurable script on the local host.
- Starting the server directly on a remote host via ssh.
- Starting the server via a user-configurable script on a remote host, via ssh.
... as a generalization, we likely want to allow the user to specify any arbitrary command-line for starting a server.
Authentication
When starting the server on remote hosts via ssh, it will be necessary for the user to provide authentication first. Using standard ssh command-line prompts to do this would be impractical, since it would not integrate well with the ParaView client's graphical user interface. There are a number of workarounds:
- Posix ssh clients
- OpenSSH - the SSH_ASKPASS environment variable can be used to specify an executable that will be used to prompt the user for a password. Although this executable is a separate process, its look-and-feel can match that of the ParaView client.
- Windows ssh clients - we assume that they can be started via a command-line, and that they will provide a GUI prompt, but that needs to be confirmed.
- Putty - opens a window and prompts the user for a password using a terminal-style interface.
- F-Secure -