正在寻找将数据库内容表示为文件系统(Windows)的简单方法



我有一个文档管理系统,它将文档存储在数据库中。我正在寻找一种简单的方式(不需要太多复杂的协议来实现),将数据库显示为windows中的驱动器(这样就可以使用任何windows程序(如explorer或office)浏览和操作它)。

我有一些想法,我提供了某种网络共享,可以作为驱动器安装在windows中。不幸的是,用于文件共享的所有候选网络协议似乎都需要大量的努力来实现。

我最初考虑的是CIFS,但在阅读了它之后,我很快就决定它的BY FAR对我来说实施起来很复杂。下一个问题是NFS,但它本身不受Windows(XP)的支持,而且实现起来似乎也很复杂。FTP可能是一种选择,但实现FTP服务器再次比我天真地预期的要复杂得多。

可能有一个我从未想过的更简单的协议可以使用。

有什么东西我可以方便地用于这个目的吗?理想情况下,我想要某种(纯Java)预制服务器,在那里我可以轻松地去掉访问本地文件系统的部分,并用我自己访问数据库的代码或一个足够简单的协议来代替它,我可以自己快速地实现它,更重要的是,它兼容可靠。

首先,您需要在DBS和数据库之间进行正确的绑定,并在程序中定义/编写一个API,该API将描述对所需资源的轻松访问。编写API将允许最大限度地提高您的解决方案与您稍后可能想要添加的其他服务或插件之间的互操作性。

之后,您应该通过一个允许且健壮的协议(如WebDav)向客户端提供此服务,WebDav代表基于Web的分布式创作和版本控制。他是由Windows原生支持的,你可以通过这种方式与实现WebDav的每一项服务(Windows,大多数web浏览器…)进行交互,当然你也可以将这种服务作为虚拟驱动器安装。另外,Linux和MacOSX也支持它,我相信它是原生的,但我不确定。事实上,WebDav是HTTP的扩展,在RFC 4918中有描述。

基本上,如果您有一些时间并想自己实现WebDav,Java的每个HTTP(处理服务器端响应管理)库都可以用来实现。

为了以一种可以接受的方式实现WebDav,我在网上搜索了一些Java库,找到了这些库,现在由你来决定哪一个真正符合你的需求:

  • 米尔顿http://milton.ettrema.com/index.html

  • 在WebDav.org上列出了WebDav协议在开源项目中的一些现有实现(你可以在那里找到一些非常令人惊叹的项目,比如the Jakarta Slide项目,尽管我认为它已经不受支持了,还有其他项目/库显示了WebDaw的重要性)。http://www.webdav.org/projects/

最新更新