IBM Rational Developer for System z

RSE Server Installation Guide: Linux on System z

GC27-2810-06


Contents

Note: Before you use this information, be sure to read the general information under Notices.

Seventh edition (December 2014)

This edition applies to IBM® Rational® Developer for System z® Version 9.1.1 (program number 5724-T07) and to all subsequent releases and modifications until otherwise indicated in new editions.

Order publications by phone or fax. IBM Software Manufacturing Solutions takes publication orders between 8 a.m. and 7:00 p.m. eastern standard time (EST). The phone number is (800) 879-2755. The fax number is (800) 445-9269. Send faxes Attn: Publications, 3rd floor.

You can also order publications through your IBM representative or the IBM branch office that serves your locality. Publications are not stocked at the following address.

IBM welcomes your comments. You can send your comments by mail to the following address:

IBM Corporation
Attn: Information Development Department 53NA
Building 501 P.O. Box 12195
Research Triangle Park NC 27709-2195.
US

When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you.

Note to US Government Users Restricted Rights - Use, duplication or disclosure is restricted by GSA ADP Schedule Contract with IBM Corp.

Information about this document

This document describes how to install the RSE server option of IBM Rational Developer for System z on a Linux on System z host system.

From here on, the following names are used.
  • IBM Rational Developer for System z is calledRational Developer for System z.
  • IBM Rational Developer for Power Systems Software™ is calledRational Developer for Power Systems Software.
For earlier releases, including the following products, see the installation information that is found in the documentation included in those releases.
  • IBM Rational Developer for the Enterprise
  • Rational Developer for System z

Who this document is intended for

This document is intended for system programmers who are installing and configuring Rational Developer for System z on a Linux on System z host system.

This document describes steps that are needed to install the RSE server component of Rational Developer for System z. To use this document, you need to be familiar with the Linux on System z host system.

Introduction

The Remote System Explorer Communications Server (RSE server) is installed on any of the following systems:
  • Intel Linux
  • Linux on System z
  • AIX® or Linux running on IBM Power Systems™
The RSE server allows a workstation that is running Rational Developer for System z to do the following types of tasks on the connected remote host system:
  • Copy, edit, create, or delete remote files; search for files on the remote system.
  • Download and upload files between workstation and server; transfer files between remote systems.
  • Use remote command shells; run commands on the remote system; work with remote processes.
  • Run integrated builds of remote source code; develop and debug remote programs.

This document describes how to install, use, and uninstall the RSE server on a Linux on System z host system.

Linux on System z host requisites

General information

The products that are listed here are all available at the time of publication of the manual. See the IBM Support Lifecycle website to see whether a selected IBM product is still available at the time that you want to use the related Rational Developer for System z function.

The most current listing of prerequisites and corequisites is available in the Rational Developer for System z Prerequisites Guide, SC23-7659. This document supersedes the requirements that are listed in this document and is available in IBM Knowledge Center.

Linux on System z

One of the following levels must be installed:

Product Name
Red Hat Linux Enterprise Server 6 (s390x)
Red Hat Linux Enterprise Server 5 (s390x)
SUSE Linux Enterprise Server 11 (s390x)
SUSE Linux Enterprise Server 10 (s390x)

You can find more information at the Linux on IBM System z website.

SDK for Linux on System z, Java 2 Technology Edition

To use Remote Systems Explorer (RSE) on Linux on System z, one of the following levels must be installed:

Program Number Product Name
6207-001 IBM 64-bit Runtime Environment for Linux on System z, Java™ 2 Technology Edition, Version 6
6205-001 IBM 64-bit Runtime Environment for Linux on System z, Java 2 Technology Edition, Version 5

You can find more information at the Linux on IBM System z website.

RSE server installation and configuration

The supported functions of the RSE server on Linux on System z with Rational Developer for System z are shown in the following list:

  • RSE access to Linux on System z including SSL and TLS v1.2 connections.
  • Command shell use in RSE except vi or similar programs.
  • Connection by the Host Emulator with full shell access.
  • Compiling, linking, and running programs on Linux on System z.

RSE server installation, updates, and uninstall

Installing

