How to Set Up File Transfer Mode for the Vault

This document will show you how to set up the Vault file transfer mode. This vault administration documentation is for UNIX only.
First of all, a short explanation about the different Vault file transfer mode available and theirs benefits. Three file transfer modes are available for the Vault: CORBA, HTTP and NFS.

CORBA file transfer mode

This mode enables vault client applications (for instance: CATIAV5/CATIAV4, ENOVIA desktop and server) to access vault file by CORBA protocol to transfer data. This is the default mode, no particular needs are required, very simple to setup. Client applications do not need to access the Vault directories (high security level).

HTTP file transfer mode (read operations only)

This mode enables vault client applications (for instance: CATIAV5/CATIAV4, ENOVIA desktop and server) to access vault file by HTTP protocol to transfer data for all read operations. Write operations are done by CORBA protocol. This mode requires an apache HTTP server with access to Vault directories, but client applications still do not need to access the Vault directories. The benefit is a smaller cpu usage for the Vault Server. Thus, Vault Server can serve more user request simultaneously.

NFS file transfer mode

This mode enables vault client applications (for instance: CATIAV5/CATIAV4, ENOVIA desktop and server) to access vault file by NFS. The benefits are a better elapsed time for users and a smaller cpu usage for the Vault Server. Thus, the Vault Server can serve more user requests simultaneously. The drawbacks are that you need to have a fully functional NFS link between the clients and the Vault server. It is also less secured as all clients are able to access the vault directories.

File transfer protocol declaration

File transfer protocols are declared in the VaultClient.properties file. You can modify default protocol for read or write operations and set a specific one for a given VaultAliasName.
VaultClient properties file example:

## Vault Client Properties File

## File read protocol declaration
VaultClient_ReadProtocol = 3
VaultClient_ReadProtocol_0 = CORBA
VaultClient_ReadProtocol_1 = NFS
VaultClient_ReadProtocol_2 = HTTP

## File write protocol declaration
VaultClient_WriteProtocol = 2
VaultClient_WriteProtocol_0 = CORBA
VaultClient_WriteProtocol_0 = NFS


## Default file transfer protocol
VaultClient_Active_ReadProtocol = CORBA
VaultClient_Active_WriteProtocol = CORBA

##Data BlockSize parameter
VaultClient_BlockSize = 1048576

## Trace parameter
VaultClient_Trace = OFF

## Default alias name
VaultClient_DefaultAliasName = Vault1

## Vault1 alias entry
## Use default file transfer protocol which is CORBA
VaultClient_Vault1_ReadVaultServerName = Vault1OrbSrv
VaultClient_Vault1_ReadVaultServerHostName = laureen
VaultClient_Vault1_ReadVaultServerDaemonPort = 1570
VaultClient_Vault1_WriteVaultServerName = Vault1OrbSrv
VaultClient_Vault1_WriteVaultServerHostName = laureen
VaultClient_Vault1_WriteVaultServerDaemonPort = 1570

## Vault2 alias entry
## Use NFS file transfer protocol
VaultClient_Vault2_ReadVaultServerName = Vault2OrbSrv
VaultClient_Vault2_ReadVaultServerHostName = floydsy
VaultClient_Vault2_ReadVaultServerDaemonPort = 1572
VaultClient_Vault2_ReadProtocol = NFS
VaultClient_Vault2_WriteVaultServerName = Vault2OrbSrv
VaultClient_Vault2_WriteVaultServerHostName = floydsy
VaultClient_Vault2_WriteVaultServerDaemonPort = 1572
VaultClient_Vault2_WriteProtocol = NFS

## Vault3 alias entry
## Use HTTP file transfer protocol (read operations only)
VaultClient_Vault3_ReadVaultServerName = Vault3OrbSrv
VaultClient_Vault3_ReadVaultServerHostName = bayeux
VaultClient_Vault3_ReadVaultServerDaemonPort = 1576
VaultClient_Vault3_ReadProtocol = HTTP
VaultClient_Vault3_ReadHTTPServerHost = caen
VaultClient_Vault3_ReadHTTPServerPort = 8080

VaultClient_Vault3_WriteVaultServerName = Vault3OrbSrv
VaultClient_Vault3_WriteVaultServerHostName = bayeux
VaultClient_Vault3_WriteVaultServerDaemonPort = 1576

Example Explanation

This VaultClient properties file declares three VaultAliasName: Vault1, Vault2 and Vault3.
VaultClient_Active_ReadProtocol, and VaultClient_Active_WriteProtocol keys define the default read/write file transfer protocol. In the example above it is CORBA. There are no file transfer protocol keys defined for VaultAliasName Vault1, it means that the default protocol is used. As VaultClient_Vault2_ReadProtocol and VaultClient_Vault2_WriteProtocol are set to NFS, the file transfer mode for VaultAliasName Vault2 is NFS. In the case of VaultAliasName Vault3, there is no protocol defined for write operation, so the default one is used (CORBA). However HTTP protocol is defined for read operations. In order to be consistent, two additional keys are required for HTTP protocol. Theses keys are used to define the HTTP server host and communication port.

