1. 什么是Zope?

  • 什么是Zope?这听起来应该是一个用一到两句话就能回答得简单的问题, 但我经常发现自己无法用简单的方式说明:“它是一个开放源码的应用服务器。它是一个内容管理系统。”。 这两个描述都是正确的, 但它们实际上是给Zope加上了其实并不存在的限制。因此在给出我对Zope的定义之前,让我们先收集一些已经使用了Zope的一些解决方案。依照以上提到的, 许多人使用Zope 作为一个内容管理系统, 它们通常是基于互联网的(通过浏览器管理) 系统。 基本上,用户可以通过一组web表单、工作流和编辑工具来管理页面内容。 然而,Zope使用了一个完全不同的CMS流派。 其他公司,例如struktur AG,成功地使用Zope连接了XML数据库Tamino (来自software AG)。Zope第二个通常的用途就是作为一个Web应用服务器,用它可以建立基于Web的应用。例如:在线商店或者项目管理工具。当然,Zope也适合一般的网站。仍然, 到目前为止我们忽略一个用途。Zope可以用作管理公司操作逻辑的后台服务器。事实上,奥地利的bluedynamics.com以Zope2 ZClass和关系数据库建立了一个后勤软件,每天可以处理数百万的交易,使用XML-RPC技术采集的信用卡信息和仓库的客户订单信息。在我看来,这是Zope的真正力量。因为它不仅可以使用Web熟悉的协议来通信,更可以使用你能想象到的任何其他协来通信。Zope 3,它是组件架构的,更加促进了这个领域,因为第三方的产品可以很容易的嵌入甚至替换一些默认的组件。例如,Twisted framework就可以完全替换ZServer(Zope Server组件)。 现在,我们已经了解了一些Zope普通的和少有的用途,我们可以对Zope下一个明确的定义了。Zope是一个应用,一个后台服务器框架可以让开发者快速建立协议,开发应用(通常是基于Web的)和整合其他使用网络的服务。 在Zope开发之前,Zope团体评估了很多可能使用的语言来开发这个框架,例如:Java,C/C++,Perl和Python。经过了广泛的研究,他们发现只有Python才能提供给他们在与其他大型的框架提供商(例如,IBM,BEA等)比较时有竞争性的优势。