iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Odoo

用 Odoo 打造數位轉型引擎:從基礎建置到跨領域應用系列 第 2

Day 2:Odoo 架構總覽:模組化、ORM、QWeb、PostgreSQL

  • 分享至 

  • xImage
  •  

在深入實作 Odoo 之前,理解其系統架構是非常重要的一步。Odoo 並不是單一功能的 ERP,而是一個 模組化、可擴充的企業應用平台。它的底層設計讓開發者能快速構建新功能,同時保持與既有模組的整合性。以下將從四個核心面向來認識 Odoo 架構。


1. 模組化設計

Odoo 採用 高度模組化 的設計理念。每個功能都是一個獨立的模組(module),像是 CRM、銷售、會計、庫存、專案管理、製造等。

  • 使用者可以依需求自由啟用或停用模組,避免一次導入龐大系統。
  • 模組之間能互相呼叫,組合成完整的企業解決方案。
  • 社群貢獻了上萬個模組,涵蓋從行銷到 IoT 的各種應用。

2. ORM(Object Relational Mapping)

Odoo 使用 Python ORM 來操作底層的 PostgreSQL 資料庫,開發者不需要直接撰寫 SQL。

  • 每個資料表(table)對應到一個 Python 類別(class)。
  • ORM 自動處理新增、修改、刪除資料的細節。
  • 提供多種查詢方法(如 searchbrowsecreatewrite),大幅簡化資料操作。

3. QWeb(前端模板引擎)

Odoo 採用 QWeb 作為前端模板系統。

  • QWeb 是 XML-based 的標記語言,支援條件判斷與迴圈。
  • 主要用於頁面渲染(form、tree、kanban)、報表輸出與 PDF 生成。
  • 與後端的 ORM 緊密整合,能直接綁定模型資料顯示。

4. PostgreSQL 資料庫

Odoo 的資料儲存完全建立在 PostgreSQL 之上。

  • PostgreSQL 擁有高度可靠性與擴充性,支援事務控制、觸發器與高效能索引。
  • Odoo 的多租戶(multi-tenancy)特性,使得同一套系統可以管理多個資料庫,方便企業分公司或不同專案管理。
  • ORM + PostgreSQL 的組合,讓開發者能兼顧靈活性與效能。

小結

Odoo 的核心架構可以理解為:

  • 模組化平台(彈性擴充)
  • Python ORM(簡化資料操作)
  • QWeb 前端引擎(靈活視圖與報表)
  • PostgreSQL 資料庫(可靠且強大的基礎)

這樣的設計讓 Odoo 不僅能勝任傳統 ERP,也能輕鬆整合 IoT、AI、甚至跨領域應用。在接下來的篇章,我將示範如何在本地端安裝 Odoo,並逐步帶你體驗實際操作與開發。


上一篇
Day 1:為什麼選擇 Odoo?Odoo 的起源、特色與全球應用
下一篇
Day 3:Odoo 安裝方式比較:官方套件、Docker、原始碼安裝
系列文
用 Odoo 打造數位轉型引擎:從基礎建置到跨領域應用3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言