Nuxeo SAS宣布他们的下一代企业内容管理平台,预计2006年11月发布,将会基于开源Java技术,尤其是JBoss SEAM, EJB 3和JBoss Application Server. 这个改变非常有意思,Nexeo曾经号称是全球最大的使用Zope开发的公司,他们使用Python和ZOPE application server.
该公司最初选择ZOPE是在2000年,当时开源Java产品还不多见。
在过去的六年里,公司一直尝试提升Zope产品的基础组件,包括对象数据库,文档模型,检索引擎,工作流引擎,变成工具。而这些东西越来越多的出现在Java领域,例如Jackrabbit,Lucene,jBPM,Eclipse...
于是公司开始尝试将Zope作为web前端,Jackrabbit+lucene作为后台。最后公司觉得全部重写该ECM,使用Java开发。
使用Java开发的优点有:
方便雇佣和训练雇员
有丰富的开源组件,和ECM相关的有: Jackrabbit, Lucene, jBPM, JBoss Rules, etc.
我们可以选择应用服务器
有很东工具可以提升开发效率
方便集成客户信息系统
Java 现在非常“敏捷” ,这得益于JUnit, IDE支持重构,OSGi component model, AOP, 以及即将来的JVM scripting support (JSR-223)…
整个开源Java社区都具有竞争力 (感谢 Apache, JBoss, Eclipse, ObjectWeb, 以及其他的 groups 和 projects)
缺点:
我们需要重写整个应用(我们也可以选择将zope2升级到sope3,这就不是那么完美,工作量也很大,也许比Java重写还大)
我们失去了全球最大的zope相关产品开发商的头衔 ,但我们准备争做最大的开源ECM公司,更多专注于业务(ECM)而不是技术。
我们离开了Python社区, 这里有很多聪明和知识渊博的人,当然开源Java社区也非常Cool.
公司认为,将花费5人年来实现我们前一个版本的功能,但是具有更好的和更具有伸缩性的架构。我们已经在移植上工作了六个月。
公司决定使用JBoss SEAM 作为他们的web应用框架。此外,他们选择JBoss应用服务器作为完全的Java EE环境,以便利用EJB和实际应用服务器的优点:
性能: Nuxeo 5 的目标是高文档容量和高并发事务,我们相信EJB容器的pooling和state复制服务会满足我们的需求。
完整性和安全: Nuxeo 5 利用EJB3的事务和安全模型。我们有一个模块化的系统,有一个简单的方法来保证所有组件在所有JVM上的事务和安全。
表现层和业务的完全分离: 所有Nuxeo 5的处理服务都用EJB3来实现,它带来的好处有:
可以将表现层和逻辑层部署在不同的JVM上,还可以将一些资源需求比较高的业务组件部署在不同的机器上。
业务和表现层的开发模型完全不同,业务层需要远程访问:Nuxeo 5 可以同时用瘦客户端和富客户端访问。EJB3使我们能够部署远程业务API.该API可以通过SOAP访问,也可以通过RMI和IIOP访问。
关注JBoss是非常重要的,我们需要一个能够运行的产品,越快越好(预计在2006年11月),所以要实现这个目标的最好方法就是专著于一个目标平台。JBoss从产品上看,非常成熟,Java EE 5/EJB 3兼容,有专业的支持。最后,我们还选择了JBoss的三个产品(Seam, jBPM and JBoss Rules) 作为我们平台的主要构建工具。当然它们也可以部署在其他平台上,但是组件和应用服务器都是一个提供方显然更加便利。
但长期目标,我们仍然会考虑其它的应用服务器,包括JOnAS and Geronimo。我们专门设计了Nuxeo Runtime layer来达到这个目的,即通过为不同的平台插入适配器。