Odoo web 机制浅析

本文介绍了Odoo的web运行机制,包括WSGI在Odoo中的作用,详细讲解了Odoo中的web server、web container和web handler。内容涵盖Handler请求分发、Session处理及其生命周期,以及Odoo web启动流程。
摘要由CSDN通过智能技术生成

        Odoo作为开源ERP,在欧洲有着广泛的应用,但就中国来说,基本上还处于起步阶段,国内的应用并不是太多,因此,从市场来看,其应用潜力是巨大的。要基于Odoo进行二次开发,就必须要对Odoo的web基本运行原理有必要的了解,才能从宏观上对Odoo有个大体认识。此文正是基于此目的,进行简要的分析,希望能够对开发Odoo应用有帮助。
         Odoo使用的编程语言为python,python本身并不能直接处理web请求,就好比java并不能直接处理web请求一样,都需要一个媒介或桥梁,那么 要使基于python的Odoo能够处理来自WebServer包装之后的请求,这个媒介或桥梁是什么呢? 这个桥梁就是WSGI. 那么到底什么是WSGI呢?

1 WSGI

        WSGI的官方定义:the Python WebServer Gateway Interface。顾名思义,这就是一个Gateway,也就是网关,具体标准请参看 http://legacy.python.org/dev/peps/pep-0333/

         (注:以下内容摘自文章【1】)

        网关的作用就是在协议之间进行转换,如下图所示

                                     

        WSGI一边连着web服务器,另一边连着用户的应用。但是,这个桥的功能很弱,有时候还需要别的桥来帮忙才能进行处理,如下图所示:

                                                      

在上图中:

         wsgiapp又称应用 ,就是一个WSGIapplication。

         wsgi container ,又称容器 ,虽然这个部分常常被称为handler,handler容易和app混淆,所以称之为容器。

         wsgi_middleware ,又称中间件,一种特殊类型的程序,专门负责在容器和应用进行额外处理的

 具体wsgi app、wsgi container 和wsgi middleware关系的详细介绍请参看文章【1】

2 Odoo中的web运行机制   

2.1 Odoo中的web server

Odoo自身定义实现了4中类型的web server,可以从server.py文件中得知

  

 


CommonServer是其他三个server的父类

 
   
                                                                
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值