Introducing Milton: An Open Source Webdav API for Servers
For those not familiar with WEBDAV, its like FTP but implemented in HTTP. Its a mature standard and supported natively in all operating systems.
Once you've integrated Milton into your application, users can view and/or manipulate remote data in your application using drag and drop of files and folders in their native OS file browser - eg Windows Explorer, Nautilus, etc, over HTTP.
Milton doesnt care about the nature of your data. It can be file system based or housed in a database or accessed through web services, or anything else. I can be used with any type of persistence mechanism, including hibernate, JPA, etc.
It is integrated by implementing a Resource interface for your files and folders and a ResourceFactory which locates instances of Resource from URLs. Then adding the Milton servlet to web.xml.
Milton allows you to specify which http methods to support (eg DELETE, PUT, MKCOL, etc). HTTP authentication and authorisation are delegated to your application logic.
Milton is not bound to the Servlet API, so it can easily be integrated into alternative web servers.
See Milton home for details: