Introducción a Odoo y su Arquitectura
Odoo es el sistema de Planificación de Recursos Empresariales (ERP) y Gestión de Relaciones con Clientes (CRM) de código abierto más utilizado a nivel global. Permite centralizar la gestión de ventas, compras, inventario, facturación, contabilidad, proyectos, recursos humanos y comercio electrónico en una única plataforma unificada.
1. Evolución y Versiones: Community vs Enterprise #
Odoo (originalmente creado en 2005 bajo el nombre TinyERP y posteriormente OpenERP) opera bajo un modelo de negocio Open Core:
| Característica | Odoo Community | Odoo Enterprise |
|---|---|---|
| Licencia | Código abierto (LGPLv3) | Propietaria comercial |
| Coste | Gratuita sin límites de usuarios | Suscripción mensual/anual por usuario |
| Funcionalidades Base | Ventas, CRM, Compras, Inventario, Facturación básica | Contabilidad avanzada, Studio, Nóminas, Automatizaciones |
| Vistas de Interfaz | Formulario, Lista, Kanban, Calendario | Vistas avanzadas (Gantt, Cuadrícula/Grid, Mapas) |
| Aplicaciones Móviles | Vía navegador web responsive | App nativa para iOS y Android con escáner de códigos de barras |
2. La Arquitectura de Tres Capas de Odoo #
Odoo se estructura sobre un modelo cliente-servidor de alta escalabilidad:
1┌──────────────────────────────────────────────────────────────────────────────────┐ 2│ ARQUITECTURA DE ODOO │ 3├──────────────────────────────────────────────────────────────────────────────────┤ 4│ 1. CAPA DE PRESENTACIÓN (Frontend Web) │ 5│ Framework Reactivo OWL (Odoo Web Library) / JavaScript + HTML/SCSS │ 6├──────────────────────────────────────────────────────────────────────────────────┤ 7│ 2. CAPA DE APLICACIÓN Y LÓGICA DE NEGOCIO (Servidor Backend) │ 8│ Python 3.10+ con Servidor Web WSGI (Werkzeug) + Framework ORM │ 9├──────────────────────────────────────────────────────────────────────────────────┤ 10│ 3. CAPA DE PERSISTENCIA Y DATOS (Base de Datos) │ 11│ Motor Relacional PostgreSQL (tablas, secuencias e índices optimizados) │ 12└──────────────────────────────────────────────────────────────────────────────────┘
- Framework ORM (Object Relational Mapping): La capa de Python traduce automáticamente las clases y registros a tablas y operaciones SQL en PostgreSQL, encargándose de la seguridad, herencia y transacciones.
- Framework OWL (Odoo Web Library): Framework moderno de JavaScript basado en componentes reactivos y Virtual DOM (similar a React o Vue) sobre el que se construye toda la interfaz de usuario web desde Odoo 14+.
3. Estructura de Directorios del Servidor #
Cuando descargas o ejecutas Odoo, el árbol de directorios principal organiza las fuentes y extensiones:
odoo//odoo-bin: Núcleo ejecutable del servidor de aplicaciones y herramientas CLI.odoo/addons/: Módulos base del sistema (base, web, mail, auth).addons/: Aplicaciones oficiales estándar (sale, purchase, account, stock).custom_addons/: Directorio reservado para tus propios módulos personalizados o módulos de la comunidad (OCA - Odoo Community Association).
Resumen del tema
Conceptos clave #
- Plataforma ERP Modular: suite integral de gestión empresarial (ventas, inventario, facturación, RRHH) disponible en versiones Community (código abierto) y Enterprise (funcionalidades avanzadas y soporte).
- Arquitectura de Tres Capas:
- Cliente Web: interfaz interactiva basada en OWL / JavaScript.
- Servidor de Aplicación: motor en Python con capa ORM abstracta para reglas de negocio.
- Base de Datos: motor relacional PostgreSQL.
- Entorno de Desarrollo: ejecución mediante entornos virtuales Python (
virtualenv), servidor PostgreSQL y separación de rutas de módulos (addonsycustom_addons).
Qué debes recordar #
Odoo integra todas las áreas empresariales sobre una arquitectura Python/PostgreSQL modular impulsada por un potente framework ORM.