| By Java George | Article Rating: |
|
| July 24, 2003 12:00 AM EDT | Reads: |
9,350 |
When we think of all of the various complexities that can surface when implementing Web services at the enterprise level, we often think of integration issues, transactional integrity, security, and so on. We wouldn't necessarily rank file transfers as one of the more difficult technological hurdles. Just stick that big old file somewhere in the SOAP message payload area and you should be fine - unless that file happens to be several hundred megabytes or more in size or contains sensitive client financial information.
Given that the Internet is a fickle and unreliable network backbone to begin with, the formula changes a bit, and we must rely on a more industrial-strength solution to do it right. FileUp from SoftArtisans can help you overcome these issues and more when it comes to adding file transfer capabilities for your Web service and Web application needs.
Features
FileUp comes in three versions; standard, professional, and enterprise. The differences between the versions are documented on the SoftArtisans Web site, but it is important to note that SOAP-based file transfer requests are only available with the Enterprise edition. Since we are interested in the Web service features, we will cover the Enterprise Edition here.
Before we dive into the Web service- specific stuff, one important feature common to all versions is the ability of FileUp to overcome certain ASP.NET IIS limitations regarding document-processing size. I recently ran into this problem on a financial services Web service integration project where IIS could not reliably process SOAP requests greater than 64K in size under load, and that's considered small compared to having SOAP response messages include large documents such as PDF files. This is where FileUpEE comes in by providing a special ISAPI filter designed to throttle large files through the server.
FileUpEE also provides support for the development of SOAP-based Web services and has methods available for uploading and downloading content and managing the file store (copy, rename, delete, etc.).
In addition to basic file upload and download functionality, FileUpEE does a number of other things to help guarantee that a file gets there in one piece and intact. For instance, FileUpEE includes an MD5 hashing algorithm that verifies the integrity of the file. FileUpEE also allows you to continue or resume an upload that was interrupted by a network or system failure - by persisting or archiving the file transfer status to a database. If the process is interrupted, you can design scripts to pick the transfer up where it left off and guide it to completion. This is a very important feature, especially for large files. FileUpEE also allows you to monitor the progress of an upload in number of bytes transferred by using the Progress object included in the object model library.
Functional Overview
FileUpEE is designed to allow users on a browser application to upload or download files from their hard drives to a separate file server on the network. This process involves several mechanisms. First, getting the file from the browser to the Web server requires a browser that can implement "RFC 1867", the standard for form-based file uploads. Microsoft Internet Explorer 4.0 (or later) and Netscape Navigator/Communicator 4.5 (or later, Windows only) are compatible with the required standards.
The second half of the upload process involves physically transferring the file contents to a file server situated behind the firewall (see Figure 1). FileUpEE uses SOAP for this transfer, hence it falls into the Web service space. But there is more to this than meets the eye. The product flexibility is such that you can initiate SOAP-based file transfers from Web server to file server across the Internet without involving the browser. FileUpEE provides a rich set of object and method calls that allow you to customize the transfer process.

Support for .NET
FileUpEE .NET assembly objects are available for Visual Basic and C# uploading scripts and take up the SoftArtisans.Net namespace.
In order to perform uploads with .NET, you'll need to do some additional configuration settings in your environment, such as setting NTFS permissions on temporary and destination directories. The documentation does a great job of guiding you through any configuration settings that you may need to make, so you shouldn't have much of a problem.
Web Browser Support
FileUpEE comes bundled with full licenses for two client-side controls, XFile and JFile, which help support browsers that are not fully compliant with the RFC 1867 file transfer standard. Client-side controls can also be used to increase upload performance. XFile provides both visual and nonvisual ActiveX controls for use in Internet Explorer Web pages or Visual Basic applications, and supports SSL file transfers, handling of multiple files, and other advanced features). JFile provides similar advanced client-side features but comes packaged as a Java applet that is fully scriptable using JavaScript.
Installation
FileUpEE is supported only on the Microsoft platform and requires either Windows 2000 or Windows XP Professional, along with Microsoft Internet Information Server (IIS) version 5.x. Installation is fairly straightforward for both Web server and file server modes of installation. After installation, be prepared to make some additional configuration changes depending on the type of server-side scripting you are implementing. For instance, you may need to set permission settings on the various file directory spaces, so make sure you are logged in as an administrator. In cases where you may need to repeat the system configuration and registration steps in your environment and don't feel like reinstalling, the documentation provides step-by-step directions on setting up your server.
Documentation and Support
FileUp comes with a good deal of on-line help information that includes a number of coding samples to get you started. The documentation also supplies a programmer's reference guide with the API calls explained in detail. Anyone with VB-Script experience should be able to put together server-side scripts for file transfer ,and support for .NET means that the FileUp object model can be referenced and integrated into .NET Web services for SOAP-based server-to-server file transfers.
The online help comes in both a Windows help file and browser-based help hosted on your local IIS server. I found that the browser-based version froze up from time to time, making it impossible to use. I must note that it isn't the first time I've seen Windows Explorer take forever to render HTML content served up from IIS located on the same machine. It's not like the HTTP protocol has far to travel.
Conclusion
What is not readily supported by FileUpEE is certificate-based Web service delivery of files over the Internet using SOAP with attachments. The current SOAP-based file transfers seem intended only to get you from outside the firewall (more so in the DMZ zone) to a file server inside the firewall. You can use the .NET-based API libraries to do Web server- to-file server delivery of files through a SOAP-based delivery mechanism, but I wouldn't venture outside the enterprise without the necessary security mechanisms in place. FileUpEE does allow you to "decouple" your file servers from your Web servers so that access to a secured file server is allowed only through FileUpEE SOAP traffic over HTTP.
In all, FileUpEE provides a rich set of features that allow you to integrate large-size file download and upload operations in a number of different application scenarios, including Web service- based applications. The fact that FileUpEE is not strictly a Web service based product, is actually more beneficial for real-life integration of file upload and download operations originating from the browser.
Company Info
SoftArtisans
1330 Beacon Street
Suite 400
Brookline, MA 02446
Tel: 1-877-SOFTART
Web: www.softartisans.com
E-mail: info@softartisans.com
Download information
http://support.softartisans.com/eval.aspx
Licensing Information
Server License:
http//:fileup.softartisans.com/default.asapx?pageid=132
Testing Environment
OS: Windows-XP
Hardware: 1GHZ Athlon, 1G RAM
Published July 24, 2003 Reads 9,350
Copyright © 2003 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Java George
Java George is George Kassabgi, director of developer relations for Progress Software's Apptivity Product Unit.
- The Top 150 Players in Cloud Computing
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Expo New York Call for Papers Deadline December 15
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- US Federal Government is Major Cloud Computing Innovator
- Google Wave
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Adaptivity & Cloud Computing: Exclusive Q&A with CEO Tony Bishop
- 4th International Cloud Expo: Photo Album
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Industry Experts Discuss the State of Cloud Computing
- SOA World Power Panel on SYS-CON.TV
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- 1st Annual Government IT Conference & Expo: Themes & Topics
- Cloud Expo New York Call for Papers Deadline December 15
- Stock in Focus: Dragon Capital
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- Five Reasons Why Web 2.0 Matters
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- SOA World Conference & Expo SYS-CON.TV Power Panel Live From Times Square









There are a variety of applications that supp...
























