This section describes how to start and stop external servers, and how to get information about current server activity. You can do so in either of two ways: interactively through the Management Portal, or programmatically through the ObjectScript $system.external interface.
Controlling Connections with the Management Portal
InterSystems External Server definitions are named collections of configuration settings. These settings are used to construct the commands that start External Server processes. For example, definitions include information such as TCP/IP address, port number, and paths to classes or executables.
The Management Portal provides a page that displays the current status of all defined external servers. It allows you to start or stop external servers, and to control and monitor gateway connections. All of the definitions listed below contain default settings configured during installation. See “Customizing External Server Definitions” for information on modifying these definitions or creating new ones.
By default, all servers require a gateway resourceOpens in a new tab, which allows them be used with a passphrase secured connection. Unless security is disabled, you must have USE privileges on the appropriate resource to start, stop, and connect to a Gateway. Java, .NET, and Python servers require the %Gateway_Object resource. See the InterSystems Authorization Guide for more information.
External Servers page (System Administration > Configuration > Connectivity)
To open the InterSystems External Servers page, go to System Administration > Configuration > Connectivity > External Servers. In this illustration, all of the names start with %, indicating that they are the default external server configurations (defined automatically during InterSystems IRIS installation). The %Java Server, %Python Server, an %DotNet Server definitions are the default external server configurations for the languages covered in this document. The other listed definitions are specialized configurations used internally by other InterSystems interfaces (as described elsewhere in relevant documentation).
Do not confuse %Java Server with %JDBC Server, which is a specialized configuration used internally by other InterSystems interfaces.
Each line in the display identifies one unique configuration, and allows you to monitor and control the external server that uses it. For example, this line lists the default .NET external server configuration:
This line contains the following fields:
Name is the unique identifier for this collection of configuration settings. The configuration it represents can only be used by one external server instance at a time. Clicking on the Name field brings up an editor that allows you to change most values of the configuration (see “Customizing External Server Definitions” for details).
Type indicates which language the external server will run under.
Port displays the port number used by this configuration. You can specify the same port number in two different definitions, but they can’t be used at the same time. No two gateway connections can use the same port simultaneously.
Activity Log is a link to a page that displays detailed information about all instances of this server definition that have been started or stopped since InterSystems IRIS was started. See “Displaying the Activity Log” in the next section for information about how to display the same information using the $system.external interface.
Start/Stop allows you to control whether or not the external server process is currently running. Start will create an instance of the external server and display detailed startup information about the process. If the external server is already running, a Stop command will be displayed instead. See “Starting and Stopping External Servers” in the next section for information about how to do this with the $system.external interface.
Delete allows you to delete the external server definition. See “Creating and Modifying External Server Definitions” for information about how to create and delete definitions with the $system.external interface.
The default configurations will be sufficient for most purposes, but it may be useful to define additional configurations in some cases. See “Customizing External Server Definitions” for information on how to modify an existing definition or create a new one.