介绍Zope
last edited 1 month ago by panjy
英文原稿
introducing zope
说明
本文来自快乐程序网dohao.net,作者:杜文山
第一章 介绍Zope
什么是Web应用程序?
如何通过应用
服务器受益?
Zope 历史
为什么使用Zope?
Zope的目标用户,以及Zope不适合做什么
Zope的使用条款,许可证,以及Zope社区
Zope是一种让具备不同技能的开发人员一起构建Web应用程序的框架。本章详细介绍了Zope,以及和其它类似软件的不同之处。
1. 什么是Web应用程序?
网站内容需要及时的更新,尤其对于商业
网站来说更是如此。
网站中的网页用超级文本标记语言(HTML)编写而成。当用户访问
网站的时候,实际上就是把
服务器上带有HTML 的文本内容传送到用户的浏览器中,然后通过浏览器来解释成图文并茂的网页。当用鼠标点击链接时,就是开始传送一个新的网页。
一些
网站是静态的。静态
网站需要维护人员手工更新
网站内容。更新内容就是手工 更新那些用HTML编写而成的网页文件,然后把这些文件放到
服务器中。更新由静态网页组成的
网站,需要编辑所有的文件,如果要更新的文件很多,更新就会很繁琐。这样就很容易犯错误。为了提高
网站内容维护的效率,就可以通过构建Web应用程序来解决问题。
Web应用程序就是一种通过互联网能够让Web浏览器和
服务器通讯的
计算机程序。不 同于静态
网站的,Web应用程序动态创建页面。采用动态方式生成的Web站点通过 使用
计算机程序来实现动态的特性。这种动态的应用程序可以用各种
计算机语言来 编写。
动态构建的
网站不需要维护管理人员一页一页的更新内容。动态
网站可以把HTML 部分和数据部分分离开,从而极大的提高
网站维护和管理的效率。使用Web应用程 序的
网站很多很多,比如:Google,SourceForge?,eBay,Hotmail等等。
通常,允许人们构建Web应用程序的框架被称作Web应用
服务器。Zope就是一种web 应用
服务器,类似的竞争者比如: WebLogic?, Macromedia ColdFusion? (
http://www.macromedia.com/)等等。Web应用
服务器一般通过某种
计算机程序语 言来创建web应用程序,并且提供更多的功能,比如模板、安全模型,数据安全, 对话(session),以及其它更多的在构建Web应用程序时所需要的方便特性。
2. 如何通过应用
服务器受益?
如果你想编写web应用程序,一般都需要使用应用
服务器框架,除非是非常特殊的 应用程序。通过使用应用
服务器框架可以充分利用已经编写好的各种服务程序, 而不需要像直接使用一种
编程语言那样从头写起。许多应用
服务器可以完成以下任务。
显示动态内容
你可以加入搜索特性。应用
服务器可以提供动态生成内容的服务。应用
服务器一般都可以个性化,并且结合数据库,以及搜索内容。
管理你的Web站点
应用
服务器可以通过统一的方式管理站点中的数据、事务逻辑和显示。
构建一个内容管理系统
应用
服务器提供构建内容管理系统的工具,从而可以让非技术编辑者可以创建和管理站点内容。
构建电子商务应用程序
应用
服务器提供构建复杂的电子商务所需的框架。
安全的管理各种用户
网站中的不同用户需要不同的权限,应用
服务器可以提供权限控制功能。
提供多种网络服务
支持网络服务的web站点可以处理来自其它
计算机程序的请求。应用
服务器正在逐步提供这样的功能。
结合多种系统
现有的内容可能来自于不同的地方,比如:关系数据库,文件,其它的站点等等。应用
服务器可以把这些不同的数据整合在一起,提供统一的界面。
提供可扩展性
应用
服务器可以根据
服务器负载的情况来进行扩展。
Zope应用
服务器可以完成上述所有功能。
3. Zope 历史
1996年,当时是Zope
公司CTO和 Python领袖的Jim Fulton,为教授CGI程序起草讲 稿,尽管他的CGI
编程的知识不算很多。Jim针对这门课程,以他自己的方式研究了 所有关于CGI方面的现存文档。在讲课返回的途中,Jim考虑传统的基于CGI的
编程 环境中他不喜欢的方面包括:脆弱、缺乏面向对象和暴露Web
服务器细节的方式。 从这些最初的沉思 开始,在返回的飞机中Jim写出了Zope的核心内容。
Zope
公司(原名为Digital Creations)后来公布了三个用以支持Web出版的开放源 码软件包,分别为: Bobo、Document Template 和BoboPOS? 。 这些软件包是用 Python编写的。它们发展成为Zope提供Web ORB (Object Request Broker)、DTML 脚本语言和对象数据库的核心组件。从那时起,Zope
公司就开发了一套基于他们的 三个开放源码组件的商业性的应 用
服务器。这个产品称为Principia 。在1998年 的11月,投资人Hadar Pedhazur 决定让Zope
公司公开Principia的源码。于是就形 成了Zope,
“Zope”含义是指 Z 对象出版环境(Z Object Publishing Environment,Z没有特 别的含义)。Zope主要采用Python编写,其中与性能密切相关的部分采用C语言编 写。
4. 为什么使用Zope?
比起其它web应用
服务器,Zope可以更好更快的创建web应用程序,这是因为Zope支 持以下特性:
Zope是免费的,可以在开放源代码许可证条件下自由分发,不同于那些昂贵的商业应用
服务器。
Zope是一套完整的平台。它包含了开发应用程序所需的全部组件。不需要为了使用Zope而
授权使用其它软件。并且Zope安装容易,轻松上手。
Zope允许并鼓励第三方开发者打包和分发应用程序。因此,Zope已经有了很多可以立即使用的产品组件。大多数组件都是自由并开放源代码的。Zope拥有一大批社区开发者。
Zope创建的应用程序可以直接通过Zope
企业对象(ZEO)进行扩展。通过ZEO,可以在多台
计算机中部署Zope应用程序,而不需要修改代码。
Zope 允许开发者只使用浏览器就可以创建web应用程序。比如:Internet Explorer, Mozilla, Netscape, OmniWeb?, Konqueror, 以及Opera浏览器都可以支持Zope的管理界面(ZMI).Zope还可以通过使用统一的web界面让其他的开发者安全的同时进行开发。其它应用服务 器很少支持这个特性。
Zope提供多种和可扩展的安全框架。可以轻松结合多种权限认证系统,比如通过内置的模块可以同时支持LDAP, Windows NT, and RADIUS。而许多其它应用
服务器缺乏这些特性
Zope可以让开发团队高效协同开发。协同环境可以让用户不会相互干扰,Zope使用Undo, Versions, History,以及其它工具来帮助人们一起工作,并且可以从错误中恢复过来。而其它大多数应用
服务器不支持这些特性。
Zope 可以运行在大多数
计算机操作系统平台中:Linux, Windows NT/2000/XP, Solaris, FreeBSD?, NetBSD?, OpenBSD?, 和 Mac OS X.。Zope甚至可以运行在Windows 98/ME中。而其它大多数应用
服务器做不到这一点。
Zope可以通过Python语言进行扩展。Python很流行并且很容易学,可以促进快速开发。Python中的许多功能库可以直接用于创建你的应用程序。而其它一些应用
服务器使用不能快速开发的编译语言,比如Java,或者使用不流行的语言。
用Zope创建的应用,请参考Zope
公司的主页Zope.com中的案例分析页面。
5. Zope的目标用户,以及Zope不适合做什么
管理大型站点的开发过程是件困难的事情。经常需要很多人一起工作来创建、部署和管理web应用程序。
信息架构者进行总的安排和控制
组件开发者创建可重用和分发的软件。
站点开发者结合现有的由组件开发者编写的软件,以及本地应用
服务器提供的服务,构建应用程序。
站点设计者创建站点的外观和感觉
内容管理者创建和管理站点的内容
管理员维护软件系统运行
消费者使用站点来定位和使用有用的内容。
Zope最适合组件开发者、站点管理者和站点设计者,并且这三种用户通过Zope提 供的服务和第三方产品可以一起协同开发应用。典型的情况是内容管理者和使用 者在系统架构者的指导下开发应用。管理员部署和维护应用程序。
Zope是一种web应用构建的框架,不同水平的程序员都可以使用Zope来创建基于web 的应用程序。Zope不是一种现成的应用程序。它不是weblog、内容管理系统或是 一种电子购物程序。
基于Zope的各种产品可以完成这样的功能。到目前为止,Zope.org站点中已经有 了500多种可用于你的应用程序的产品。这些产品包括Weblog,内容管理,以及电 子商务程序等等。
Zope不是一种可可视化的设计工具,不同于Macromedia Dreamweaver 或者 Adobe GoLive?这样的软件。你可以使用这些软件来管理基于Zope的web站点,但是不能用 Zope来替代这些界面设计软件。
6. Zope的使用条款,许可证,以及Zope社区
Zope是免费的。你可以用zope创建和运行web应用程序,而不用支付费用,并且还 可以在你的产品中置入zope而不用给Zope
公司支付使用费。分发Zope需要遵守的许可证是一种开放源码许可证,即Zope Public License或ZPL。ZPL条款中规定你可以获得和修改Zope的源代码。
ZPL不同于GNU Public License(另外一种比较流行的开放源代码许可证)。如 果你试图重新分发遵守GPL许可证的应用程序,并且你修改或扩展了应用程序,GPL 要求所做的贡献属于许可证颁发者。而对于遵守ZPL的应用程序就没有这样的要求。 ZPL已经得到开放源代码机构的认可,获得了OSD认证,另外还得到自由软件基金会的认 可,兼容于GPL许可证。
Zope开发者社区负责维护或扩展Zope应用
服务器。社区中的很多成员是专业咨询顾 问、专业开发者和Web精通者,他们使用Zope开发应用程序。另外,用户中还有学生以及站点开发爱好者。Zope
公司也是社区成员之一,主要负责维护Zope以及开发Zope代码。 Zope社区通过聚会以及邮件列表和站点进行交流。在Zope.org的邮件列表页面,可 以找到更多的信息。
Zope
公司通过多种方式获得收入,包括为商业用户创建web应用程序,培训Zope开发 者,为使用Zope的
公司提供技术支持,以及主机服务。Zope
公司不从Zope
服务器 的销售中获得收益。