设为首页 收藏本站
查看: 630|回复: 0

[经验分享] 从Python & Zope到Java with EJB 3 & JBoss SEAM

[复制链接]

尚未签到

发表于 2017-5-6 12:04:41 | 显示全部楼层 |阅读模式
  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来达到这个目的,即通过为不同的平台插入适配器。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373789-1-1.html 上篇帖子: Python基础教程之第4章 字典: 当索引不好用时 下篇帖子: 国际:Ruby、Python不能威胁Java的13个理由
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表