Integrasi Database Oracle dengan Odoo


Assalamu'alaikum Warohmatullah Wabarokatuh


Bismillah, ini adalah postingan pertama saya di blog ISMATA dan insyaAllah mengawali postingan - postingan selanjutnya untuk rekan - rekan tim yang lain di blog ini.


Pada kesempatan kali ini, saya akan membahas mengenai bagaimana cara mengintegrasikan aplikasi Odoo dengan database yang lain, dalam hal ini yaitu database oracle. 


Sebelum kita bahas lebih lanjut, kita ketahui dulu apa itu odoo dan apa database yang digunakan.


Odoo merupakan perangkat lunak ERP (Enterprise Resource Planning) yang memiliki fitur yang lengkap dari mulai back end hingga front end diantaranya seperti Purchase, Sale, Inventory, Manufacturing, Accounting, POS, Website, dll. 


Odoo dibangun menggunakan bahasa pemrograman Python, JavaScript, XML dan menggunakan framework mereka sendiri yang di beri nama OpenObject Framework dan dibuat pertama kali oleh Fabien Pinckaers pada Februari 2005.


Pada awalnya, Odoo merupakan aplikasi berbasis full open source semenjak masih bernama TinyERP (2005), kemudian berganti nama menjadi OpenERP (2009) sampai versi-nya yang ke-8 yang diberi nama Odoo (2014). Mulai dari versi 9 sampai sekarang (versi 12), Odoo mulai membedakan menjadi 2 versi dalam setiap rilisnya, yaitu versi Community (Community Edition) untuk versi open source dan versi Enterprise (Enterprice Edition) untuk versi berbayar.    


Untuk Database-nya, Odoo menggunakan database postgreSQL. postgreSQL sendiri merupakan ORDBMS (object-relational database management system) berbasis open source, sampai saat ini versi terakhir-nya adalah versi 11.


Konsep integrasi disini bukan menggantikan database postgreSQL dengan Oracle, tetapi dengan konsep pull dan push. Yaitu dengan cara menarik data dari oracle dan meng-create atau meng-update record di postgreSQL, dan melempar data dari PostgreSQL ke Oracle dengan query insert. InsyaAllah akan dibahas di postingan selanjutnya.


Saya menggunakan Sistem Operasi Linux Ubuntu 16.04, versi Odoo yang saya gunakan untuk integrasi ini yaitu Odoo 10 CE dan PostgreSQL Versi 9.5.

Dan Untuk integrasi ke database oracle saya menggunkan addons base_external_dbsource dan base_external_dbsource_oracle yang ada di app store odoo.


Berikut ini step by step instalasi dan konfigurasinya.


1. Download Oracle Instant Client dalam bentuk zip, download Base, Tools (SQLPlus) dan Development and Runtime (SDK).

2. Unzip di salah satu direktori, misalkan di /opt/oracle/


$ cd /opt/

$ sudo mkdir oracle

$ cd oracle

$ unzip instantclient-basic-linux.x64-18.3.0.0.0dbru.zip

$ unzip instantclient-sdk-linux.x64-18.3.0.0.0dbru.zip

$ unzip instantclient-sqlplus-linux.x64-18.3.0.0.0dbru.zip


3. buat symbolic link


$ cd /opt/oracle/instantclient_18_3

$ ln -s libclntsh.so.18.1 libclntsh.so

$ ln -s libocci.so.18.1 libocci.so


4. Install libaio package


$ sudo apt-get install libaio1


5. install library python cx_Oracle 


$ pip install cx_oracle


6. restart PC / Server


$ sudo reboot


7. Download Addons base_external_datasource dan base_external_dbsource_oracle , kemudian copy folder addons-nya ke path odoo yang kita miliki.


8. install addons base_external_dbsource dan base_external_dbsource_oracle di Odoo 


9. Buat Datasource Connector untuk Oracle


* Aktifkan Developer Mode

* Setting > Database Structure > Database Source

* Create, Pilih connector Oracle dan isi connection string : username/%s@//server.address:port/instance


10. klik Test Connection, jika berhasil akan muncul pesan seperti gambar.












Terima kasih, semoga bermanfaat.

Kahfi

Wassalamu'alaikum Warohmatullah Wabarokatuh. 




Cara update/mengisi data field melalui pop up di portal