Use IBM Installation Manager to install the RSE server.
Note: You can also use Installation Manager to install updates for the RSE server or to roll back a previously installed update. See Updating.
In the following instructions:
  • The "server system" is the host system on which you are installing the RSE server.
  • The "client system" is the system from which you are viewing and controlling the Installation Manager.

You can run the Installation Manager in either of two ways: with the X Window System or with the silent mode of Installation Manager. These methods are described in the next two subtopics.

Installation with the X Window System
  1. Copy the installation file from the installation CD to a writable file system directory on the server system.
    • The CD has three directories, AIX, Linux, and zLinux that contain the installation file specific to the target OS. Pick the appropriate file from the directory that matches the OS on the server system.
  2. Extract the RSE server installation image:
    tar -xvf install_file
    where install_file is the installation file.
  3. Connect the client system to the server system. Here are two methods for connecting the systems:
    • Connect a console to the server; or
    • On the client system, start an X Window System server to display the Installation Manager and follow these steps:
      1. Set the DISPLAY variable on the server system to the host name and port of a third system. For example, if you are running csh on the server system, enter the following command on the csh command line:
        setenv DISPLAY client_system:port
        where client_system is the host name of the client system and port is a valid port. For example:
        setenv DISPLAY myclient:0
      2. Start the X Window System server on the third system.
  4. On the system that is running the X Window System, enter the following command on the command line:
    xhost +server_system 
    where server_system is the host name of the server system. For example:
    xhost +myserver
    This command tells the X Window System to accept a display stream from the server system.
  5. Start the Installation Manager. On the command line:
    1. Change to the directory where you unpacked the installation file.
    2. Enter the install command to start the Installation Manager:
      install
  6. Follow the directions in Installation Manager to complete the installation.
Installation with silent mode

This method uses the silent mode capability of the Installation Manager. For more information about silent mode, see the product documentation for the IBM Installation Manager.

Note: Run the Installation Manager as the root user.
  1. Copy the installation file from the installation CD to a writable file system directory on the server system.
    • The CD has three directories, AIX, Linux, and zLinux that contain the installation file specific to the target OS. Pick the appropriate file from the directory that matches the OS on the server system.
  2. Extract the RSE server installation image:
    tar -xvf install_file
    where install_file is the installation file.
  3. On the command line, change to the directory where you unpacked the installation file.
  4. The default installation directory for the RSE server is /opt/IBM/RDz91. To select another installation directory:
    1. Open the install.xml response file with a text editor.
    2. Find the <profile> element.
    3. Change the installLocation parameter to specify the installation directory that you want to use. For example:
      <profile
          id="IBM Rational Developer for System z Remote Systems Explorer"
          installLocation="rse_directory">
      </profile>    
      where rse_directory is the directory in which you want to install the RSE server.
    4. Close the text editor.
  5. If you are installing multiple RSE server instances onto the system, you must specify a unique identifier and a unique installation location for each instance of the server. To specify a unique identifier and installation location:
    1. Open the install.xml response file with a text editor.
    2. Make the following changes to the <profile> element:
      1. Change the id parameter to specify the installation name that you want to use for this instance of the server.
      2. Change the installLocation parameter to specify the installation location for this instance of the server. For example:
        <profile
            id="IBM Rational Developer for System z Remote Systems Explorer_1"
            installLocation="  /opt/IBM/RDz91_1">
        </profile>
        where the _1 suffix is used to make the values unique.
    3. Also, change the <offering> element so that the profile parameter has the same value as the id parameter of the <profile> element. For example:
      <offering profile="IBM Rational Developer for
              System z Remote Systems Explorer_1"
              id="com.ibm.rational.rdz.rseserver.v91"
              version="9.1.0.2014"/>
    4. Close the text editor.
  6. To run the Installation Manager, enter the following command on one line. On Linux on System z:
    ./install --launcher.ini ./silent-install.ini -acceptLicense
Directories created
Installation Manager creates the following directories:
  • /opt/IBM/RDz91 contains the RSE server program. This directory is the default location.
  • /opt/IBM/InstallationManager is the directory where Installation Manager is installed.
  • /var/ibm/InstallationManager contains various files that are used by Installation Manager such as log files, configuration files, and license file.
  • /opt/IBM/SDPShared contains the shared resources for products that are installed with Installation Manager.

Uninstalling

