OpenERP源码结构分析及RPC相关代码分布

来源:互联网 发布:电脑流量防火墙软件 编辑:程序博客网 时间:2024/05/30 07:12

OpenERP源码结构分析及RPC相关代码分布简单介绍如下:

openerp/<span style="white-space:pre"></span>addons/<span style="white-space:pre"></span>“””存放一个个openerp的可加载模块,如销售、仓库等模块”””<span style="white-space:pre"></span>web/<span style="white-space:pre"></span>“””web模块,一个重要的模块”””<span style="white-space:pre"></span>http.py<span style="white-space:pre"></span>“””用http.py来加载该模块的处理函数”””<span style="white-space:pre"></span>controllers/<span style="white-space:pre"></span>main.py<span style="white-space:pre"></span>“””web模块的处理函数全在这里定义,每个函数都继承了<span style="font-family: 宋体;">openerpweb.Controller,并且都有属性_cp_path。”””</span>
<span style="white-space:pre"></span>cli/<span style="white-space:pre"></span>“””存放启动服务的代码”””<span style="white-space:pre"></span>server.py<span style="white-space:pre"></span>“””OpenERP启动代码,打开service中的一系列服务”””<span style="white-space:pre"></span>conf/<span style="white-space:pre"></span>loglevels.py<span style="white-space:pre"></span>modeles/<span style="white-space:pre"></span>“””存放加载模块相关代码”””<span style="white-space:pre"></span>netsvc.py“””网络相关,提供了一个提取服务的基类ExportService,继承此基类实现RPC调用的处理。对不同RPC调用实现分派”””<span style="white-space:pre"></span>osv/“””存放处理对象操作的代码”””<span style="white-space:pre"></span>osv.py<span style="white-space:pre"></span>“””其中定义了对象处理类object_proxy,定义了对对象处理的几个重要函数,RPC调用对象的操作最终便是用这里的函数来实现操作”””<span style="white-space:pre"></span>pooler.py<span style="white-space:pre"></span>“””模块池,用于获取一个已注册的模块。”””<span style="white-space:pre"></span>release.py<span style="white-space:pre"></span>“””控制版本信息”””<span style="white-space:pre"></span>report/<span style="white-space:pre"></span>service/<span style="white-space:pre"></span>“””存放服务相关代码,其网络服务很重要”””<span style="white-space:pre"></span>__init__.py<span style="white-space:pre"></span>“””在此打开service下的一系列服务。”””<span style="white-space:pre"></span>web_service.py<span style="white-space:pre"></span>“””继承netsvc.py中的ExportService,定义RPC方法(重要)。其中<span style="font-family: 宋体;">分三大类RPC服务:</span>
<span style="white-space:pre"></span>1、common类,用于处理通用RPC,既登陆退出OpenERP等;<span style="white-space:pre"></span>2、db类,用于处理数据库的RPC,慎用;<span style="white-space:pre"></span>3、object类,最有用的网络服务,用于处理各模块的RPC。”””<span style="white-space:pre"></span>websrv_lib.py<span style="white-space:pre"></span>“””注册RPC处理函数,既把调用路径和其代表的处理函数挂钩”””<span style="white-space:pre"></span>wsgi_server.py<span style="white-space:pre"></span>“””web服务器网关接口。服务器开启后在此轮询handler(即RPC处理函数)”””<span style="white-space:pre"></span>sql_db.py<span style="white-space:pre"></span>tools/<span style="white-space:pre"></span>configure.py<span style="white-space:pre"></span>“””配置相关。第114行有XML-RPC是否默认启动的设置””” <span style="white-space:pre"></span>workflow/


0 0
原创粉丝点击