Web Services based incremental file upload
Original Publication Date: 2002-May-17
Included in the Prior Art Database: 2003-Jun-21
1 Introduction As of today, human beings browsing Hypertext Markup Language (HTML) pages and filling out online forms are the most common kind of users of Web applications (a Web application comprises static content and server side application logic and is hosted by some Hypertext Transfer Protocol server and, optionally, an application server). In business-to-business (B2B) scenarios, however, client side IT systems also have to communicate with such Web applications. Often such system clients of Web applications want to upload files to the Web application, because they prefer a batch rather than dialog oriented communication style. For example, a parts supplier might want to update its catalog database on an e-Marketplace. Such files can be large (from one megabyte to several 100 megabytes), it is therefore desirable to transmit them incrementally and reassemble them on the server side. If such an incremental transfer mode is available, the client can resume the upload process with the first lost increment in case of transmission failures; it does not have to retransmit the entire file. Supporting resumption of broken file transfer operations is especially useful in the Internet environment, where reliability, response times, and stability on Hypertext Transfer Protocol (HTTP) level cannot be guaranteed. There is often no alternative to this protocol, because the target Web application is typically located behind a firewall that does not allow non-HTTP communication, because only one port, the HTTP port 80, is accessible. Standard HTTP security 1 features, however, such as Secure Socket Layer (SSL) and basic HTTP authentication should be available. The software prerequisites for the client should be minimal (thin client principle). If many clients from different companies use the services provided by a Web application, it is not realistic to assume that all of them share the same software configuration (such as a certain file transfer client). Hence, using protocols such as FTP for file upload is not always an option.