Use IBM Installation Manager to uninstall the RSE server:

  • With the X Window System:
    1. Set up and start the X Window System as described in the Installation with the X Window System topic.
    2. Find the directory where the Installation Manager is installed. The default location is /opt/IBM/InstallationManager.
    3. Start Installation Manager:
      1. Change to the directory where you installed Installation Manager.
      2. Change to the eclipse subdirectory.
      3. Start the executable file IBMIM.
    4. In Installation Manager:
      1. Click Uninstall.
      2. Follow the directions to uninstall the RSE server.
  • Using silent mode:
    1. On the command line, change to the directory where Installation Manager is installed. The default location is /opt/IBM/InstallationManager.
    2. Change to the eclipse subdirectory.
    3. Enter the following command on one line:
      ./IBMIM --launcher.ini silent-install.ini
                        -input rse_directory/uninstall/uninstall.xml
      where rse_directory is the path of the directory where the RSE server is installed. The default installation directory is /opt/IBM/RDz91.

Updating

Use IBM Installation Manager to update the RSE server.

Note: The update process makes backup copies of the current configuration files in the subdirectory backup in the installation directory. You might also want to make your own backup copies of any configuration files that you modified. Having a backup ensures that you can easily restore the files after the update is complete.
  • With the X Window System:
    1. Set up and start the X Window System as described in the subtopic Installation with the X Window System.
    2. Copy the tar file that contains the update information into a writable file system directory on the target system.
    3. Extract the update information from the update tar file. For example:
      tar -xvf install_file
      where install_file is the tar file that contains the update information.
    4. Find the directory where the Installation Manager is installed. The default location is /opt/IBM/InstallationManager.
    5. Change to the eclipse subdirectory.
    6. Start the executable file IBMIM.
      Note: You must run the Installation Manager as the root user.
    7. In Installation Manager:
      1. Add that path of the repository where the update files are located:
        1. Click File > Preferences to open the Preferences window.
        2. In the left pane click Repositories.
        3. Click Add Repository.
        4. In the directory where the tar file was expanded, change to subdirectory RSE and then select the file repository.config.
        5. Click OK.
        6. Click OK again to close the Preferences window.
      2. Click Update.
      3. Follow the directions to update the RSE server.
  • Using silent mode:

    The process for updating an installed version of the RSE server is similar to the process for installing the server. Follow these steps:

    1. Copy the tar file that contains the update information into a writable file system directory on the target system.
    2. Extract the update information from the update tar file. For example:
      tar -xvf install_file
      where install_file is the tar file that contains the update information.
    3. In the install.xml response file, set the correct values for the unique identifier and the unique installation location of this instance of the server:
      1. To ensure that know the correct values, follow these steps.
        1. Start the Installation Manager. It must be the same Installation Manager that was used to install this instance of the RSE server.
        2. Click File > View Installed Packages.
        3. In the list of Installed Packages, select the instance of the RSE server that you want to update.
        4. Look in the Details section to find the identifier and the installation location of this instance of the server:
          • The identifier is the title of the package group, printed immediately after the heading Details.
          • The installation location is printed in the bulleted list that follows the words Installation Directory.
        5. Close the Installation Manager.
      2. Go to the directory where you unpacked the tar file.
      3. Open the install.xml response file with a text editor.
      4. In the <profile> element set the correct values for the id and installLocation parameters. The following example shows the default values:
        <profile
            installLocation="/opt/IBM/RDz91RH"
            id="IBM Rational Developer for System z Remote Systems Explorer">
        </profile>
      5. In the <offering> element set the correct value for the profile parameter. The value must be the same as the value that you set for the id parameter of the <profile> element. For example:
        <offering profile="IBM Rational Developer for
                System z Remote Systems Explorer"
                id="com.ibm.rational.rdz.rseserver.v91"
                version="9.1.0.rseserver91O-I20140411_1625"/>
      6. Close the text editor.
    4. To run the Installation Manager, enter the following command on one line. On Linux on System z:
      ./install --launcher.ini ./silent-install.ini
      Note: You must run the Installation Manager as the root user.

RSE directory configuration

Important: After the RSE server is installed on a host system, only the root user can log in to the host system.

To allow other users to log in to the system, the system administrator must grant read and execute permissions. The permissions must be on the directory where the RSE server is installed and on all the files and subdirectories within that directory.

