Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Page 3 of 3
Figure 1. Large-file transfer speed
The small-file transfer graph (Figure 2) shows that EnterpriseDT's edtFTPj, Calvin Tai's FtpBean, and Glub Tech's Secure FTP Bean exhibit better performance than the others—even the Windows XP FTP command. The notable exception is the Sun JDK. After about 200 downloads, the JDK has given up the transfers, raising memory errors. In the graph, I extrapolated the average transfer speed from the first 200 downloads. The weak score can be explained by the fact that each download requires the opening and closing of a new control connection. This introduces communication overhead between each file transfer. In conclusion, the JDK is appropriate for downloading a limited number of files only.
Figure 2. Small-file transfer speed
For a review of each library's features, click here for the comparison matrix. The library names display at the top; the criteria appear on the left. Abbreviations in the cells are explained in the table's key.
This article builds upon my previous JavaWorld article "Java FTP Client Libraries Reviewed" and follows up on the FTP support issues in the Java platform. In terms of performance, most libraries compare similarly for large-file transfers. For many small transfers, EnterpriseDT's edtFTPj, Calvin Tai's FtpBean, and Glub Tech's Secure FTP Bean are the best options, while the Sun JDK should be avoided for more than 200 downloads. For other characteristics, please refer to the comparison matrix.
With the number of third-party libraries implementing RFC959 FTP support, developers should have sufficient choices for their specific file-transfer needs. However, using a third-party component introduces additional complexity in applications. For example, an applet deployed onto the client would require additional download from the server. This additional complexity would not be implied if the JDK completely supported FTP.
To achieve complete FTP support in the JDK, a Request for Enhancement (RFE) has been introduced in the Sun Developer Network Bug Database. After 30 months of continuous support from a growing community, the number of votes for this RFE has increased from 8 to 88, propelling it into one of the top 25 RFEs. However, by the time of this writing, Sun engineers have not completed the RFE and have not communicated any schedule.
In the meantime, the Java FTP API Standardization Project supports the FTP RFE. This project aims to gather a community of members supporting the RFE for the wealth of the Java platform. The project also strives to assemble a group of experts for submitting a Java Specification Request (JSR) to the Java Community Process (JCP). This JSR would establish an RFC959-compliant FTP implementation as a standard in the Java platform. However, the group of experts has yet to be formed, and the time required for the JSR to become a standard recommendation is unclear. In conclusion, the future of FTP support in the Java platform remains to be defined.
|Forum migration complete By Athen|
|Forum migration update By Athen|
|JSch? By Anonymous|
|Code for File Transfer process (FTP) By|
|Update: Java FTP libraries benchmarked By JavaWorld|