Nuxeo WebEngine -- java的plone?
今天看到一则新闻“Nuxeo WebEngine发布”,仔细看了一下,咦,这东西的概念怎么这么像python世界的plone?
说到plone,不得不提的就是它的开发框架Zope了。介绍Zope并不是本文的目的,有兴趣者可以Google之。
一、WebEngine依赖 Nuxeo内容管理框架提供基于组件的程序模型和web开发模型来创建以内容为中心的组件化应用,包括Wiki,博客,内容为主的web网站等。
注:Nuxeo内容管理框架(Nuxeo core?)应该是类似Zope 的CMF(Content Management Framework )东东了。plone也一样是作为一个应用框架,用来开发以内容为中心的组件化应用。Plone内置的内容类型有页面、文件、图片、文件夹以智能文件夹,而Webengine则提供了更多内容相关的类型,如Blog,Wiki等。
二、WebEngine主要依赖REST方式:URLs映射到分层的内容存储,内容通过GETs获取,用户行为通过GETs和POSTs请求等。这种方式方便通过WebEngine使用和架构RESTful应用。
注:如果你了解RESTFul风格的URL并知道Zope以模型为中心,URL以节点漫游的方式进行映射,你就会发现两者的目的都差不多,REST是以资源为中心的。我后来看了一下WebEngine的实现,它使用了内容仓库Jackrabbit(什么是内容仓库)作为数据存储的一部分,真正实现多层次结构数据的存储。表现出来的效果和ZODB有点类似了。
三、WebEngine完全是可扩展的,组件化的,通过OSGI方式和Nuxeo运行来扩展。
注:WebEngine的扩展可看作是OSGI 的插件。由于OSGI,WebEngine在部署组件方式同样可以达到热部署,在Zope里面,这样的组件被称为产品(product)。
四、WebEngine有自己独立的服务器,并且兼容JBoss,允许嵌入式运行等。现在暂时不清楚其独立服务器的用意(不过从下载回来的Standalone版本来看,服务器是基于Jetty6的),但看起来有点模仿zope的意思,zope是提供独立的服务器。
我下载了一份Standalone的发行版下来试验了一下。发现WebEngine这一次的发布真是摆了个大乌龙,在它的网站的任何地方都找不到登录系统的初始密码,启动了服务器的我在门外徘徊了好久,终于在Google到一个可能的帐号Administrator/Administrator,试一下真的能进去。
界面还很简陋,用户管理的创建用户看起来有点Bug,我创建的每一种类型的内容最终都显得像一个目录,并且点击编辑的时候都出现这样的错误提示:
This is a placeholder page. Don't know how to edit generic documents.
Add an edit page for your document type please. (Your document type is: Blog)
不知道是我RP有问题还是系统根本就还不完善。
总而言之,这东西看起来不错,不过现成的Demo却有点令人失望。不知以后是否会有惊喜,继续关注。如果该产品发展至成熟,将会为Java平台上的内容管理领域带来一个更好的解决方案。到时除了plone,又多了一样选择,是好事!
<EOF>
编程
jeff
0
python
评论(0条)