Arsitektur Teknis Odoo dan Struktur Penerapan di Server

Odoo adalah arsitektur tiga tingkat multitenant: tingkat aplikasi untuk pemrosesan, tingkat presentasi untuk antarmuka pengguna, dan tingkat basis data untuk penyimpanan data. Tingkat penerapan itu sendiri ditulis sebagai inti, beberapa modul lebih lanjut dapat dimasukkan untuk membuat konfigurasi arsitektur Odoo yang dipilih. 

Inti dari arsitektur Odoo dan modul-modulnya ditulis dalam bahasa Python. Kepraktisan modul diekspos melalui XML-RPC (dan / atau NET-RPC bertaruh pada konfigurasi server). Modul umumnya membangun penggunaan ORM Odoo untuk mempertahankan pengetahuan mereka selama layanan informasi elektronik (PostgreSQL). Modul akan menyisipkan pengetahuan di dalam informasi selama instalasi dengan menyediakan file XML, CSV, atau YML.

Technical Architecture of Odoo


Server Odoo

Odoo menyediakan server aplikasi Associate in Nursing di mana aplikasi bisnis tertentu dapat direkayasa. ini merupakan kerangka kerja pengembangan keseluruhan, menyediakan berbagai opsi untuk menuliskan aplikasi tersebut. Opsi yang menonjol adalah ORM serbaguna, desain MVC Associate in Nursing, model dan tampilan pengetahuan protractile, mesin laporan yang sama sekali berbeda, semuanya diikat selama kerangka kerja yang koheren dan dapat diakses jaringan.

Technology Stack

a) Bahasa Pemrograman Sisi Server: Python tiga
b) Bahasa Pemrograman Sisi Klien: JavaScript
c) Bahasa Markup: HTML5
d) Pengkodean Karakter: UTF-8
e) Format File Gambar: PNG, JPEG, GIF, SVG
f) Elemen Situs: CSS Eksternal, CSS Tersemat, CSS Sebaris, Cookie Sesi, Cookie yang hanya protokol, Cookie Non-HttpOnly, Cookie Tidak Aman, Kompresi Gzip, Protokol default https.
g) Alat Analisis Lalu Lintas: Google Analytics
h) Basis Data: Informasi PostgreSQL

Clients

Klien akan berkomunikasi dengan XML-RPC yang menjadi korban server Odoo. Protokol khusus yang lebih cepat yang disebut sebagai NET-RPC juga disediakan namun dapat segera menghilang, digantikan oleh JSON-RPC. XML-RPC, sebagai JSON-RPC di masa depan, memungkinkan untuk menuliskan pembeli untuk Odoo dalam suatu bahasa pemrograman. Odoo S.A. mengembangkan 2 konsumen yang sama sekali berbeda: klien desktop, yang ditulis dengan perangkat grafis GTK + yang digunakan secara luas, dan konsumen online yang harus berjalan di program aplikasi modis apa pun.


Arsitektur Odoo

arsitektur odoo, open erp, erp

Server basis data relasional dan ORM

Tingkat data Arsitektur Odoo disediakan oleh layanan informasi elektronik PostgreSQL.

ORM adalah salah satu dari semua opsi penting yang disebutkan di atasnya. model info diwakili dalam Python dan Odoo membuat tabel informasi yang mendasarinya. Semua keuntungan dari RDBMS (batasan unik, integritas relatif, kueri ekonomis, ...) digunakan setelah dapat dicapai dan dilengkapi dengan fleksibilitas Python. misalnya, batasan impulsif yang ditulis dalam Python dapat ditambahkan ke model apa pun.

Model:

Untuk menguraikan model pengetahuan dan melakukan pekerjaan apa pun dengan pengetahuan terkait, Odoo sebagai beberapa ORM menggunakan konsepsi 'model'. Model adalah spesifikasi otoritatif tentang bagaimana beberapa pengetahuan disusun, dipengaruhi, dan dimanipulasi. Saya mengamati sebuah model ditulis sebagai kategori Python. kategori tersebut merangkum sesuatu yang perlu dipahami tentang model: berbagai bidang yang menyusun model, nilai default yang akan digunakan setelah membuat catatan baru, batasan, dan sebagainya. Kategori ini juga menyimpan sisi dinamis dari info yang dikontrolnya: strategi pada kategori dapat ditulis untuk mengimplementasikan keinginan bisnis apa pun (misalnya, apa yang harus dicoba pada tindakan pengguna, atau pada transisi progres).

Ada 2 model yang sangat berbeda. Yang pertama hanya disebut sebagai 'model', dan yang kedua disebut sebagai 'model sementara'. kedua model ini memberikan kemampuan yang setara dengan satu perbedaan: model sementara dibersihkan secara mekanis dari informasi (model ini dapat dibersihkan setelah batas jumlah record tercapai, atau setelah tidak disentuh selama beberapa kali).

Stuktur Model :

struktur model odoo


Modul:

Arsitektur Odoo mendukung pendekatan standar masing-masing dari perspektif pengembangan dan tujuan persiapan membaca. Intinya, modul menggabungkan semua yang terkait dengan satu masalah dalam satu entitas yang memiliki tujuan. modul ini terdiri dari model, tampilan, alur kerja, dan penyihir.

Layanan dan WSGI:

Segala sesuatu dalam arsitektur dan strategi model Odoo, terutama, diekspos melalui jaringan dan lapisan keamanan. Akses ke model info, pada kenyataannya, adalah 'layanan' dan dapat dicapai untuk menampilkan layanan baru. sebagai contoh, layanan WebDAV yang mengasosiasikan layanan FTP yang ditawarkan.