Odoo y Business Intelligence - Las limitaciones de Odoo
Dejemoslo bien claro desde un principio. Odoo no es ni será un sistema de Business Intelligence. Odoo es un ERP. Es decir, permite facturar, generar ordenes de producción, confeccionar ordenes de venta, liquidar sueldos, etc, etc. Pero no es un sistema de Business Intelligence. Cuenta con unas vistas muy bonitas que permiten pivotar columnas y filas, hacer drill-down, exportar a Excel... y para de contar. Para hacer demos es muy bonito. Para clientes chicos que tienen poco volumen funciona. Pero si uno está trabajando en un entorno real de producción, es poco realista.
El primer limitante es el volumen. El cliente de Odoo para realizar consultas es un cliente de Javascript el cual tiene limitaciones a medida que aumenta el volumen de datos. Una vez superados los mil productos diferentes o los mil clientes, las consultas no finalizan nunca. Y la razon es sencilla, cuando uno computa un cubo de información para consultas OLAP, cuanto mayor sea el número de filas y de columnas que tenga que resolver el cubo, mayores serán los recursos necesarios para resolver la consulta. En el caso de los browsers, los recursos de memoria y CPU son bastante limitados, por eso los problemas de Odoo en resolver los cubos en los cuales la cantidad de información es grande.
Por otra parte, la herramienta para generar vistas OLAP en Odoo es basica. Por ejemplo, las capacidades para filtrar la información son muy básicas. Y tampoco se pueden generar columnas calculadas. Todo eso hay que hacerlo en el modelo a nivel programación, lo cual no es la idea.
Otro problema que tiene Odoo como sistema de Business Intelligence es que la información se encuentra normalizada. Al fin y al cabo Odoo es un ERP, no un sistema de soporte de decisiones. El tener la información desnormalizada haria que las operaciones del ERP fuesen mucho más lentas.
Asi que bueno, que es lo que hace uno? Termina consultando Odoo con herramientas de BI como Pentaho o Jasper (para nombrar dos). En otro server (para no mezclar el procesamiento de Odoo con el de una herramienta OLAP, que es muy intensivo a nivel memoria) uno instala una herramienta como Pentaho. Y desde ahi lo conecta con Odoo utilizando conectores propios como los que tiene Pentaho (que le permiten acceder a todo el modelo de datos de Odoo, incluyendo sus reglas de seguridad y campos calculados) o mediante JDBC contra PostgreSQL.
Les recomendaría por otra parte que prueben con el módulo Pentaho for Odoo. Es un trabajo de Willow IT y permite generar reportes de Pentaho e integrarlos en Odoo. Es decir, para desarrollar reportes uno contaría con las herramientas de Q-Web y tambien Pentaho. Pentaho Report Designer brinda herramientas para generar reportes de alta calidad.
Acerca de:
Gustavo Orrillo
Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.