[JSup] can be executed in various ways: * '''Stand-alone''': a single instance of the program provides both the graphic user interface (both desktop and web), the communication with devices (PLC, controllers, ...) and runs all the logic. It's the default running mode for a [JSup application]. * '''Server-only''': an instance of the program that only provides the communication with devices (PLC, controller, ...), runs the [JSup domains#Shared domain|Shared domain] logic, accepts connection from clients. Furthermore it provides the web interface. The server instances can be executed as a '''Windows service''', in that way it will run regardless of the logged on user (if any). * '''Client''': such JSup instance must be connected to (and depends on, for the [JSup domains#Shared domain|Shared domain]) a JSup server instance. The server instance can be run on the same PC or in a remote one; the connection is made via [wikipedia:TCP/IP], and the used bandwidth is very low. The ''Client'' instance provides the ''desktop'' graphic user interface (web interface is provided by the ''Server'' instance) and runs the [JSup domains#User domain|User domain] logic. See [JSup Command line options#Run JSup as a client].