OpenERP源码结构分析及RPC相关代码分布
2014-10-30 21:32
369 查看
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>
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/
相关文章推荐
- boa源码分析(3)--代码结构
- FreeRTOS源码分析-代码结构
- libevent源码分析1 ----evnet相关结构体分析
- MySQL源码分析——代码结构与基本流程
- LIRE原理与源码分析(一)——代码结构
- nsq源码分析(1):代码结构
- Linux kernel 3.10内核源码分析--slab原理及相关代码
- libevent源码分析--代码结构
- EntLib.com Forum / YAF 开源论坛--源码的目录结构(对分析代码很有帮助)
- boa源码分析(3)--代码结构
- netlink监听网络变化代码(转载)+流程分析(原创+转载)+数据结构以及相关宏的解析(原创)
- Flume源码分析—代码结构理解(四)
- jemalloc源码结构分析(三):arena_malloc_small内存分布
- jquery源码解析:代码结构分析
- Uboot 源码分析----代码整体结构分析
- PostgreSQL源码目录结构及其相关模块功能分析
- C++卷积神经网络实例:tiny_cnn代码详解(11)——层结构容器layers类源码分析
- sqoop 抽取源码流程分析( 二 ) 导入工具代码结构分析
- Hadoop RPC 源码分析- 相关类图
- 开放源代码的全文检索引擎Lucene――介绍、系统结构与源码实现分析