RFT: Developer's Guide
Overview
>Setting up an RFT Service
Service Data Elements for RFT
Setting up an RFT Grid Service
The Core Final distributions include a deployable GAR for RFT named multirft.gar.
Building the GAR from source
distribution |
|||
| 1 | This step is optional and is only necessary if you downloaded the RFT source code. Otherwise, go to step 2. Make a deployable GAR file as follows: |
||
a |
Change the Another alternative is to override the default property by running: ant -Dogsacore.dir=<your ogsa installation> compile |
||
b |
Run: $ cd data_management/multirft $ ant deployGar This builds a GAR that can be deployed in a service container. |
||
Configure multirft-server-config.wsdd |
|||
| 2 | Set the following parameters in |
||
JdbcDriver |
Name of the JDBC Driver for the database you want to use. For a PostgreSQL installation as described above this value is: org.postgresql.Driver The driver is shipped along with our distribution. |
||
connectionURL |
URL for the Database in order make the connection. For postgres this is jdbc:postgresql:<db>, and in our example above it would be jdbc:postgresql:ogsa | ||
username |
Local user with access to the database. (On windows this would be Administrator) | ||
password |
Password set up to access the database for the particular user. | ||
connection.pooling |
Optional. If set to true, this option forces RFT to reuse
the data channel when transferring a large number of files between the
same hosts. |
||
Deploy GAR |
|||
| 3 | Deploy the GAR by running the following command in $GLOBUS_LOCATION: $ ant -f build-packages.xml deployGar \ -Dgar.name=<location of multirft.gar> |
||
Testing the RFT Service |
|||
| 5 | Deploy $ source setenv.sh |
||
| 6 | You can provide the list of transfers in the form of a file. The format of the file is as follows (the "# comments" are provided for explanation of the parameters and should not be included in the transfers list): true # type of transfer true=binary false=ascii 16000 # block size in bytes 16000 # TCP buffer size in bytes false # Notpt 1 # Number of parallel streams true # DCAU 2 # Concurrency /DC=org/DC=doegrids/OU=Services/CN=dg0n1.mcs.anl.gov # Source Host Subject /DC=org/DC=doegrids/OU=Services/CN=dg0n1.mcs.anl.gov # Destination Host Subject gsiftp://dg0n1.mcs.anl.gov/sandbox/madduri/smalltest # source URL1 gsiftp://dg0n1.mcs.anl.gov/sandbox/madduri/test1 # destination URL1 gsiftp://dg0n1.mcs.anl.gov/sandbox/madduri/smalltest # source URL2 gsiftp://dg0n1.mcs.anl.gov/sandbox/madduri/test2 # destination URL2 Notes:
A sample directory transfer
is given below ( it is also provided in true # type of transfer true=binary false=ascii 16000 # block size in bytes 16000 # TCP buffer size in bytes false # Notpt 1 # Number of parallel streams true # DCAU 1 # Concurrency /DC=org/DC=doegrids/OU=Services/CN=dg0n1.mcs.anl.gov # Source Host Subject /DC=org/DC=doegrids/OU=Services/CN=dg0n2.mcs.anl.gov # Destination Host Subject gsiftp://dg0n1.mcs.anl.gov/sandbox/madduri/ # source URL1 gsiftp://dg0n2.mcs.anl.gov/sandbox/madduri/ # destination URL1 Note: In the case of directory transfer, the concurrency would always be one file. |
||
| 7 | Submit the transfer to the deployed RFT service: $ java org.globus.ogsa.gui.RFTClient \ <handle to RFT factory> \ <path to transfers list> |
||