isCOBOL IDE : Working with Remote Projects
Working with Remote Projects
The isCOBOL IDE allows you to compile and run programs remotely. This feature is particularly useful when you have to interact with specific software that might not be installed on your local PC while it’s available on a dedicated server machine.
The remote compiling and run of programs is performed through the isCOBOL Server depicted in the following figure.
isCOBOL Server as IDE Remote Server
The isCOBOL Server can work as a remote compiler and application server for the IDE.
Start the isCOBOL Server with the following command on the remote server where you wish to compile and run your programs:
iscserver -ide [-hostname host] [-port port]
Hostname and port can also be specified in the configuration by setting the following properties:
The following command starts the isCOBOL Server as IDE Remote Server on the local host on the default port 10999.
iscserver -ide
A correct startup will produce an output similar to this:
IDE Remote Server started and listening on port 10999
Connecting the IDE to the isCOBOL Server
The isCOBOL IDE includes a Servers view where available isCOBOL Servers can be defined.
Click the New Remote server button to define a new isCOBOL Server.
Fill the fields as follows:
Name
A logical name to identify the server. You can write free text here.
Host Name
The host name or IP address where the isCOBOL Server is started and listening.
Port Number
The port where the isCOBOL Server is started and listening.
After clicking OK, the IDE tries to connect to the isCOBOL Server, then it adds the server to the list. Depending on the connection result, the server might be listed as available or not available. The following screenshot depicts a situation where two servers were defined, but only the first one is available as the connection to the second one failed:
Setting Compiler and Runtime options on the IDE Remote Server
When the isCOBOL Server is started from the first time, before an IDE connects to it, it includes the following default modes:
Compiler
Release
-smat option
Debug
-smat and -dx options
Runtime
Run
No specific option or configuration
After defining the isCOBOL Server in the IDE, you can edit its compiler and runtime configuration, by adding new modes or by modifying the existing ones. To do it, select the desired server in the Servers view click the Modify Properties button. Unless iscobol.as.authentication * is set to 0 in the server configuration, you will be prompted for administrator credentials, that are user "admin" and password "admin" (lowercase) by default.
To review the current compiler and runtime modes available on the server, select the desired server in the Servers view click the Show Properties button.
The good practice is to have a project manager that is responsible for setting compiler and runtime modes on the server and standard developers that use them without applying any change.
Binding a Project to an IDE Remote Server
To bind a project to a specific IDE Remote Server, right click on the project name in the isCOBOL Explorer and select isCOBOL Remote Servers from the pop-up menu, then select the desired server.
After the project has been bound, the compiler and runtime modes are increased. In addition to the local modes that were set in the project, you will find new modes whose name starts with "@<servername>", that are the modes available on the IDE Remote Server.
For more information about compiler and runtime modes, see Compile and Runtime options.
Compile, Run and Debug Remotely
To work remotely, right click on the project name in the isCOBOL Explorer and select Change Current Mode from the pop-up menu, then select one of the modes inherited from the IDE Remote Server bound to the project.
After it, the commands Compile, Run As isCOBOL Application and Debug As isCOBOL Application work remotely through the IDE Remote Server.
When you use a remote compiler mode, the IDE sends the source code and copybooks to the IDE Remote Server. The IDE Remote Server compiles the source code according to the options set server side and keeps the class on the server.
When you use a remote runtime mode, the IDE starts a thin client: the program is executed server side and the local PC shows the program user interface. In debug mode, the graphical Debugger is started on the local PC and it allows you to debug the program that is running on the server.
Note - The -ide option runs the ApplicationServer with iscobol.as.multitasking=1 to separate the process from other clients. Therefore, when running a program remotely through the IDE Remote server, the following libraries will not return valid information: A$LIST_USERS, A$LIST_LOCKS, A$USERINFO, and A$SEND_MESSAGE.