面向对象的Web 服务器Zope (4)_Windows教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
缂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗ù锝堫嚉濞差亝鏅濋柛灞炬皑閸旂數绱撴担鎻掍壕闂佺浜顤獵MS闂傚倷娴囧畷鐢稿窗閹扮増鍋¢柕澶堝剻濞戞ǚ鏀介悗锝冨妷閸嬫捇宕掗悙鏌ュ敹闂佸搫娲ㄩ崑鐐烘倵椤掆偓閳规垿鎮欓崣澶樻!闂佹悶鍔庨崰鏍ь嚕婵犳碍鏅搁柨鐕傛嫹濠电姷鏁搁崑鐐哄垂鐠轰警娼栭悷娆忓閻濆爼鏌涢埄鍐槈闁绘挻锕㈤弻鈥愁吋鎼粹€崇闂佹娊鏀辩敮锟犲蓟閵娾晜鍋嗛柛灞剧☉椤忥拷 缂傚倸鍊搁崐椋庣矆娓氣偓钘濋梺顒€绉寸粣妤呮煙闁箑澧鹃柤鏉挎健閺屾盯濡烽鐓庮潻缂備讲鍋撳鑸靛姈閻撳啴鏌曟径鍫濆闁绘繍浜弻锝呪攽閹炬潙顏� 闂傚倸鍊搁崐椋庢閿熺姴纾婚柛鏇ㄥ瀬閸ャ劍缍囬柍鍝勫暟椤︻垱绻濋姀锝嗙【闁哄牜鍓熷畷妤€饪伴崼鐔哄幐闂佹悶鍎崝宥夋儍閹达附鈷掑璺猴功鏁堥梺鍝勮閸婃牕岣胯箛娑樜╅柨鏃傜帛椤ユ稓绱撻崒娆戝妽闁哥偛顭烽獮蹇涙晸閿燂拷 闂傚倸鍊风粈渚€骞栭锕€鐤柣妤€鐗婇崣蹇涙煙缂併垹鏋涙俊鐐扮矙閺屸€愁吋鎼粹€茬敖闂佸憡顨嗙喊宥囨崲濞戙垹骞㈡俊顖濐嚙闂夊秴鈹戦鍡欑ɑ闁告梹顨婇崺鈧い鎺戝枤濞兼劙鏌熼鑲╁煟鐎规洘娲熼弻鍡楊吋閸涱垳鍘梻浣芥硶閸o箓骞忛敓锟�,闂傚倸鍊峰ù鍥儍椤愶箑绀嬫い鎰╁灩琚橀梻浣筋嚙濮橈箓锝炴径瀣濠电姴鍋嗛崵鏇㈡煕椤愶絾绀€缂佲偓閸愨斂浜滈柡鍌氱仢閹垶銇勮箛鏇炴瀾缂佺粯鐩獮瀣倷閺夋垹娈ら梻浣呵归鍡涘箲閸パ屾綎闁告繂瀚ч弸搴ㄦ煙椤栧棗瀚禍顏堟⒒娴e憡鍟為柣鐔村劤閹广垹螣娓氼垰娈ㄦ繝鐢靛У绾板秹寮查幖浣圭叆闁绘洖鍊圭€氾拷!
六、数据共享Zope 的强大功能之一就是它简单而成熟的数据共享模型,这个模型叫做“获取”,核心的概念可以简单的描述为:
Zope 对象包含于其它对象中(例如,文件夹)
对象能够“获取”容器中的属性,内容,行为。
以前,我们决定把我们网站的头和脚封装到分离的 DTML 文档,这样能包含其他网站的内容,但是这个设计在拷贝头和脚到网站内所有的文件夹时发生了问题。如果我们采取“获取”的办法,在网站的顶层文件夹建立头和脚,下层的 DTML 就能自动“获取”。
这个概念对所有的对象都适用,对把常用的资源集中起来十分有用。例如,对一个经常用到的 SQL 查询语句,我们可以把它定义在一个文件夹里,子文件夹里的对象能自动通过“获取”来使用它,如果要改变查询语句,只需要改动一个地方就可以了。
因为对象从当前层开始“获取”,然后向上搜索,因此很容易建立自己的文档。
例如,我们有一个叫做“Sports”的文件夹,内容全部是关于运动的,你可以在这个文件夹里建立自己的头和脚,当前目录及其子目录下面的文档就会使用这两个文档而不是采用顶层的那个了。
对“获取”的使用方法可以写好几篇这样的文章,我们首先需要了解的就是它提供了一个简单但是强大的方法来避免数据冗余而增加网站的维护成本。
七、安全授权
一个成功的网站需要组织起一个团队来合作:应用开发人员,SQL 专家,内容管理员以及应用的最终用户。在传统的网站里,维护和安全会很快出现矛盾。对权限的分配会变得十分复杂。
Zope 在这个问题上采用了数据和表示的清晰分离以及灵活的安全模型。采用“用户文件夹”来管理用户,里面包含用户信息。Zope 提供了要比普通文件系统要丰富得多的权限。
除了使用Web 来管理强大的封装和安全特色以外,Zope 还提供其他协议的合作开发特色,包括 FTP, WebDAV 和 XML-RPC。版本管理,能让其他用户看到最新的版本更新,但不是发布出去,如果版本的修改结束后,用户就可以“提交”版本,把最新版本的网站发布出去。
八、XML 支持
当前应用服务器市场的热门话题就是 XML 支持。Zope 除了内置的对基于 XML的协议 WebDAV 和 XML-RPC的支持外,Zope 的开发人员还可以利用一个快速的基于 C 的 XML 分析器,Zope 对象数据库能导出为 XML 格式。利用一个“XML 文档”的附加原型,可以把 XML 文档上传到 Zope,Zope 会自动分析文档及其元素,并储存为单独的 Zope 对象。
和 XML 相关的是,Zope 包含了对DOM(Document Object Model) API的支持。开发人员可以在 DTML 或者 Python 代码中使用熟悉的 DOM 调用来操作 Zope 对象。将来对 XML 的支持还会包含 XSL 处理以及用 XQL(XML Query Language) 对 Zope 对象搜索。
九、结束的话
Zope 是高度可扩充的,高级用户可以建立自己的对象类型,或者采用 Python 写新的 Zope 附加模块。Zope 社区已经有很多这类的附加产品。更多的产品信息可以参考 Zope 的网站:www.zope.org。
国内的 www.FreeLAMP.com 网站是一家采用 Zope + SquishDot 架构的开放源码新闻网站,着力于网站安全和 LAMP(Linux + Apache + MySQL + PHP/Perl/Python) 的架构。
相关Windows教程:
- 相关链接:
- 教程说明:
Windows教程-面向对象的Web 服务器Zope (4)
。