To grant permissions to the owning user (root) and to all users in the root group, enter the following command at the command line:
 chmod –R ug+xr  rse_directory
where rse_directory is the path of the directory where the RSE server is installed. The default path is /opt/IBM/RDz91.
Note: This example assumes that the RSE server is the only product that is installed in the directory.
To grant permissions to every user on the system, enter the following command at the command line:
 chmod –R ugo+xr  rse_directory
where rse_directory is the path of the directory where the RSE server is installed. The default path is /opt/IBM/RDz91.
Note: This example assumes that the RSE server is the only product that is installed in the directory.

Starting the RSE server

To start the RSE server:
  1. Open the ksh shell.
  2. Change to the directory that contains the executable programs and scripts for the RSE server. If the RSE server is installed in the default directory /opt/IBM/RDz91, then the executable programs and scripts are in /opt/IBM/RDz91/bin.
  3. Enter the following command.
    • For Red Hat Linux on System z:
      rsedaemon.RedHat.sh [port]
      where port is the number of the port on which you want the RSE server to listen.
      Note: The default port is 4035.
    • For SuSe Linux on System z:
      rsedaemon.Suse.sh [port]
      where port is the number of the port on which you want the RSE server to listen.
      Note: The default port is 4035.
Examples:
  • To start the RSE server and have it listen on the default port, enter the following command:
    • For Red Hat Linux on System z:
      rsedaemon.RedHat.sh
    • For SuSe Linux on System z:
      rsedaemon.Suse.sh
  • To start the RSE server and have it listen on port 3080, enter:
    • For Red Hat Linux on System z:
      rsedaemon.RedHat.sh 3080
    • For SuSe Linux on System z:
      rsedaemon.Suse.sh 3080

Example: RSE server start

The following example shows what the command-line interface looks like when the RSE server is started successfully. The first line of text is the command to start the server and the subsequent lines are output from that command:
rsedaemon.RedHat.sh
...
java version "1.6.0"
Java(TM) SE Runtime Environment (build pxz6460sr5-20090529_04(SR5))
IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Linux s390x-64
        jvmxz6460sr5-20090519_35743 (JIT enabled, AOT enabled)
J9VM - 20090519_035743_BHdSMr
JIT  - r9_20090518_2017
GC   - 20090417_AA)
JCL  - 20090529_01

FEK001I RseDaemon being initialized
FEK010I (rsed.envvars location = /opt/IBM/RDz91/bin)
FEK011I (log directory = ./../log/)
java version "1.6.0"
Java(TM) SE Runtime Environment (build pxz6460sr5-20090529_04(SR5))
IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Linux s390x-64
        jvmxz6460sr5-20090519_35743 (JIT enabled, AOT enabled)
J9VM - 20090519_035743_BHdSMr
JIT  - r9_20090518_2017
GC   - 20090417_AA)
JCL  - 20090529_01

FEK002I RseDaemon started. (port=4035)
Server Started Successfully

Configuring the RSE server to use SSL or TLS v1.2

You can configure the RSE server to provide server authentication with SSL or TLS v1.2 encryption to provide secure connections between server and clients.

Setting up a keystore file

To use SSL or TLS v1.2, you must set up a Java keystore file on the server for server authentication.

Procedure

  1. Use the keytool program that is provided with the Java SDK to generate a keystore file that contains a key pair (public key and associated private key). For example:
    keytool -genkey -alias alias_name -validity 3650 -keystore keystore_name
        -storepass keystore_password -keypass key_password
    • alias_name is the name of the keystore.
    • keystore_password is the password for the keystore.
    • key_password is the password for the key.
  2. In the ssl.properties file, enter the path of the Java keystore file and the keystore password.
    daemon_keystore_file=jks_file
    daemon_keystore_password=jks_password 
    • jks_file is the path of the Java keystore file that you created, and
    • jks_password is the password for the Java keystore file.

Configuring the server and client for SSL

