`
webcode
  • 浏览: 6078566 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

从Python & Zope到Java with EJB 3 & JBoss SEAM

阅读更多

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来达到这个目的,即通过为不同的平台插入适配器。

分享到:
评论

相关推荐

    python twisted zope.interface

    python twisted framework zope interface python twisted framework zope interface python twisted framework zope interface

    python-zope-interface-4.0.5-4.el7.x86_64.rpm

    官方离线安装包,亲测可用

    Web Application Development Using Python and Zope Components

    ### Web应用开发:使用...通过以上分析,我们可以看出本书旨在为Web开发者提供一套全面的指南,涵盖了从基础知识到实践操作的各个方面。无论是对于初学者还是有一定经验的开发者来说,这本书都具有很高的参考价值。

    Python库 | zope.z2release-0.8.zip

    资源分类:Python库 所属语言:Python 资源全名:zope.z2release-0.8.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Zope 3 for Zope 2 developers

    ### Zope 3 对于 Zope 2 开发者的关键知识点 #### 一、概述 在《Zope 3 for Zope 2 developers》这份PPT教程中,Philipp von Weitershausen 通过一系列逐步的实践教程,比较了Zope 2与Zope 3在应用程序开发方面的...

    PyPI 官网下载 | zope.interface-4.0.0-py2.7-win-amd64.egg

    安装这个特定版本的“zope.interface”可以通过Python的`easy_install`工具,或者直接解压“zope.interface-4.0.0-py2.7-win-amd64.egg”文件,将其复制到Python的site-packages目录下。需要注意的是,由于这是针对...

    Python库 | zope.interface-4.0.4.win32-py3.2.exe

    《Python库zope.interface详解与应用》 在Python的生态系统中,存在众多强大的库来支持各种功能的实现,其中zope.interface是面向接口编程的重要工具,尤其在构建可扩展和可插拔的系统中扮演着关键角色。这个库提供...

    Python库 | zope.interface-5.1.1-cp37-cp37m-win32.whl

    **Python库 zope.interface详解** `zope.interface` 是Python中的一个强大且广泛使用的库,主要专注于提供接口(Interface)定义和实现的机制。在面向对象编程中,接口是一种规范,它定义了一组方法,但不包含具体...

    使用C语言来扩展Python程序和Zope服务器的教程

    在讨论如何使用C语言扩展Python程序和Zope服务器时,我们首先要了解Python扩展的基础知识。Python扩展本质上是用C语言编写的动态链接库,它可以被Python解释器在运行时加载。使用C语言编写扩展的好处包括提高性能,...

    Python库 | zope.copy-4.1.0.tar.gz

    这在需要将一个对象从一个地方移动到另一个地方,且不希望原始位置保留副本时很有用。 **2. 使用场景** - **数据库操作**: 在处理数据库中的记录时,`zope.copy`可以帮助你创建记录的副本,而不会影响原始记录。这...

    Web Component Development with Zope 3

    ### Web Component Development with Zope 3 #### 一、书籍概览 《Web Component Development with Zope 3》是一本由Philipp von Weitershausen撰写的书籍,旨在为开发者提供一套全面且深入的指南,帮助他们理解并...

    Python库 | zope.interface-5.0.2-cp38-cp38-win_amd64.whl

    **Python库 zope.interface** `zope.interface` 是Python中一个重要的库,它提供了一种在对象间定义接口(Interfaces)的方式,使得代码更加模块化和可扩展。这个库是面向切面编程(Aspect-Oriented Programming, ...

    Python库 | zope.schema-3.3.0-py2.4.egg

    需要注意的是,Python 2.x已经在2020年停止支持,因此在开发新项目时,推荐使用Python 3.x版本,因为`zope.schema`也支持更新的Python版本,提供了更多的功能和改进。 五、总结 `zope.schema`是一个强大的工具,...

    Python库 | zope.interface-4.4.3-cp27-cp27m-manylinux1_i686.whl

    **Python库 zope.interface详解** 在Python编程领域,库是扩展功能的重要工具,它们提供了丰富的模块和函数,方便开发者快速构建复杂的应用。本篇将详细探讨`zope.interface`这一库,它在Python中主要用于定义和...

    PyPI 官网下载 | zope.testbrowser-3.8.0.tar.gz

    "PyPI 官网下载 | zope.testbrowser-3.8.0.tar.gz"这个标题表明我们正在讨论的是一个可以从PyPI官方获取的Python库,名为zope.testbrowser,其版本号为3.8.0,并且以tar.gz格式压缩。 **zope.testbrowser** 是一个...

    Python库 | zope.event-4.3.0-py2.py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:zope.event-4.3.0-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | zope.testbrowser-3.6.0a2.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:zope.testbrowser-3.6.0a2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | zope.publisher-5.0.1-py2.py3-none-any.whl

    8. **兼容性**:zope.publisher支持Python 2和Python 3,因此在跨版本的项目中具有广泛的适用性。 在实际开发中,安装zope.publisher库非常简单,通常通过pip进行,例如,对于提供的资源"zope.publisher-5.0.1-py2....

    Python库 | zope.testbrowser-3.4.1-py2.5.egg

    《Python库深度剖析:zope.testbrowser-3.4.1-py2.5.egg》 在Python的开发世界中,丰富的库是其强大功能的重要支撑。今天我们要探讨的是zope.testbrowser库,它是一个用于Web应用测试的工具,特别适用于Python 2.5...

Global site tag (gtag.js) - Google Analytics