介绍Zope

介绍Zope
 英文原稿 introducing zope ( http://zope.org/Documentation/Books/ZopeBook/2_6Edition/IntroducingZope.stx )
说明
本文来自快乐程序网dohao.net,作者:杜文山

介绍Zope

1. 什么是Web应用程序?
2. 如何通过应用服务器受益?
3. Zope 历史
4. 为什么使用Zope?
5. Zope的目标用户,以及Zope不适合做什么
6. 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服务器的销售中获得收益。

无论是采取虚拟主机租用的方式还是采取自建的方式,当你的网站建好之后,都面临着两个问题。一个是后续内容的不断更新或者对以前内容的管理问题;另一个是如何让读者尽快从你的网站中找到他所需要的信息。而如果你的网站数据量较大,那么这两个问题都需要有专门的软件来完成。第一个问题可以简称为内容管理问题,通常由专门的内容管理系统(CMS,Content Management System)完成;第二个问题可以简称 为站内搜索问题,通常由专门的搜索引擎系统(SE,Search Engine)完成。下面我们分别来介绍一下这两种专用系统的情况。

内容管理系统(CMS)
简单地说,CMS的基本功能是把网站的内容管理和页面设计分开,页面设计存储在模板里,而内容存储在数据库或独立的文件中。当一个用户请求页面时,各部分联合生成一个标准的HTML页面。有了CMS,一旦模板建立起来了,你可以直接更新内容,即使是普通用户也可以在没有专业人士配合的情况下完成内容的更新。一个CMS通常包括文档模板、脚本语言、数据库集成、嵌入页面的特殊标记等要素。换言之,CMS的最大的好处在于使用模板和通用的设计元素,用户可以把主要精力集中在内容的生产而非HTML页面上。

中小企业在建好网站之后面临着内容的不断更新,一个适用的CMS确实能帮助企业轻松地完成这项工作,但是否使用CMS要根据本企业的业务需求而定,如果你的数据更新量较大,数据更新人员的水平又较低,你希望网站的管理更规范,网站的安全性更强,那使用CMS就有必要了。目前开放源码的CMS正在不断成长,对于中小企业的网站来说,它们可以游刃有余的完成网站内容管理任务。表1、表2向大家简单介绍了五种比较流行的开放源代码CMS产品的基本情况。

最后,在决定使用CMS之后,还有两个要注意的问题。一是开放源码的CMS并不意味着完全的免费,开放源码的CMS也提供商业支持和商业许可证,如果你的需求很普通,那么在一些开放源代码CMS的社区里可能就会找到合适的插件,但有时一些特殊功能可能就需要收费了。二是不论你选择哪一种CMS,你都要找到一个能够调试代码的技术人员为你服务,至少第一次的配置需要这个技术人员,这个技术人员也许是你自己,也许是你的朋友,也许是你的员工,总之,技术支持是你实施CMS的一个关键。

搜索引擎系统(SE)
随着网站内容的不断增加,如何让读者尽快找到所需要的信息,是网站建好后又一个要考虑的问题。据统计,每需要多点击一次鼠标,就有三分之一的用户选择放弃。这意味着100个访问者进入网站,如果需要点击三次鼠标才能找到所需要的东西,那么就只剩下不到4个人了。中小企业的网站的主要目的是让外界了解自己,了解的人越多,效果就越好,这样站内索成为必然选择。同时,对于中小企业的网站来说,所有访问网站的人都可能是潜在客户,了解他们的意图对于做决策很重要。站内索技术也有助于找到潜在的目标客户。

尽管站内搜索有这么多的好处,但对于中小企业的网站来说,专业的站内搜索引擎那昂贵的售价,复杂的系统维护却令其望而却步。另外,这些系统几乎都是为大型网站所设计的,需求相对简单的中小企业几乎用不到大部分功能。因此,对于中小企业的网站来说,比较合适的选择是通过网络信息服务专家系统(WISA,Website Information Service Assistant)来实现站内的搜索服务。WISA是针对于各类网站的一种远程情报服务,它通过对网络用户信息的搜集、整理和分析,为企业提供具有商业价值的情报,如:网络推广效果分析、客户情报分析及网站流量统计分析等。这种方式,可以省去网站在硬件、软件、维护上的投入,令没有专业技术的普通网站轻松拥有自己的搜索引擎。

以北京海量在线公司(www.wisa.com.cn)的WISA为例,其面向中小网站推出的WISA X版可以免费提供的(免费使用30天之后,无权享受情报功能,但依旧可以使用WISA的站内检索功能和其他增值服务),无论网站是在自己的主机上还是在虚拟主机上,无论其网页是静态还是动态,用户只需在www.wisa.com.cn注册,即可自动完成WISA X的安装,而无需额外购买软硬件,也省去了企业的开发工作。同时,WISA X的站内搜索不 仅可以实现全文搜索,而且还能够对关键词和关键语句进行检索。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值