Procedure

  1. On the server, complete the following steps.
    1. In the ssl.properties file, set the following two properties.
      enable_ssl=true
      disable_server_ssl=false
    2. In the rsed.envvars file, set the following option.
      _RSE_JAVAOPTS="$_RSE_JAVAOPTS -DDSTORE_SSL_ALGORITHM=SSL"
    3. Start the RSE server.
  2. On each client workstation, complete the following steps.
    1. Close the development workbench.
    2. Add the JVM option -DDSTORE_SSL_ALGORITHM=SSL to the eclipse.ini file. For example:
      -vm
      C:\ProductBuilds\PkgGroups\RDZ911\jdk\jre\bin\javaw.exe
      -startup
      plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
      --launcher.library
      plugins/org.eclipse.equinox.laun.win32.win32.x86_64_1.1.200.v20120913-144807
      -install
      C:/ProductBuilds/PkgGroups/RDZ911
      -vmargs
      -Xquickstart
      -Xms40m
      -Xmx1024m
      -Xmnx64m
      -Xgcpolicy:gencon
      -Xscmx96m
      -Xshareclasses:name=IBMSDP_%u
      -Xnolinenumbers
      -Xcompressedrefs
      -DDSTORE_SSL_ALGORITHM=SSL
    3. Open the development workbench.

Results

The RSE server is started with SSL active. The client can connect to the RSE server.

Configuring the server and client for TLS v1.2

