Mengenal Arsitektur Odoo

Mengenal Arsitektur Odoo

 

Mengenal Arsitektur Odoo

Aplikasi multi tingkat (Multitier application)

Odoo mengikuti arsitektur multitier , artinya presentasi, logika bisnis, dan penyimpanan data dipisahkan. Lebih khusus lagi, ia menggunakan arsitektur tiga tingkat (gambar dari Wikipedia):


Tingkat presentasi adalah kombinasi dari HTML5, JavaScript dan CSS. Tingkat logika ditulis secara eksklusif dengan Python, sedangkan tingkat data hanya mendukung PostgreSQL sebagai RDBMS.


Bergantung pada cakupan modul Anda, pengembangan Odoo dapat dilakukan di salah satu tingkatan ini. Oleh karena itu, sebelum melangkah lebih jauh, mungkin ada baiknya untuk menyegarkan ingatan Anda jika Anda tidak memiliki tingkat menengah dalam topik ini.

Untuk mengikuti tutorial ini, Anda memerlukan pengetahuan dasar tentang HTML dan Python tingkat menengah. Topik lanjutan akan membutuhkan lebih banyak pengetahuan dalam mata pelajaran lain. Ada banyak tutorial yang dapat diakses secara bebas, jadi kami tidak dapat merekomendasikan satu sama lain karena itu tergantung pada latar belakang Anda.Untuk referensi, ini adalah tutorial resmi Python.

Modul Odoo

Ekstensi server dan klien dikemas sebagai modul yang secara opsional dimuat dalam database . Modul adalah kumpulan fungsi dan data yang menargetkan satu tujuan.


Modul Odoo dapat menambahkan logika bisnis baru ke sistem Odoo atau mengubah dan memperluas logika bisnis yang ada. Satu modul dapat dibuat untuk menambahkan aturan akuntansi negara Anda ke dukungan akuntansi umum Odoo, sementara modul lain dapat menambahkan dukungan untuk visualisasi armada bus secara real-time.


Segala sesuatu di Odoo dimulai dan diakhiri dengan modul. Terminologi: pengembang mengelompokkan fitur bisnis mereka dalam modul Odoo.


Modul utama yang menghadap pengguna ditandai dan diekspos sebagai Apps, tetapi sebagian besar modul bukan Apps. Modul juga dapat disebut sebagai add-on dan direktori tempat server Odoo menemukannya membentuk file addons_path.

Komposisi modul

Modul Odoo dapat berisi sejumlah elemen:

Business objects

Business objects (misalnya faktur) dideklarasikan sebagai kelas Python. Bidang yang ditentukan dalam kelas ini secara otomatis dipetakan ke kolom basis data berkat lapisan ORM.

Object views

Menentukan tampilan UI

Data files

File XML atau CSV yang mendeklarasikan data model:

  • view atau laporan ,
  • data konfigurasi (parametrisasi modul, aturan keamanan)
  • data demonstrasi
  • dan banyak lagi

Web controllers

Menangani permintaan dari browser web.

Static web data

File gambar, CSS, atau JavaScript yang digunakan oleh antarmuka web atau situs web.

Struktur modul

Setiap modul adalah direktori di dalam direktori modul . Direktori modul ditentukan dengan menggunakan --addons-path opsi.


Modul Odoo di deklarasikan pada manifest file.


Ketika modul Odoo menyertakan objek bisnis (yaitu file Python), mereka diatur sebagai paket Python dengan __init__.pyfile. File ini berisi instruksi impor untuk berbagai file Python dalam modul.


Berikut adalah direktori modul yang disederhanakan:

Edisi Odoo

Odoo tersedia dalam dua versi : Odoo Enterprise (sumber berlisensi & dibagikan) dan Odoo Community (sumber terbuka).

Selain layanan seperti dukungan atau peningkatan, versi Enterprise menyediakan fungsionalitas tambahan untuk Odoo.

Dari sudut pandang teknis, fungsionalitas ini hanyalah modul baru yang dipasang di atas modul yang disediakan oleh versi Komunitas.

Sumber : Odoo Docs

Load comments