Architecture Java CMS项目

Architecture Java CMS项目,architecture,jcr,dms,Architecture,Jcr,Dms,我需要为一个没有经验的java开发人员团队设计一个大学项目的CMS系统。我研究了不同的选项(特别是ApacheJackrabbit和JCR),但我不确定该使用什么。我们必须为DMS开发web界面,其中可以上载文档并向其填充自定义属性集(所有文档的属性都相同)。我不确定我的团队是否能够与Jackrabbit合作 使用数据库存储Base64编码的文档是一种选择吗 我计划使用JSF、JPA、hibernate、EJB和JBoss作为 系统必须能够: 免费产品或第三方图书馆等,这是易于使用的经验不足的

我需要为一个没有经验的java开发人员团队设计一个大学项目的CMS系统。我研究了不同的选项(特别是ApacheJackrabbit和JCR),但我不确定该使用什么。我们必须为DMS开发web界面,其中可以上载文档并向其填充自定义属性集(所有文档的属性都相同)。我不确定我的团队是否能够与Jackrabbit合作

使用数据库存储Base64编码的文档是一种选择吗

我计划使用JSF、JPA、hibernate、EJB和JBoss作为

系统必须能够:

  • 免费产品或第三方图书馆等,这是易于使用的经验不足的开发人员
  • 储存文件
  • 支持版本
  • 支持归档(低优先级)
  • 支持一组属性,即documentDescription:“此处有一些txt”

根据我的经验,JCR本身的水平太低,不适合由经验不足的开发团队使用。您可以使用对象映射,但我不能说它是容易的或完美的

Martin Fowler写道,CMS是面向文档的NoSQL数据库的应用程序之一。您可以尝试将MongoDB用于对象映射。我发现它非常易于使用和部署(根据我的经验,从MongoDB开始比从JCR开始更容易)。虽然jcrom和Morphia的文档都很不完善,但我发现Morphia更容易使用

用于存储您可以使用的文件

但请注意,如果使用MongoDB而不是JCR,则不会有事务和版本控制。如果您不使用事务,并且您将尝试使用MongoDB,那么您将不得不自己实现一些事务,这可能不是很容易


另外,我不确定您是否可以将JPA/Hibernate用于JCR。从我的研究中,我发现只有两种JCR对象映射的实现:jcrom和ApacheJackrabbit中的一些OM实现(JCR实现)。

从我的经验来看,JCR本身的水平太低,不适合经验不足的开发团队使用。您可以使用对象映射,但我不能说它是容易的或完美的

Martin Fowler写道,CMS是面向文档的NoSQL数据库的应用程序之一。您可以尝试将MongoDB用于对象映射。我发现它非常易于使用和部署(根据我的经验,从MongoDB开始比从JCR开始更容易)。虽然jcrom和Morphia的文档都很不完善,但我发现Morphia更容易使用

用于存储您可以使用的文件

但请注意,如果使用MongoDB而不是JCR,则不会有事务和版本控制。如果您不使用事务,并且您将尝试使用MongoDB,那么您将不得不自己实现一些事务,这可能不是很容易

另外,我不确定您是否可以将JPA/Hibernate用于JCR。根据我的研究,我发现JCR的对象映射只有两种实现:jcrom和ApacheJackrabbit的一些OM实现(JCR实现)。

可以满足您的需求。它是开源的。通过企业订阅,您将能够满足归档要求

使用Hippo构建大学网站的一个例子是。

的网站可以满足您的需求。它是开源的。通过企业订阅,您将能够满足归档要求


使用Hippo构建大学网站的一个例子是。

如果您只需要CMS,您可以尝试。 我认为它是内联网或CMS项目非常酷的平台

该框架基于Vaadin和Spring技术。 顺便说一下,它是开源的


另外,如果您只需要CMS,您可以查看演示。 我认为它是内联网或CMS项目非常酷的平台

该框架基于Vaadin和Spring技术。 顺便说一下,它是开源的


此外,您可以看到演示

查看您的需求,听起来您可以将CouchDB的Java驱动程序用于除UI之外的任何东西。我简要查看了CouchDB的文档,但似乎无法将.pdf文档的内容与带有属性的JSON对象一起保存。也许我没有正确地表述这个问题。。。我想保存文档的实际内容以及属性。我可以将内容编码/解码到Base64并以这种方式存储,但这是一个好的解决方案吗?再看一下文档,它正是您想要的:每个CouchDB文档(存储您的文档属性)都可以有附件(blob,例如PDF文件),听起来,除了UI之外,您可以将CouchDB的Java驱动程序用于任何其他用途。我简要查看了CouchDB的文档,但似乎无法将.pdf文档的内容与JSON对象以及属性一起保存。也许我没有正确地表述这个问题。。。我想保存文档的实际内容以及属性。我可以将内容编码/解码到Base64并以这种方式存储,但这是一个好的解决方案吗?再看看文档,它正是您想要的:每个CouchDB文档(存储您的文档属性)都可以有附件(blob,例如PDF文件)。遗憾的是,我不能使用NOSQL数据库,因为负责我们部署项目的大学环境的管理员不想使用NOSQL db(他们甚至不想安装postgres),我还认为JSON会让他们感到困惑。因此,我使用jcr/jackrabbit开发了一个PoC web应用程序,学生可以从中了解jcr和jackrabbit的基本用法。很遗憾,我不能使用NOSQL数据库,因为负责我们部署项目的大学环境的管理员不想使用NOSQL数据库(他们甚至不想安装postgres)