How to Set Up CORBA File Transfer Mode

This is the default mode so you have nothing to do, but you can explicitly set the CORBA transfer mode by setting the following keys.

 

Vault Client side modifications

Modify or add the following lines in the $CATInstallPath/docs/java/VaultClient.properties file according to the application behavior you want:

Default file transfer protocol update:

VaultClient_Active_ReadProtocol = CORBA
VaultClient_Active_WriteProtocol = CORBA

File transfer protocol update for a given VaultAliasName:

VaultClient_MyVaultAliasName_ReadProtocol = CORBA
VaultClient_MyVaultAliasName_WriteProtocol = CORBA

Additional features

You have the ability to specify a default block size for CORBA protocol by setting the following key to the wanted value (CORBA block size is limited up to 7M):

VaultClient_CORBABlockSize = 1048576

You can specify block size for CORBA protocol for a given VaultAliasName:

VaultClient_MyVaultAliasName_ReadCORBABlockSize = 1048576
VaultClient_MyVaultAliasName_WriteCORBABlockSize = 1048576

How to Set Up HTTP File Transfer Mode (read operations only)

Keep in mind that an HTTP server is supposed to be installed correctly. This server must have access to VaultServer directories. In order to avoid file access right problems, we advise you to run the HTTP server under the same operating system user you already use for the VaultServer. Vault HTTP file transfer mode is only certified with the Apache HTTP server.

Vault Client Side Modifications

Modify or add the following lines in the $CATInstallPath/docs/java/VaultClient.properties file according to the application behavior you want:

Default file transfer protocol update:
VaultClient_Active_ReadProtocol = HTTP

File transfer protocol update for a given VaultAliasName:
VaultClient_MyVaultAliasName _ReadProtocol = HTTP

And for each VaultAliasName where HTTP protocol is wanted:
VaultClient_MyVaultAliasName_ReadHTTPServerHost = Hostname
VaultClient_MyVaultAliasName_ReadHTTPServerPort = PortNumber

Hostname: the name of the workstation where the HTTP server is installed.
PortNumber: the communication port number of the HTTP server.

Additional features

You have the ability to specify a default block size for HTTP protocol by setting the following key to the wanted value:
VaultClient_HTTPBlockSize = 1048576

You can specify block size for HTTP protocol for a given VaultAliasName:
VaultClient_MyVaultAliasName_ReadHTTPBlockSize = 1048576

How to Set Up NFS File Transfer Mode

Keep in mind that NFS is supposed to be installed correctly. VaultServer directories are supposed to be accessible from client and server applications under the same path on each workstation.

Vault Server Side Modifications

Add the following lines in the $CATInstallPath/docs/java/VaultServer.properties file:

    VaultServer_TmpFilesAccessRights = 666
    VaultServer_SecuredFilesAccessRights = 444

Vault Client Side Modifications

Modify or add the following lines in the $CATInstallPath/docs/java/VaultClient.properties file according to the application behavior you want:

Default file transfer protocol update:
    VaultClient_Active_ReadProtocol = NFS
    VaultClient_Active_WriteProtocol = NFS

File transfer protocol update for a given VaultAliasName:
    VaultClient_MyVaultAliasName _ReadProtocol = NFS
    VaultClient_MyVaultAliasName _WriteProtocol = NFS

Beware: If the vault server is not empty, you have to change the file access rights of the already existing files in order to allow client application to read secured files and read/write temporary files.

Additional features

You have the ability to specify a default block size for NFS protocol by setting the following key to the wanted value:
VaultClient_NFSBlockSize = 1048576

You can specify block size for NFS protocol for a given VaultAliasName:
VaultClient_MyVaultAliasName_ReadNFSBlockSize = 1048576
VaultClient_MyVaultAliasName_WriteNFSBlockSize = 1048576

You have the ability to specify a mount directory and a mount point in order to have a client file access path different from the server side by setting the following keys to the wanted value:
VaultClient_MyVaultAliasName_NFSMountDir = /u/users/ojh
VaultClient_MyVaultAliasName_NFSMountPoint = F:

The example above illustrates a Windows client accessing a Unix Server with the /u/users/ojh UNIX path mounted on F: on the Windows workstation.

If you use a \ (backslash) in the value of the properties:

VaultClient_MyVaultAliasName_NFSMountDir
VaultClient_MyVaultAliasName_NFSMountPoint

you must double each backslash. For example, if the mount point is:

\\remoteVaultDir\VSRepo

you must double the backslashes like this:

VaultClient_MyVaultAliasName_NFSMountPoint =\\\\remoteVaultDir\\VSRepo