Distributed NetBeans for OpenVMS

Version 5.5 Field Test 3 Installation Guide and Release Notes

May 2008

HP-AXPVMS-IDESERVER-V0505--1.PCSI$COMPRESSED (IDE Server Kit on OpenVMS Alpha)

HP-I64VMS-IDESERVER-V0505--1.PCSI$COMPRESSED (IDE Server Kit on OpenVMS I64)

distnbopenvms55_v55_100.nbm (Distributed NetBeans Client Module for NetBeans 5.5.1)

Contents

» 1 Overview of Distributed NetBeans
» New Features in Version 5.5

» 2 Before Installing Distributed NetBeans

» Hardware Prerequisites - Client

» Hardware Prerequisites - IDE Server

» Software Prerequisites - Client

» Software Prerequisites - IDE Server on OpenVMS Alpha

» Software Prerequisites - IDE Server on OpenVMS I64

» 3 Downloading and Installing Distributed NetBeans

» Downloading the NetBeans Client and IDE Server Kits

» Installing the Client Kit

» Installing the IDE Server Kit

» 4 After Installing Distributed NetBeans

» Importing Settings from NetBeans 5.5

» IDE Server Startup and Shutdown

» Accounts, Quotas, and System Parameters

» Logical Names

» 5 Release Notes

» 6 Known Problems and Restrictions in the IDE Server and Distributed NetBeans Client

» 7 Corrected Problems in the IDE Server and Distributed NetBeans Client

» 8 Software Support

1 Overview of Distributed NetBeans

Distributed NetBeans comprises two parts:

· Distributed NetBeans Client for OpenVMS, which is a plug-in for NetBeans 5.5.1 running on your desktop. You install the NetBeans IDE (from NetBeans.org) and the Distributed NetBeans Client for OpenVMS on your desktop system.

· IDE Server for OpenVMS, which runs on OpenVMS and provides remote services for the client plug-in. You install the IDE Server on your OpenVMS system. (You do not need to install the NetBeans for OpenVMS IDE or any additional plug-in modules on your OpenVMS system.)

Communication between the client system and the remote server system is encrypted using SSL.

How to use Distributed NetBeans is explained in the online help that is available through the NetBeans JavaHelp system when you install the NetBeans client module.

This help is fully integrated with the standard NetBeans JavaHelp and may be opened from the Help menu. (The HelpSet option in the Help menu lists installed module help files.)

JavaHelp texts may be copied and pasted into an external text editor or printed. URL links provided in JavaHelp can be copied and pasted into a browser's address field.

New Features in Version 5.5

· You are prompted for parameters before remote execution of DCL command procedures,

MMS files, Bash shell scripts, and EXE files.

· You can now re-use folders that contain an NBPROJECT subdirectory. The project that

previously referenced the NBPROJECT directory must be closed and removed from the

IDE open project cache.

New Features in Version 5.5 FT3

· NetBeans 5.5.1 is now supported.

· FT3 includes support for debugging non-Java applications (C/C++, Fortran, Pascal, COBOL, and Basic) running on the OpenVMS machine remotely from inside the NetBeans IDE.

· New features have been added to the Distributed NetBeans Client and to the IDE Server to provide better security for passwords.

· SMB file shares are now supported for the use with remote projects. The supported SMB products on the OpenVMS machine are Advanced Server and HP OpenVMS Common Internet File System (CIFS) Version 1.0, based on Samba V3.0.24. Earlier versions of Samba are not supported. The share on the remote OpenVMS machine must be a STREAM_LF share.

· Remote Execute – Foreign Command Support. The use of a foreign command is now supported for remote program execution.

· Remote Execute – Prompt for Runtime Arguments. You can have the IDE prompt for runtime arguments for remote execution of .EXE files.

· 3GL file properties support has been expanded. 3GL settings are now supported on a per file, per project, and global basis.

New Features in Version 5.5 FT2

· Sun’s C/C++ module can now be used with Distributed NetBeans. Individual file remote compilation is missing, but all other remote file options are available.

· 3GL and remote Ant compilation settings have been expanded to include "per project" settings. See the Distributed NetBeans JavaHelp for more information.

· The latest OpenVMS Java 1.5 kits are now supported.

· Improvements have been made to the Distributed menu items on the Project right-mouse click menu.

· The Distributed NetBeans plug-in now works with Mac OS.

· Problem with the Distributed NetBeans plug-in on Linux have been fixed.

· Extra source directories in a project are now supported during initial remote project conversion.

1 Before Installing Distributed NetBeans

