The FTP Graphical User Interface provides the ability to conveniently transfer files between computers on the Grid. It supports a variety of commonly used protocols. The protocols we currently support are FTP and GridFTP . The directories and files present in the local and remote systems are displayed in the form of a tree. The user can select a file or a directory by browsing through the tree structure and drag and drop it to the required destination. It also allows deletion and creation of files or directories on the remote system.
The features provided by the graphical interface are given below:
Security : GridFTP includes extensions to use the Grid Security Infrastructure (GSI) for authentication. GSI provides a number of useful services for Grids, including mutual authentication and single sign-on. It protects your critical and sensitive data by providing strong data encryption.
Ease of Use : The user-friendly graphical interface makes sharing files fast and easy . It follows well known user interface design from commodity desktops including features like drag and drop.
Extendibility : It is possible to extend the this interface to support other protocol providers. Compatibility for HTTP, HTTPS, and WebDAV protocols can be supported using this framework. A prerequisite for a protocol supported by this interface is the ability to support the basic file manager operations like directory listing, file renaming, deleting etc.
The interface is user friendly. But we list a set of important tasks and explain how to use them using the GUI.
Authentication is performed through the visual-proxy-init program distributed with the Java Cog Kit. Authentication is necessary to access all GSI enabled services such as GridFTP. Use the Security Menu to call the visual-proxy-init program.
A local window displaying the current system files appear on the start up. It consists of buttons which support the following operations:
Refresh Button: Refresh the window at any time
Up Button: Go one directory up from the current location
List Button: View the list of files present in the selected directory
NewDir Button: Create a new directory at the path shown in the address bar
Rename Button: Rename a file or directory.
Delete Button: Delete a file or directory.
The buttons in the local window appear in the order of description given above.
You can also open up any number of Local windows by using the Connect Menu -> Local
The user can edit text or html files by selecting any file and double clicking on it.
You can open up any number of Remote windows by using the Connect Menu -> Remote.
Select Connect Menu -> Remote ->GridFTP to connect to a GridFTP site and Connect Menu -> Remote->FTP to connect to an FTP site. A remote window displaying the remote system files appear on a new internal frame. It consists of buttons which support the following operations:
Refresh Button: Refresh the window at any time
Up Button: Go one directory up from the current location
List Button: View the list of files present in the selected directory. This is not currently supported.
Home Dir Toggle Button: User has the ability to shift between the Remote System root directory("//" in Unix systems.) and his home directory. This is the only button different in the Local window.
NewDir Button: Create a new directory at the path shown in the address bar
Rename Button: Rename a file or directory.
Delete Button: Delete a file or directory.
The buttons in the local window appear in the order of description given above.
The local and remote file systems are all displayed in internal frames.
The directories and files of local and remote systems are displayed similar to a Windows explorer.
Files and directories can be selected, dragged and dropped to any of the directories present in any of the internal frames.
It allows user to transfer a remote file to local machine or vice versa.
It also permits users to drag and drop files between two remote servers which is named as third party transfers.
Monitoring frame consists a Queue Panel that shows the status of the jobs.
When ever a user requests for file or directory transfer, the requests are put in a queue and handled in the First In First Out (FIFO) basis.
The user can stop the jobs running, start the jobs, load the jobs from a file, save the jobs to a file, clear the panel by canceling all the current jobs.
The user can right click on a specific entry view the Job Information, Cancel , Restart or Remove the selected job.
By default the Message Window appears below the Monitor Window.
It displays the details of each job, their transfer status and detailed error log if they had failed.
The properties file required by the application "ftp.properties" is created by default in the user's home default .globus directory. It consists of default locations for two files.
File location of a file with unfinished jobs (Queue Saving).
File location of a file with all the sites which the user wants to open by default at the startup (File Transfer Component GUI state saving).
User can save all the unfinished jobs present in the queue at any time by clicking on the save button present in the monitoring window.
By default on application exit, if there are any unfinished jobs the application stores them in the default file specified in the properties file.
User can save all open sites by using the menu File->Save .
The component allows the user to select the Backend provider which does the actual file transfer. It could be a Globus Toolkit 2 (Java CoG Kit based) File Transfer Service or Globus Toolkit 3 (OGSA- based) Reliable File Transfer(RFT) Service. The selection can be made on the Options tab in the GUI. Please refer to Using GridFTP section of the File I/O and transfer Chapter in the manual available at http://www-unix.globus.org/cog/manual-user.pdf for setting up RFT.
Reliable File Transfer Service Provider: The Reliable Transfer Service (RFT) is an OGSA based service that provides interfaces for controlling and monitoring third party file transfers using GridFTP servers. The details are available on the following web page: http://www-unix.globus.org/ogsa/docs/alpha3/services/reliable_transfer.html.
Java CoG Kit File Transfer Service Provider: This a Globus Toolkit 2 based file transfer service which allows file transfers between a local system and a remote system, or between two remote systems. It supports FTP, GridFTP, HTTP and HTTPS protocols.
The component uses the log4j library to display the debug messages.
The log4j.properties file present in jglobus/etc is currently used.
Please refer to the http://jakarta.apache.org/log4j/ link for details.
To enable debugging you need to only modify the log4j.properties file based on the debugging level required and then compile and run the demo. Make sure the log4j.properties file is in your classpath.
The Remote and Local frames do not get refreshed after file transfers. It is not supported since it produces a large overhead when we have directories with large number of files to refresh the window after each transfer.
Editing files is not supported for the Remote sites.