我必须开始一个新项目来管理工作流实验室生成的数据。 生成的数据是分层的,包含结构化数据和非结构化数据。 大部分数据将是office文件和图像。需要查询办公室和pdf文档的内容。
我第一次开始学习CMIS 1.1。但我找不到它的任何实现。 Alfresco似乎是最好的,但尚未实施CMIS 1.1。
ModeShape看起来不错。但我不知道它是否足够受欢迎。我担心JBoss会像Seam 2那样放弃它。
RDBMS不适合管理和查询文件。
那么,为这种类型的项目选择什么技术?
我在javaEE + RDBMS开发方面有很好的经验。
由于
答案 0 :(得分:3)
通常,文档管理系统是此解决方案的最佳选择。
根据您计划在项目上花费的工作量,您可能需要explore Alfresco's architecture并利用支持Spring MVC Framework网络应用程序的基础Alfresco Share。
来自this post on the Alfresco Forums,Alfresco符合CMIS 1.1标准。您应该可以通过以下网址从Alfresco访问CMIS 1.1:http://example.com:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom
有关Alfresco CMIS的更多信息:http://www.alfresco.com/cmis
答案 1 :(得分:2)
我建议使用Apache Jackarabbit,这是Java Content Repository规范(JSR-170)的参考实现。
它支持版本控制,搜索,事务,并且是依赖于结构化分层数据的内容驱动应用程序的合适框架
您还可以查看Apache Sling,这是一个基于Apache Jackarabbit构建Web应用程序的框架。
BR。
答案 2 :(得分:1)
实际上,RDBMS是二进制数据的一个非常好的解决方案,例如Oracle DBF http://docs.oracle.com/cd/E11882_01/appdev.112/e18294/adlob_fs.htm#ADLOB45990它提供了开箱即用的plsql内容存储API。 CMIS协议类似于JCR API概念,但JCR不是实现CMIS所必需的。我们通常在原始文件系统上存储RDBMS和二进制文件的元数据,因为良好的RDBMS实现太昂贵了。如果许可成本不是您的项目的问题,那么良好的RDBMS也应该适用于二进制数据。有关CMIS,请参阅Apache Chemistry http://chemistry.apache.org/project/cmis.html,我使用已修改的Fileshare存储库实现。