Hardware Prerequisites - Client

For NetBeans IDE desktop system hardware and software prerequisites, see the Readme file at http://www.netbeans.org/community/releases/55/1/relnotes.html#SystemRequirements.

Hardware Prerequisites - IDE Server

The Distributed NetBeans IDE Server requires the following:

» 500MHz minimum Alpha or I64 processor

» 256MB of memory

» 2000 blocks minimum free disk space on your system disk

» ODS-5 or ODS-2 disk (ODS-5 is required to use the Java SDK with Distributed NetBeans)

Software Prerequisites - Client

» NetBeans 5.5.1 (from NetBeans.org) running on your desktop system

» Java Standard Edition v 1.4.2-07 or higher (Note: JSE v 1.6-04 is not supported.)
(from http://developers.sun.com/downloads/ running on your desktop system)

» (Optional) X Windows Server (such as eXcursion) running on your desktop system

Note Distributed NetBeans 5.0 FT2 for OpenVMS was the last release on which NetBeans 5.0 is supported.

An X Windows Server is required to run remote Java applications that use Swing, and to use some of the features of the Distributed NetBeans Client (such as "Use XTerm for Compile" and "Use XTerm for Execution").

Software Prerequisites - IDE Server on OpenVMS Alpha

» OpenVMS Alpha Version 8.2 or higher
» Software Development Kit (SDK) v 1.4.2-7 (or higher) for OpenVMS Alpha

for the Java Platform

» All required ECOs for the Java SDK

» Required Debug ECOs (See Remote 3GL Debug Notes)

» HP TCP/IP Services for OpenVMS Version 5.4 ECO 4 or higher

» FTP Service in TCP/IP Services for OpenVMS enabled and started (see FTP Notes)

» (Optional) BASIC, C/C++, FORTRAN, COBOL, or PASCAL compiler for OpenVMS

Software Prerequisites - IDE Server on OpenVMS I64

» OpenVMS I64 Version 8.2 or higher
» Software Development Kit (SDK) v 1.4.2-7 (or higher) for OpenVMS I64

for the Java Platform

» All required ECOs for the Java SDK

» Required Debug ECOs (See Remote 3GL Debug Notes)

» HP TCP/IP Services for OpenVMS Version 5.5 or higher

» FTP Service in TCP/IP Services for OpenVMS enabled and started (see FTP Notes)

» (Optional) BASIC, C/C++, FORTRAN, COBOL, or PASCAL compiler for OpenVMS

FTP Notes

Before you can use the FTP as your remote file access provider in Distributed NetBeans, the TCP/IP FTP Service must be enabled and started. Enter the following command:

$ @SYS$MANAGER:TCPIP$CONFIG

select 3 - Server components

select 5 - FTP

select 2 - Enable and Start

See HP TCP/IP Services for OpenVMS Installation and Configuration for more information.

Remote 3GL Debug Notes

For Remote 3GL Debug support, the following kits are required:

For OpenVMS Alpha:

· VMS82A_DEBUG-V0200 or later (for V8.2)

· VMS83A_DEBUG-V0100 or later (for V8.3)

· ACRTL Facility Patch Kit VMS83A_ACRTL-v0400 (for V8.3)

For OpenVMS I64:

· VMS821I_DEBUG-V0300 or later (for V8.2)

· VMS83I_DEBUG-V0100 or later (for V8.3)

· Version 8.3-1H1 does not require an ECO kit.

2 Downloading and Installing Distributed NetBeans

Downloading the NetBeans Client and IDE Server Kits

Point your browser to the Distributed NetBeans for OpenVMS download page.

Save the IDE Server file HP-xxxVMS-IDESERVER-V0505--1.PCSI_xxxEXE (where xxx is AXP or I64) to any location accessible to the OpenVMS system on which you will install the IDE Server. If applicable, copy or FTP the file(s) to the OpenVMS system.

Expand the IDE Server file by entering:

$ RUN HP-AXPVMS-IDESERVER-V0505--1.PCSI_AXPEXE ! for OpenVMS Alpha

$ RUN HP-I64VMS-IDESERVER-V0505--1.PCSI_I64EXE ! for OpenVMS I64

The file expands to HP-xxxVMS-IDESERVER-V0505--1.PCSI$COMPRESSED.

Save the NetBeans client to your desktop system:

distnbopenvms55_v55_100.nbm for NetBeans 5.5.1.

Note: The downloaded .nbm file must have an extension of nbm. The case must match exactly. The downloaded file should be named distnbopenvms55_v55_100.nbm.

Installing the NetBeans Client Kit

You must have NetBeans 5.5.1 (from NetBeans.org) installed on your desktop system before you install the Distributed NetBeans for OpenVMS client.

To install the Distributed NetBeans client, perform the following steps.

1. Save the client module to a folder on your desktop system. (The client module is available from the Distributed NetBeans download page on the Distributed NetBeans web site.)

2. Start NetBeans on your desktop system.

3. Open the NetBeans Update Center wizard (choose Update Center from the Tools menu).

4. Select the Install Manually Downloaded Modules option.

5. Follow the instructions on the wizard for completing the installation.

6. After clicking Finish, if you are prompted to restart NetBeans, you must choose Restart the IDE to complete installation of the module.

The Distributed NetBeans client module contains support for the following features on OpenVMS.

• Distributed OpenVMS File Access

• Distributed BASIC Support for OpenVMS

• Distributed C/C++ Support for OpenVMS

• Distributed COBOL Support for OpenVMS

• Distributed FORTRAN Support for OpenVMS

• Distributed PASCAL Support for OpenVMS

• Distributed DCL Support for OpenVMS

• EDTkeypad Support (disabled by default)

To enable EDTkeypad support, from the Tools menu, select Options, the press the keymap button on the left. Select edtkeypad from the Profile: drop down menu. The Distributed Client can be disabled or uninstalled, or both, from the Module Manager on the Tools menu.

Installing the IDE Server Kit

$ PRODUCT INSTALL IDESERVER

Install the server .PCSI$COMPRESSED file by entering the following command from the SYSTEM account or another privileged account. (Do not expand the .PCSI$COMPRESSED file before installing it; PCSI installs from the compressed kit directly.)

$ PRODUCT INSTALL IDESERVER

The IDE Server is installed into SYS$COMMON by default. To specify a different installation location, use the /DESTINATION qualifier on the PRODUCT INSTALL command line, or set the PCSI$DESTINATION logical name to a different location.

Following is a sample installation of the IDE Server on OpenVMS Alpha.

$ PRODUCT INSTALL IDESERVER

The following product has been selected:

HP AXPVMS IDESERVER V5.5 Layered Product

Do you want to continue? [YES]

Configuration phase starting ...

You will be asked to choose options, if any, for each selected product and for

any products that may be installed to satisfy software dependency requirements.

HP AXPVMS IDESERVER V5.5: OpenVMS IDE Server

The IDE Server includes the JAR files for Jakarta Ant.

You must agree to the terms of the Ant license agreement

in order to use the IDE Server.

Press return to display the license

/*

* Apache License

* Version 2.0, January 2004

* http://www.apache.org/licenses/

* ...

I have read and accept the above license.

[Y = I Accept, N = I Reject]: y

* This product does not have any configuration options.

The installation will now continue without requesting further user input.

Execution phase starting ...

The following product will be installed to destination:

HP AXPVMS IDESERVER V5.5 DISK$ALPHASYS:[VMS$COMMON.]

The following product will be removed from destination:

HP AXPVMS IDESERVER T5.5-FT3 DISK$ALPHASYS:[VMS$COMMON.]

Portion done: 0%...10%...20%...40%...50%...60%...70%...80%...90%

%PCSI-I-PRCOUTPUT, output from subprocess follows ...

%INSTALL-W-NOPREV, no previous entry exists - new entry created for JESSE$DKA0:[SYS0.SYSCOMMON.][IDE$SERVER.SYSLIB]IDE$VMS_AUTH_MOD.EXE;1

%INSTALL-W-NOPREV, no previous entry exists - new entry created for JESSE$DKA0:[SYS0.SYSCOMMON.][IDE$SERVER.SYSLIB]IDE$DBGLIBSHR.EXE;1

Portion done: 100%

The following product has been installed:

HP AXPVMS IDESERVER V5.5 Layered Product

The following product has been removed:

HP AXPVMS IDESERVER T5.5-FT3 Layered Product

HP AXPVMS IDESERVER V5.5: OpenVMS IDE Server

Insert the following lines in SYS$MANAGER:SYSTARTUP_VMS.COM:

@SYS$STARTUP:IDE$STARTUP.COM

Insert the following lines in SYS$MANAGER:SYSHUTDWN.COM:

@SYS$STARTUP:IDE$SHUTDOWN.COM

ACCOUNT QUOTAS

The IDE Server requires the modifications to system parameters as follows:

System parameter CHANNELCNT must be greater than or equal to 2000

USER ACCOUNTS that will use Distributed NetBeans will require quotas as

follows in order for the IDE$USER server to start:

WSEXTENT greater than or equal to 30000

JTQUOTA greater than or equal to 60000

PGFLQUO greater than or equal to 500000

Higher values of other quotas may be required depending on the commands you

will be executing in your IDE$USER server.

KEYSTORE CONFIGURATION

The keystore for SSL uses a default account and password. If you would

like to modify these values, please see the Release Notes for information

on changing the keystore values.

$

3 After Installing Distributed NetBeans

Importing Settings from NetBeans 5.0 to 5.5

When you start NetBeans 5.5 for the first time, NetBeans may prompt you about whether to import user settings from NetBeans 5.0. If you answer yes, and the Distributed NetBeans V5.0 FT1 or FT2 kit was already installed in NetBeans 5.0, the import wizard will not copy the Distributed NetBeans module files into the NetBeans 5.5 new user directory. You will see errors when you attempt to open Distributed NetBeans projects.

To correct this problem, install the Distributed NetBeans V5.5 client module into NetBeans 5.5.

IDE Server Startup and Shutdown

After you install the IDE Server, add the following line to SYS$STARTUP:SYSTARTUP_VMS.COM:

$ @SYS$STARTUP:IDE$STARTUP.COM

Then add the following line to SYS$MANAGER:SYSHUTDWN.COM:

$ @SYS$STARTUP:IDE$SHUTDOWN.COM

Important: Execute the IDE$STARTUP.COM command procedure only from the SYSTEM account.

Accounts, Quotas, and System Parameters

Following are the quotas for the remote user account. (This is not the IDE$SERVER account, but the account that you specify when you create a remote server, called IDE$USER, from within the Distributed NetBeans client.)

Important: If you have DISK QUOTAS enabled on the disk on which IDE Server is installed, you must grant the IDE$SERVER account a disk quota of at least 200,000 blocks. In addition, you must grant each USER ACCOUNT that will be used by Distributed NetBeans a disk quota of at least 100,000 blocks on the disk on which the IDE Server is installed.

Default Quotas assigned when OpenVMS account is created.

Minimum Minimum value required for Distributed NetBeans to run.

Recommended Recommended value for optimal performance of Distributed NetBeans.

User Account Quota Default Minimum Recommended

WSDEF 2000 2000 2000

WSEXTENT * 16,384 30,000 30,000

FILLM 100 100 500

BIOLM 150 150 512

DIOLM 150 150 512

ASTLM 250 250 300

TQELM 10 10 400

BYTLM 64,000 64,000 64,000

JTQUOTA * 4096 60,000 60,000

PGFLQUO * 50,000 500,000 500,000

* Manually increase these quotas.

The IDE Server installation creates an account IDE$SERVER and a rights identifier (IDE$SERVERRI). The IDE$SERVER account is created with the following user quotas:

PRIVILEGES=TMPMBX,NETMBX,PRMMBX)

ASTLM=300

BIOLM=1024

BYTLM=2000000

DIOLM=1024

ENQLM=2000

FILLM=512

JTQUOTA=60000

PGFLQUOTA=1500000

PRCLM=10

TQELM=400

WSEXTENT=524288 (Be sure SYSGEN parameter WSMAX is large enough to
allow this)

WSDEF=2000

Logical Names

Following are the logical names that can be used to control the IDE Server.

• IDE$ALLOW_EXTAUTH – This logical causes the IDE Server to ignore the ExtAuth flag and try local authentication using your password from the SYSUAF file.

• IDE$JDK_VERSION – This logical forces a particular version of the Java SDK to be used by specifying the version number. For example:

$ DEFINE/SYSTEM IDE$JDK_VERSION 150 ! Use Java 1.5.0

Note: You must restart the IDE Server after changing the IDE$JDK_VERSION logical name.

• IDE$HOST_IPNAME – If you have multiple Ethernet cards on your OpenVMS system, this logical allows you to choose which card the IDE Server uses for registration in the Java RMI registry. Set the logical in the SYSTEM table to the IP address or IP hostname of the card you choose. If you have multiple cards and you do not set this logical, the results are unpredictable.

For example:

$ DEFINE/SYSTEM IDE$HOST_IPNAME bugsy.malone.gangsters.com

• IDE$RMI_PORT – This logical defines the RMI port to be used. By default, 1099 is used. If this logical is defined, the value of the logical will be used as the port number. For example, if you enter the following command, the IDE Server will use port 999 for RMI communications:

$ DEFINE IDE$RMI_PORT 999

Note: If you want to redefine the IDE$RMI_PORT logical, it needs to be done in the SYSTEM logical name table.

• IDE$VERBOSE_LOG – This logical turns on verbose logging in the IDE Server.

The IDE Server startup procedure creates the following logicals in the system logical name table.

Logical Name | Location | Description
IDE$ROOT |  | Top level IDE Server directory (PCSI installation destination)
IDE$ANT_HOME | IDE$ROOT:[IDE$SERVER.ANT] | Distributed Ant files. The use of this logical name is deprecated. Please use IDE$JDK_VERSION to set the Java version to be used by the IDE Server.
IDE$ANT_ROOT | IDE$ROOT:[IDE$SERVER.ANT.] | Root directory of Ant files
IDE$CMS | IDE$ROOT:[IDE$SERVER.CMS] | Distributed CMS support files
IDE$COM | IDE$ROOT:[IDE$SERVER.COM] | Command procedures
IDE$DOC | IDE$ROOT:[IDE$SERVER.DOC] | Documentation
IDE$JARS | IDE$ROOT:[IDE$SERVER.JARS] | JAR files for the IDE Server
IDE$JARS_ROOT | IDE$ROOT:[IDE$SERVER.JARS.] | Rooted logical for JAR files
IDE$JAVA_ROOT | Varies | Root of Java files
IDE$LIB | IDE$ROOT:[IDE$SERVER.SYSLIB] | Shareable images used by the IDE Server
IDE$LOGS | IDE$ROOT:[IDE$SERVER.LOGS] | Logs from the IDE Server processes
IDE$SCRATCH | IDE$ROOT:[IDE$SERVER.SCRATCH] | Scratch directory
IDE$STORES | IDE$ROOT:[IDE$SERVER.STORES] | Keystore and truststore files
IDE$SYSTEM | SYS$SYSTEM | System files

The IDE$SERVER process writes log files into the IDE$LOGS directory.

4 Release Notes

· Version Renumbered

Distributed NetBeans 5.0 FT2 for OpenVMS was the last release on which NetBeans 5.0 was supported. The current release, Version 5.5, supports NetBeans 5.5 and 5.5.1 only. Therefore, Distributed NetBeans has been renumbered to Version 5.5.

· Support for NetBeans 5.0 Discontinued

Distributed NetBeans 5.0 FT2 for OpenVMS was the last release in which NetBeans 5.0 was supported.

· Supported SMB Products

The supported SMB products on the OpenVMS machine are Advanced Server, and HP OpenVMS Common Internet File System (CIFS) Version 1.0, based on Samba V3.0.24. Earlier versions of Samba are not supported. The share on the remote OpenVMS machine must be a STREAM_LF share.

· File Extension of .nbm Must Be Lowercase

The downloaded .nbm file must have an extension of nbm, and the case must match exactly. If the extension (nbm) is not in lowercase, the module will not install correctly and NetBeans will get into an installation/update loop.

· Interactions with the NetBeans C/C++ Development Pack

The NetBeans C/C++ Development Pack can be installed with the Distributed NetBeans client plug-in. The NetBeans C/C++ Development Pack takes precedence over the Distributed

NetBeans C/C++/Fortran/Bash support when both plug-ins are installed.

Therefore, the following remote actions are disabled for C/C++/Fortran/Bash files when the NetBeans C/C++ Development Pack is installed: Remote Compile, Remote Execute (from Bash file), Remote Properties. Remote Execute for DCL command procedures and Ant scripts can be used instead of Remote Compile in these cases.

· Conversion of Distributed NetBeans Version 3.6 Projects

Distributed NetBeans Version 5.5 does not support the conversion of projects from Distributed NetBeans Version 3.6.

When you are creating a new remote project in Distributed NetBeans Version 5.5, add the remote filesystems from your Distributed NetBeans Version 3.6 project into your remote project in Distributed NetBeans Version 5.5.

· Java Source Version on Desktop and IDE Server Must Be Compatible

When you convert a local Java project to a remote project, Distributed NetBeans checks that the JVM version used on your desktop system and IDE Server are compatible. You cannot convert your project to a remote project until the Java project and IDE Server are using compatible JVMs.

To change the Source Level for your project, select the project tab. Right click on your project and select Properties. Set the proper source level from the Source Level dropdown menu. The Java source level should be less than or equal to the version of Java with which you are running the IDE Server on OpenVMS.

· EDT Keypad Disabled by Default

To set the keypad on your keyboard to adopt EDT keypad behavior, you must manually enable it. From the Tools menu, select Options, the press the keymap button on the left. Select edtkeypad from the Profile: drop down menu.

· OpenVMS Directory and Filenames Containing Spaces Are Not Supported

Do not choose directory names containing spaces on OpenVMS. Spaces in directory names are not supported in Ant on OpenVMS. (Distributed NetBeans uses Ant to build projects.)

· Default Java SDK Version

The IDE Server requires Java SDK version 1.4.2-7 (or higher) on OpenVMS Alpha and I64. By default, the IDE Server assumes that Java v 1.4.2 is installed on the system, and the server attempts to use that version of the SDK.

To force the server to use a particular version of the SDK, define the logical IDE$JDK_VERSION to a three-digit version number of the SDK you want to use (for example, 150).

For example, entering the following command causes the IDE Server to be started using the SDK (in this case, v 1.5.0) contained in the tree whose root is SYS$COMMON:[JAVA$150]:

$ DEFINE IDE$JDK_VERSION 150

User processes that are started by the IDE Server also use this logical to choose the Java version. You must restart the IDE Server after changing the IDE$JDK_VERSION logical name.

· Define IDE$ALLOW_EXTAUTH Logical for Users with ExtAuth Flag Set in SYSUAF Record

The IDE Server does not support external authentication. If you have the ExtAuth flag set in your SYSUAF user record, you must define the system logical name IDE$ALLOW_EXTAUTH to cause the IDE Server to ignore the ExtAuth flag and try local authentication using your password from the SYSUAF file (these are usually synchronized with Advanced Server).

If the logical is defined (with any value) then the check for the ExtAuth flag is disabled. If the logical is not defined, then the SYSUAF record is checked for the ExtAuth flag and the Remote Server connection will fail from within the Distributed NetBeans client.

HP recommends that you define the logical in the SYSTEM table to ensure that it is visible to the IDE Server process.

· JSSE Keystore and Truststore

The IDE server uses JSSE (Java Secure Socket Extension) for secure network connections. Configuring the JSSE’s Keystore and Truststore for the IDE server requires running IDE$STORES:IDE$CONFIG.EXE. It will encrypt the user provided information and store it as IDE$STORES:IDE$KEYDATA.

The IDE server is shipped with a preconfigured IDE$STORES:IDE$KEYDATA which assumes IDE$STORES:IDE$_KEYSTORE and IDE$STORES:IDE$_TRUSTSTORE as the Keystore and Truststore, respectively.

IDE$STORES:IDE$_KEYSTORE and IDE$STORES:IDE$_TRUSTSTORE were created with JDK’s keytool and preconfigured to use with the IDE server. The password to access them is _keystore.

· IDE$SERVER and IDE$USER Processes on OpenVMS

At system startup, the SYS$STARTUP:IDE$STARTUP.COM command procedure creates a process named IDE$SERVER, which runs in the IDE$SERVER account. The IDE$SERVER process starts a subprocess named IDE$RMIREG for handling RMI. Both of these processes are detached processes.

When you create a remote server inside NetBeans running on your desktop, the NetBeans client contacts the IDE$SERVER process running on the OpenVMS machine. The IDE$SERVER process authenticates the user account login information you supplied, and creates a detached process running in your user account on the OpenVMS machine. This process is named IDE$USER_xxxxxx, where xxxxxx is a unique identifier. The IDE$USER_xxxxx process is then fed DCL commands by the NetBeans client running on your desktop.

Because the IDE$USER process is running detached, it may not obtain all of the symbol and logical name definitions that you defined in your SYLOGIN.COM and LOGIN.COM files. A detached process has an F$MODE() of OTHER. SYLOGIN.COM has sections for each different process mode, and a GOTO at the beginning of the file. When a process has an F$MODE() of OTHER, the GOTO may bypass some important DCL commands. This is also a common DCL programming practice in LOGIN.COM.

HP recommends that you examine your SYLOGIN.COM and LOGIN.COM procedures to make sure that detached processes obtain the proper symbol and logical name definitions.

· Remote Command Execution and Privileges

Remote commands are not executed in a process that has the AUTHORIZED privilege mask from the remote user server.

The IDE$SERVER starts a detached user server process logged in to the account you specify when you create the remote server in NetBeans on your Distributed NetBeans desktop machine. This detached process spawns subprocesses to execute commands (at your control) on the OpenVMS machine. The spawned subprocess is given only the privileges that were enabled when the user server spawned the subprocess.

If you need extra privileges to execute commands in a DCL file, you must enable them in your user server process. You can do this by modifying your LOGIN.COM file to turn on the required privileges. You can restrict this action by turning on privileges only if your process name begins with IDE$USER_ or by checking the f$mode() of the process. (All Distributed NetBeans servers are detached, so the f$mode() == "OTHER".)

· Using Ant Outside of Distributed NetBeans

Apache Ant version 1.6.5 is included with the IDE Server. This version of Ant has been patched to work on OpenVMS.

The logical IDE$ANT_HOME points to the root directory of the Ant files for OpenVMS. This directory contains the command procedure IDE_ANT.COM. If you define a symbol that points to this command procedure, you can issue Ant commands to DCL. For example:

$ @sys$manager:java$142_setup fast

$ ant :== @ide$ant_home:ide_ant.com

$ ant "-version"

Apache Ant version 1.6.5 compiled on July 14 2006

$

· Multiple Ethernet Cards on IDE Server

If you have multiple Ethernet cards on your OpenVMS system, you must choose which card the IDE Server uses for registration in the Java RMI registry. Set the IDE$HOST_IPNAME logical in the SYSTEM table to the IP address or IP hostname of the card you choose. For example:

$ DEFINE/SYSTEM IDE$HOST_IPNAME bugsy.malone.gangsters.com

If you have multiple cards and you do not set this logical, the results are unpredictable.

· Multiple Ethernet Cards on Desktop Machine

Having more than one IP address or hostname on your desktop machine can cause the connection to the IDE Server to fail. To solve this problem, choose a host name or IP address for your client machine and set the RMI hostname property on the command line used to launch NetBeans as follows:

-J-Djava.rmi.server.hostname=<host name or ip address>

· Client Tested on Windows Only

The Distributed NetBeans client has been tested on Windows only. However, HP believes that the client software will run on other desktop platforms, such as MAC-OS, Linux, and HP-UX.

· C/C++ Error Marking

Errors in C/C++ source files are marked with red underlining and a red x in the margin. These error markings are cleared only if you modify the line they mark.

· Process Termination from Runtime Tab

Explicitly terminating a process from the NetBeans Runtime tab sometimes does not stop the corresponding remote process on the server.

· Open Files in Editor Delays Subsequent Startup

If you exit NetBeans on your desktop with several files from the remote OpenVMS system open in the editor, your startup time when you next invoke NetBeans will be longer than usual. At startup, NetBeans restores the state of the previous editing session, which includes opening all of the files that were open when you last exited NetBeans.

5 Known Problems and Restrictions in the IDE Server and Distributed NetBeans Client

Following are the known problems and restrictions in Distributed NetBeans Version 5.5.

· CMS support is not provided.

· Error message “package com.sun.crypto.provider does not exist.”

If you see this message on OpenVMS I64 or OpenVMS Alpha running Java 1.4.2-23 or higher, rename the jar files in IDE$JAVA_ROOT[JRE.LIB.EXT] to all lowercase. This is a known OpenVMS Java problem.

· Importing settings from NetBeans 5.0 to 5.5 causes errors until client module is installed.

When you start NetBeans 5.5 for the first time, NetBeans may prompt you about whether to import user settings from NetBeans 5.0. If you answer yes, and the Distributed NetBeans V5.0 FT1 or FT2 kit was already installed in NetBeans 5.0, the import wizard will not copy the Distributed NetBeans module files into the NetBeans 5.5 new user directory. You will see errors when you attempt to open Distributed NetBeans projects.

To correct this problem, install the Distributed NetBeans V5.5 client module into NetBeans 5.5.

· A remote project cannot be created in a directory containing an NBPROJECT folder.

Distributed NetBeans will not allow a directory containing this folder to be chosen as the remote FTP root of a remote project. When this occurs, the Next and Finish buttons will be grayed out in the wizard until a suitable remote root directory is selected. An error message is returned that explains why the remote project cannot be created.

· The SYS$LOGIN directory cannot be chosen as the remote root for a new remote project. An error message is returned that explains why the remote project cannot be created.

· In the JSP Sample project, after conversion to remote, the project does not build. The error "Use a fileset to copy directories" is returned from Ant.

· EXE and OBJ files are non-editable in the IDE, but they are not marked as non-editable.

· If you have DISK QUOTAS enabled on the disk on which IDE Server is installed, you must grant the IDE$SERVER account a DISK QUOTA of at least 200,000 blocks.

· Router using NAT times out.

If the Distributed NetBeans client initiates the connection to the remote server via a router that uses Network Address Translation (NAT), the connection attempt will time out. This happens because the Java RMI implementation obtains the virtual IP address (private IP address) of the client from the IP packet body, and not from the actual address in the IP packet header.

The workaround for this problem is as follows:

Set the java system property and make sure the <server_host_name> is correctly resolvable on both sides of the router. If you do not set this property, or the related java.rmi.server.useLocalHostname property, the RMI server will by default pick up the server machine's IP address (inside the NAT), which is meaningless to the client.

java.rmi.server.hostname="<server_host_name>"

See the Java RMI FAQ at http://java.sun.com/j2se/1.4/docs/guide/rmi/faq.html#nethostname

This means that you should set this property on both the PC and the OpenVMS machine. On the PC, you can modify the shortcut you use to start NetBeans to add (on the java command line):

-Djava.rmi.server.hostname="<your_PC_IP_address>"

On the OpenVMS machine, set the logical IDE$HOST_IPNAME as follows, and restart the IDE Server by entering:

$ define/system IDE$HOST_IPNAME your_openvms_ip_address

$ set def sys$manager

$ @sys$startup:ide$shutdown

$ @sys$startup:ide$startup

See the Sun/Java RMI FAQ http://java.sun.com/j2se/1.4.2/docs/guide/rmi/faq.html

6 Corrected Problems in the IDE Server and Distributed NetBeans Clien t

· Converting a Java project to a remote project or creating a remote 3GL project on an SMB share works properly.

· Ant targets beginning with a hyphen are not displayed, making it easier to navigate the list of targets for large projects.

· The IDE$STARTUP and IDE$SHUTDON command procedures are generated using the logical device name association with the installation directory, instead of the physical device name. This allows, for example, for the system disk to be moved to another logical drive without affecting the installation.

· A wait message is displayed during project conversion.

· Debug wait status is displayed in the status area when the IDE is waiting for a response from the remote Debug Server.

· The Remote Project Properties action is displayed if you right click on the Remote Java Project Node.

· In FT1, after conversion of a J2SE project to a remote project, the source directories, project meta data directories, and default compile time/runtime library jar files were mapped to their remote counterparts. However, if you added any additional libraries (jars/folder) later, they were not automatically mapped. To work around this problem, you needed to modify the build.xml file and override Java class related properties such as javac.classpath.

· The Remote IDE Server diagnostics had unprintable chars after "default device is..."

· During the 3GL project creation, the Finish button was enabled before the steps were finished.

· The FTP port forwarding property was read only from the 3GL remote project property.

· The last line of output from the user server process was not always flushed to stdout.

· 3GL language settings were not able to be changed globally.

· The conflict resolution box did not resize well when using Java v 1.5-04.

· If the user password changes for the remote IDE Server, the FTP file system no longer gets repeated errors.

· XML files are now properly handled in remote file systems.

· Large amounts of output from the process on the OpenVMS machine would cause the IDE to hang.

· Failed login attempts now trigger intrusion detection on the IDE Server.

· The IDE Server can now be installed on ODS-2 disks if necessary. This is not the recommended installation device, however.

· FTP file system operations output can now be seen on the Runtime tab under FTP Filesystems.

· MMS "Run Remote Target" is working again.

· The paste action did not show up from the 3GL project if the file is being copied from another 3GL project.

7 Software Support

On OpenVMS Alpha:

Support for Distributed NetBeans is provided by HP under OpenVMS Alpha service agreements through standard support channels.

Download is an official distribution mechanism for Distributed NetBeans, including updates in addition to the OpenVMS Alpha media kit.

Source code kits are provided in the spirit of the open source community, but are not supported by HP.

On OpenVMS I64:

Support for Distributed NetBeans is provided by HP under OpenVMS I64 Foundation Operating Environment (FOE) service agreements through standard support channels.

Download is a courtesy distribution mechanism for Distributed NetBeans. Kits or updates other than security patch kits obtained via download are unsupported.

The OpenVMS I64 Operating Environments media kit is the official distribution mechanism for Distributed NetBeans. Supported kits and updates must be obtained from this mechanism or from software product update services.

A variety of service options are available from HP Support. For more information, contact your local HP account representative or distributor. Information is also available from Software Support Services.

General NetBeans support is provided by the NetBeans user group at http://blog.gmane.org/gmane.comp.java.ide.netbeans.user. You can informally exchange information with other users in the OpenVMS newsgroup comp.os.vms.

To contact the NetBeans for OpenVMS engineering team, please send mail to NetBeans@hp.com.