OpenERPDays 2013 presentation: techniques used and lessons learned from almost 2 years experience integrating data into OpenERP in an enterprise context.
2. Daniel Reis
IT Applications Manager
Securitas Portugal
@reis_pt
daniel.reis@securitas.pt
https://launchpad.net/~dreis-pt
3. OpenERP as an
Enterprise App platform
OpenERP
Corporate ERP
Customers
Contracts
Analytic accounts
HRMS
Employees
Departments
Op Systems
Serviced sites
Serviced systems
11. 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
20. 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
25. 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
31. 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()
35. 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?
36. 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 ...
38. 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