- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章-Zope对象发布原理,机械原理第十章答案,qtp识别对象的原理,zope.interface,pythonzope,zope.interface安装,zope.interface下载,zope2book,路由重发布的工作原理,刀塔传奇第十章
Zope对象发布原理
从前几章,我们可以看到Plone内容管理系统的强大功能。Plone是架设在Zope web应用服务器之上的。 从本章开始,我们将逐步深入了解Zope/Plone各种开发技术。 本章是后续各章的基础,适合阅读人员包括Plone的脚本开发人员和扩展开发人员。
本章重点:
Zope的对象发布过程
获取机制
10.1???Zope的内部架构
Zope是一个对象发布服务器,内部由多个组成模块,具体架构如图10.1所示。
【10.1】Zope组成架构图
上图中间的方框标识了Zope服务器的主要部件,上方是Zope和前端用户不同连接方式,下方是Zope其他的数据存储接口。分别说明如下。
10.1.1???Web服务器
Zope自带一个Web服务器,也可以和其他的web服务器(比如Apache)集成。
ZServer
这是Zope内置的Web服务器,用于提供内容服务。这个web服务器还支持FTP、 WebDAV和XML-RPC等多种接口协议。
Web Server(Web服务器)
Zope还可以和现有的Web Server结合在一起,比如Apache或者Microsoft IIS,以及其它支持通用网关接口(CGI)的Web服务器。
10.1.2???Zope Core(Zope核心)
这是Zope的核心引擎,它控制如何显示,以及控制管理界面和对象数据库。
10.1.3???数据的存储
Zope的数据可存储在多种系统中。默认是存放在ZODB中,但也可存放在关系数据库中,或者文件系统中。
Object Database(ZODB,对象数据库)
使用Zope的时候,大多数情况下是在处理存储在Zope对象数据库中的对象。ZODB是Zope/Plone的默认数据存储介质。
Relational database(关系型数据库)
数据不一定要存储在Zope对象数据库中,Zope中可以使用其它的关系型数据库,比如 Oracle, PostgreSQL, Sybase, MySQL等等。
File System(文件系统)
Zope还可以使用存储在服务器文件系统中的文档和其它文件。
10.1.4???Zope扩展组件
Zope提供2种方法来扩展Zope,增加有新特性的对象组件,他们是ZClass和Product:
ZClasses
使用ZClass,可以通过使用Web管理界面来定义类,而不是采用传统的代码方式定义类。
Warning
ZClass技术已经过时,Zope未来版本将会去除对ZClass的支持
Products(插件产品)
Zope中还可以通过在Zope服务器中的文件系统里安装 插件产品 后,添加新的对象。
Hint
Plone就是由Zope上的一组扩展插件产品组成,包括CMFPlone、Archetypes等.
10.2???Zope对象发布过程
Plone上的所有内容、服务、逻辑,都是以对象的形式存放在Zope的对象数据库ZODB中。
Zope把对象输出到网络上,这就是所谓的 对象发布 。对象发布是Zope服务器请求处理一次服务器的全过程:
用户从浏览器、FTP客户端,或者xml-rpc程序中发起页面请求。请求的URL格式为:protocol://host:port/path?querystring, 比如:
:8080/Resources?batch_start=100
Zope把URL分解成:主机、端口、路径和查询参数(分别是:```` 、 8080 、 /Resources 和 ?batch_start=100)。
根据路径(/Resources),Zope服务器中的ZPublisher,会在ZODB对象数据库中定位到相关的对象
传递参数(?batch_start=100)执行行发布对象
如果对象执行的结果返回数值,那么数值就被发送回浏览器。一般是返回 HTML,文件数据或图形数据。
浏览器解释收到的数据并显示。
上述过程,可用下图表示:
HTTP 请求
\ +---------+ request +------------+ (对象漫游定位) +----------+ (运行)
FTP -+-| ZServer |----------| ZPublisher |----------------| 发布对象 |--------- response
/ +---------+ +------------+ +----------+
SOAP 输入 输出
文档评论(0)