SlideShare a Scribd company logo
OpenERP
OpenERP Days 2013OpenERP Days 2013
OpenERP enterprise integration:
A war story
Daniel Reis
IT Applications Manager
Securitas Portugal
@reis_pt
daniel.reis@securitas.pt
https://launchpad.net/~dreis-pt
OpenERP as an
Enterprise App platform
OpenERP
Corporate ERP
Customers
Contracts
Analytic accounts
HRMS
Employees
Departments
Op Systems
Serviced sites
Serviced systems
The basic method:
import CSV file
id, name, ref, categ_id
product_product_aa, Prod A, AA, product_categ_X
product_product_bb, Prod B, BB, product_categ_X
product_product_cc, Prod C, CC, product_categ_Y
External Identifiers
aka XML IDs
XML ID Model Database ID
product_product_aa product.product 879
product_product_bb product.product 880
product_product_cc product.product 881
product_product_AAA product.product 879
product_categ_X product.categ 45
product_categ_y product.categ 56
ORM API: load()
product_categ.load(cr, uid, # import_data() on v6.1
[id , name ], # field names
[ ['product_categ_X', 'Categ X'], # data rows
['product_categ_Y', 'Categ Y'],
]
product_product.load(cr, uid,
[id , name , ref , categ_id.id ],
[ ['product_product_aa', 'Prod A', 'AA', 'product_categ_X'],
['product_product_bb', 'Prod B', 'BB', 'product_categ_X'],
['product_product_cc', 'Prod C', 'CC', 'product_categ_Y'],
]
product_categ.load(cr, uid, # import_data() on v6.1
[id , name ], # field names
[ ['product_categ_X', 'Categ X'], # data rows
['product_categ_Y', 'Categ Y'],
]
product_product.load(cr, uid,
[id , name , ref , categ_id.id ],
[ ['product_product_aa', 'Prod A', 'AA', 'product_categ_X'],
['product_product_bb', 'Prod B', 'BB', 'product_categ_X'],
['product_product_cc', 'Prod C', 'CC', 'product_categ_Y'],
]
Import CSV file
summary
Official method
Uses ORM
External identifiers
Many-to-one support
Automate
?
import_odbc
SQL import module
solution
OpenOpenERPERP
1. Query external database
2. Build import data structure
3. Call load()
Build "CSV file" from SQL
id, name, ref, categ_id
product_product_AA, Prod A, AA, product_categ_X
product_product_BB, Prod B, BB, product_categ_X
product_product_CC, Prod C, CC, product_categ_Y
SELECT
product.id as “None”, -- generates id column
product.name as “name”,
product.id as “ref”,
'product_categ_' + product.category_id as “categ_id”
FROM product
WHERE change_timestamp >= ? -- last sync date
import_odbc module
SQL import module
summary
OpenOpenERPERP
lp:openobject-extension
(https://code.launchpad.net/~extra-addons-commiter/openobject-extension )
Concerns
Runs in OE server
DB middleware installation
SQL sources only
SQL transforms only
import_odbc
etl table loading
Another class of solutions:
ETL & Pentaho Kettle
OpenOpenERPERP
ETL allows for complex
transformations and validations...
The naive way: direct table loading.
(Don't do this!)
Pentaho Kettle ETL
summary
http://kettle.pentaho.com
Concerns
Learning curve
OpenOpenERPERP
import_odbc
etl table loading
import_sqlpush
OpenOpenERPERP
import_sqlpush: push and load
solution
1. ETL push data
a. Get data
b. Build import line
c. Write to queue table
2. OE scheduled import
a. Read queue table
b. Run import_data()
c. Update queue status
An example:
import categorized products
OpenERP data integration in an entreprise context: a war story
Import line built by the "data"
column
OpenERP data integration in an entreprise context: a war story
import_sqlpush: push and load
summary
https://code.launchpad.net/~dreis-pt/reis-openerp-addons/trunk
Concerns
Two step latency
Process in OpenERP server
Data rows building logic
OpenOpenERPERP
import_odbc
etl table loading
import_sqlpush
openerp steps
OpenOpenERPERP
OpenERP output step
solution
ETL Steps
1. Get data
2. Transformations
3. OpenERP output
OpenERP data integration in an entreprise context: a war story
An example:
Customers and Contracts.
OpenERP data integration in an entreprise context: a war story
OpenOpenERPERP
OpenERP output step issues:
roundtrips & no XML Ids
1. search() all model ids
2. read() all lookup fields
3. Find ids for input rows
4. Call import_data()
Pentaho Kettle ETL
summary
http://tinyurl.com/openerpstep
https://bugs.launchpad.net/openobject-server/+bug/1186977
Concerns
Slow (roundtrips)
No XML ID support
Needs server patch on v7
OpenOpenERPERP
import_odbc
etl table loading
import_sqlpush
openerp steps
... better steps...
Concerns
OpenOpenERPERP
OpenERP output step:
evolution is in the works ...
?
http://jira.pentaho.com/browse/PDI-9974
http://jira.pentaho.com/browse/PDI-9975
Conclusions: things we should pay
attention to ...
●
How fast?
●
Uses OpenERP ORM?
●
How easy to use?
●
Interferes with other OE server processes?
●
What data source types can be used?
●
What type of transformations can be used?
Integration techniques wrap up
●
import_odbc: simple, maybe too simple.
●
Table loading: don't do this at home kids...
●
import_sqlpush: good, but could be simpler.
●
OpenERP Output Step: great, but slow ...
http://www.mulesoft.com/mule-esb-features
Going further: why not use an ESB?
Also have a look at other options
●
TerminatOOR:
Kettle Openerp step using Ruby script
https://github.com/akretion/ooor
●
Talend Data Integration:
ETL task code generator (Java)
http://www.talend.com/products/data-integration
Questions?
@reis_pt
daniel.reis@securitas.pt
https://launchpad.net/~dreis-pt

More Related Content

PDF
SAP S4HANA Business partner & Customer & vendor Integration
PPTX
Cash Liquidity Management
PDF
Liquidity management
PPTX
Dunning.pptx
DOCX
Order cannot be delivered
PPTX
About Group reporting
PDF
Find out userexits in sap
DOCX
How to set up intercompany billing
SAP S4HANA Business partner & Customer & vendor Integration
Cash Liquidity Management
Liquidity management
Dunning.pptx
Order cannot be delivered
About Group reporting
Find out userexits in sap
How to set up intercompany billing

What's hot (20)

DOC
Su01 parameters fico_guntupalliharikrishna
PDF
SAP SD Copy Controls
PDF
Introduction to sap
PDF
Sap 1099 misc generic withholding tax reporting
PPTX
Group reporting solution
PDF
SAP FICO_end user manual.pdf
PPTX
SAP Hana Overview
PDF
SAP AC020 - Investment Management
PPTX
Promotions and Deals in SAP Sales
PDF
SAP BASIS ONLINE TRAINING MATERIAL by Keylabs
DOC
Visao geral-de-sap-co-contabilidade-de-custos
PDF
SAP E-Document (Mexico)
PPT
GV2-TM-CM-PR-Cutover Strategy Template-V1.ppt
PDF
SAP SD QUERY REPORT_GANESH
DOC
SAP FI Configuration guide and enduser manual
PDF
Sap Study Materials and certification exam dump
DOC
Ers sap
PDF
SAP integration best practices and tools
PDF
Balco ps user manual
DOCX
Su01 parameters fico_guntupalliharikrishna
SAP SD Copy Controls
Introduction to sap
Sap 1099 misc generic withholding tax reporting
Group reporting solution
SAP FICO_end user manual.pdf
SAP Hana Overview
SAP AC020 - Investment Management
Promotions and Deals in SAP Sales
SAP BASIS ONLINE TRAINING MATERIAL by Keylabs
Visao geral-de-sap-co-contabilidade-de-custos
SAP E-Document (Mexico)
GV2-TM-CM-PR-Cutover Strategy Template-V1.ppt
SAP SD QUERY REPORT_GANESH
SAP FI Configuration guide and enduser manual
Sap Study Materials and certification exam dump
Ers sap
SAP integration best practices and tools
Balco ps user manual
Ad

Viewers also liked (20)

PDF
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...
PPTX
Mule Python component
PDF
Richards Erfahrungen mit Odoo
PDF
OpenERP - Pentaho Integration, WillowIT
PDF
Webinar | Google I/O e le novità di Google Apps | 27 Giugno 2013 | Miriade SpA
PPT
La empresa ling. giuridici 2013-2014-lmt
PDF
CAS and Terracotta
PPS
Carteles de paraguay
PPTX
Linkbuilding para ecommerce - Clinic SEO eShow barcelona 2015
PDF
Presentación pdf
PDF
Predstavitev Kaspersky PURE 3.0 Total Security
PPTX
Evolet Accesorios
PDF
Prazise Company Profile
PDF
Boletín Informativo de orientación académica 13-14
PDF
A todo esto ¿Qué es un arquitectura? (Versión simple)
PDF
José de Alencar - Alfarrábios - O ermitão da Glória
PPT
El malevo, Cande
PDF
SIGO Reporte Social 2014
PDF
Kazakhstan fire safety 794 (catalog)
PPTX
Coffee Table Book - CNC Final -
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...
Mule Python component
Richards Erfahrungen mit Odoo
OpenERP - Pentaho Integration, WillowIT
Webinar | Google I/O e le novità di Google Apps | 27 Giugno 2013 | Miriade SpA
La empresa ling. giuridici 2013-2014-lmt
CAS and Terracotta
Carteles de paraguay
Linkbuilding para ecommerce - Clinic SEO eShow barcelona 2015
Presentación pdf
Predstavitev Kaspersky PURE 3.0 Total Security
Evolet Accesorios
Prazise Company Profile
Boletín Informativo de orientación académica 13-14
A todo esto ¿Qué es un arquitectura? (Versión simple)
José de Alencar - Alfarrábios - O ermitão da Glória
El malevo, Cande
SIGO Reporte Social 2014
Kazakhstan fire safety 794 (catalog)
Coffee Table Book - CNC Final -
Ad

Similar to OpenERP data integration in an entreprise context: a war story (20)

PDF
Connecting your Python App to OpenERP through OOOP
PDF
How to Import data into OpenERP V7
PPTX
How to import datas in OpenERP 7.0
PDF
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
PPTX
Open erp
PDF
Open erp6.1releasenotes
PDF
Etl confessions pg conf us 2017
PPTX
Data warehouse-1 (1)
PPT
Openerp rise
PDF
OpenERP Technical Memento V0.7.3
PDF
Functional training day1
PDF
Open Source RAD with OpenERP 7.0
PDF
Tips to get the most out of OpenERP. Jean Luc Delsaute & Coralie Girardet, Au...
PDF
Tips to get the most out of OpenERP
PDF
OpenERP Functional Training Day2
PPT
OpenERP presentation
PPT
Open erp general presentation vm india
PPTX
Getting started with OpenERP
PDF
Import/Export di dati con OpenERP
PPTX
Data wharehousing and OLAP
Connecting your Python App to OpenERP through OOOP
How to Import data into OpenERP V7
How to import datas in OpenERP 7.0
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
Open erp
Open erp6.1releasenotes
Etl confessions pg conf us 2017
Data warehouse-1 (1)
Openerp rise
OpenERP Technical Memento V0.7.3
Functional training day1
Open Source RAD with OpenERP 7.0
Tips to get the most out of OpenERP. Jean Luc Delsaute & Coralie Girardet, Au...
Tips to get the most out of OpenERP
OpenERP Functional Training Day2
OpenERP presentation
Open erp general presentation vm india
Getting started with OpenERP
Import/Export di dati con OpenERP
Data wharehousing and OLAP

More from Daniel Reis (7)

PDF
PixelsCamp | Odoo - The Open Source Business Apps Platform for the 21st Century
PDF
Dynamic Business Processes using Automated Actions
PDF
Bending the odoo learning curve - Odoo Experience 2015
PDF
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
PDF
Service Management with Odoo/OpenERP - Opendays 2014
PDF
Q-Day 2013: As Aplicações ao serviço da inovação
PDF
Service Management at Securitas using OpeneERP
PixelsCamp | Odoo - The Open Source Business Apps Platform for the 21st Century
Dynamic Business Processes using Automated Actions
Bending the odoo learning curve - Odoo Experience 2015
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014
Q-Day 2013: As Aplicações ao serviço da inovação
Service Management at Securitas using OpeneERP

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PPT
Teaching material agriculture food technology
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Programs and apps: productivity, graphics, security and other tools
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Understanding_Digital_Forensics_Presentation.pptx
Review of recent advances in non-invasive hemoglobin estimation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

OpenERP data integration in an entreprise context: a war story