Procedure

  1. In the rsed.envvars file, set the following option.
    _RSE_JAVAOPTS="$_RSE_JAVAOPTS -DDSTORE_SSL_ALGORITHM=TLSv1.2"
  2. On the server, modify the runserver.sh script.
    1. Find the section of the script where the Java JVM is called.
    2. Add the JVM option -DDSTORE_SSL_ALGORITHM=TLSv1.2 to each call to the JVM. The result should look similar to the following lines:
      if [ $# -gt 4 ]; then
        $javaExe -Xgcpolicy:gencon -Xms64m -Xmx128m -Xss2m -cp $classpath
            -DA_PLUGIN_PATH=$pathIN 
            -DDSTORE_SSL_ALGORITHM=TLSv1.2
            -DDSTORE_SPIRIT_ON=$SPIRIT_ON 
            -DDSTORE_MEMLOGGING_ON=$MEMLOGGING_ON 
            -DDSTORE_TRACING_ON=$TRACE_ON 
            org.eclipse.dstore.core.server.Server 
            $portIN 
            $timeoutIN 
            $ticketIN
      elif  [ $# -gt 3 ]; then
         $javaExe -Xgcpolicy:gencon -Xms64m -Xmx128m -Xss2m -cp $classpath 
            -DA_PLUGIN_PATH=$pathIN 
            -DDSTORE_SSL_ALGORITHM=TLSv1.2
            -DDSTORE_SPIRIT_ON=$SPIRIT_ON 
            -DDSTORE_MEMLOGGING_ON=$MEMLOGGING_ON 
            -DDSTORE_TRACING_ON=$TRACE_ON 
            org.eclipse.dstore.core.server.Server 
            $portIN
            $timeoutIN
            $ticketIN
      fi
  3. On the server, modify the daemon.pl script.
    1. Find the section of the script where the Java JVM is called.
    2. Add the JVM option -DDSTORE_SSL_ALGORITHM=TLSv1.2 to each call to the Java JVM. The result should look similar to the following lines:
      if [ $# -gt 4 ]; then
         $javaExe -Xgcpolicy:gencon -Xms64m -Xmx128m -Xss2m -cp $classpath
            -DA_PLUGIN_PATH=$pathIN
            -DDSTORE_SSL_ALGORITHM=TLSv1.2
            -DDSTORE_SPIRIT_ON=$SPIRIT_ON
            -DDSTORE_MEMLOGGING_ON=$MEMLOGGING_ON
            -DDSTORE_TRACING_ON=$TRACE_ON
            org.eclipse.dstore.core.server.Server
            $portIN
            $timeoutIN
            $ticketIN
      
      elif  [ $# -gt 3 ]; then
         $javaExe -Xgcpolicy:gencon -Xms64m -Xmx128m -Xss2m -cp $classpath
            -DA_PLUGIN_PATH=$pathIN
            -DDSTORE_SSL_ALGORITHM=TLSv1.2
            -DDSTORE_SPIRIT_ON=$SPIRIT_ON
            -DDSTORE_MEMLOGGING_ON=$MEMLOGGING_ON	
            -DDSTORE_TRACING_ON=$TRACE_ON
            org.eclipse.dstore.core.server.Server
            $portIN
            $timeoutIN
      fi                                                                            
  4. Start the server.
  5. On each client workstation, complete the following steps.
    1. Close the development workbench.
    2. Add the JVM option -DDSTORE_SSL_ALGORITHM=TLSv1.2 to the eclipse.ini file. For an example, see the previous section on configuring SSL.
    3. Open the development workbench.

Results

The RSE server is started with TLS v1.2 active. The client can connect to the RSE server.

Example: RSE server start with SSL

The following example shows what the command-line interface looks like when the RSE server with SSL is started successfully. The first line is the command to start the server and the subsequent lines are output from that command:

rsedaemon.RedHat.sh 4077

SSL Settings
[daemon keystore:       /opt/IBM/RDz91SSL/rdzrse.jks]
[daemon keystore pw:    MyKeystorePassword]
[server keystore:       /opt/IBM/RDz91SSL/rdzrse.jks]
[server keystore pw:    MyKeystorePassword]
Daemon running on:      RDzServer.rtp.raleigh.ibm.com, port: 4077

Secure and nonsecure sessions

If you want to concurrently run both secure sessions and nonsecure sessions, you must install a second instance of the RSE server. You cannot use a single instance of the server to run secure sessions and nonsecure sessions concurrently.

The following instructions assume that the RSE server is installed in the default directory and is configured to run nonsecure sessions on the default port 4035. To install a second instance of the server and configure it to use SSL or TLS v1.2, complete the following steps.

  1. Install a second instance of the RSE server into a new installation directory, for example /opt/IBM/RDz91SSL.
  2. Configure SSL or TLS v1.2 for the second server as described in the preceding sections.
  3. Start the server, specifying a different port than the port that the first RSE server is using. For example:
    rsedaemon.RedHat.sh 4077

Notices

© Copyright IBM Corporation 1992, 2013.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

This information was developed for products and services offered in the U.S.A.

IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan, Ltd.
19-21, Nihonbashi-Hakozakicho, Chuo-ku
Tokyo 103-8510, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM websites are provided for convenience only and do not in any manner serve as an endorsement of those websites. The materials at those websites are not part of the materials for this IBM product and use of those websites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

.

Intellectual Property Dept. for Rational Software
IBM Corporation
Silicon Valley Lab
555 Bailey Avnue
San Jose, CA 95141-1003
U.S.A.

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

Copyright license

This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. The sample programs are provided "AS IS", without warranty of any kind. IBM shall not be liable for any damages arising out of your use of the sample programs.

Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:

© (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. © Copyright IBM Corp. 1992, 2013.

If you are viewing this information in softcopy, the photographs and color illustrations may not appear.

Privacy policy considerations

IBM Software products, including software as a service solutions, (“Software Offerings”) may use cookies or other technologies to collect product usage information, to help improve the end user experience, to tailor interactions with the end user or for other purposes. In many cases no personally identifiable information is collected by the Software Offerings. Some of our Software Offerings can help enable you to collect personally identifiable information. If this Software Offering uses cookies to collect personally identifiable information, specific information about this offering’s use of cookies is set forth below.

This Software Offering does not use cookies or other technologies to collect personally identifiable information.

Trademarks

IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Terms and conditions for product documentation

Applicability

These terms and conditions are in addition to any terms of use for the IBM website.

Personal use

You may reproduce these publications for your personal, noncommercial use provided that all proprietary notices are preserved. You may not distribute, display or make derivative work of these publications, or any portion thereof, without the express consent of IBM.

Commercial use

You may reproduce, distribute and display these publications solely within your enterprise provided that all proprietary notices are preserved. You may not make derivative works of these publications, or reproduce, distribute or display these publications or any portion thereof outside your enterprise, without the express consent of IBM.

Rights

Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either express or implied, to the publications or any information, data, software or other intellectual property contained therein.

IBM reserves the right to withdraw the permissions granted herein whenever, in its discretion, the use of the publications is detrimental to its interest or, as determined by IBM, the above instructions are not being properly followed.

You may not download, export or re-export this information except in full compliance with all applicable laws and regulations, including all United States export laws and regulations.

IBM MAKES NO GUARANTEE ABOUT THE CONTENT OF THESE PUBLICATIONS. THE PUBLICATIONS ARE PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.