Cara menggunakan python rpc

Jenis katalog

Karya Ilmiah - Skripsi (S1) - Reference

Abstraksi

ABSTRAKSI: Suatu program untuk menyelesaikan suatu permasalahan yang kompleks akan lebih mudah diimplementasikan secara modular. Setiap modul dalam program tersebut dapat didesain untuk menangani suatu operasi tertentu. Gabungan fungsional modul-modul suatu program nantinya akan mampu melakukan penyelesaian problem dari suatu program secara utuh. Konsep modularitas pada program memiliki keuntungan lain bagi programmer. Salah satunya adalah untuk menerapkan pemrograman terdistribusi. Dalam pemrograman terdistribusi, modul-modul program tidak harus berada di satu mesin komputer. Modul-modul program dapat diletakkan di beberapa node komputer yang terhubung dalam suatu jaringan. Untuk dapat berkomunikasi satu sama lain, modul-modul dalam program dapat menggunakan berbagai teknologi seperti socket, RMI(untuk Java) , CORBA, message oriented middleware atau pun Remote Procedure Call(RPC). Pada Tugas Akhir ini, pemrograman tedistribusi dibangun menggunakan teknologi Remote Procedure Call (RPC) dan Remote Method Invocation (RMI). Dari berbagai macam implementasi RPC, XML-RPC digunakan sebagai teknologi Remote Procedure Call-nya. Sedangkan implementasi RMI yang digunakan adalah Java-RMI. Hasil dari tugas akhir ini menunjukan bahwa secara umum Java-RMI memiliki waktu eksekusi yang lebih cepat dibanding program XML-RPC(baik Python ataupun Java). Sedangkan dalam implementasi XML RPC dengan Python dan Java, waktu eksekusi program dengan Java relatif lebih cepat daripada program dengan Python.Kata Kunci : Pemrograman terdistribusi (Distributed Programming), Remote Procedure Call(RPC), XML-RPC, Server, Client, Remote Method Invocation(RMI).ABSTRACT: To make a complex program, programmers usually divide the program into some modules in order to ease to be understood, to be solved, and to be built. Each of functionality of the program is usually represented by a module. The comprehensive work of the modules build a complete function of the program itself. Modularity concept of a program may give more than one advantages. One of them is that modularity concept enable programmers to build distributed programming. By using distributed programming, program’s modules do not have to be in the same machine. These modules may be spread out in the computer nodes that are connected to the network. To enable them to communicate each other, a technology should be taken to bridge the connections among the modules. Technology such as socket, RMI (for Java), CORBA or Remote Procedure Call (RPC) may become the communication bridge among the modules. In this Final Assignment, a distributed programming is built using Remote Procedure Call and Remote Method Invocation. Among many implementations of RPC, this Final Assignment use XML-RPC as it Remote Procedure Calls. The RMI program is implemented using Java RMI. The result of the final assignment has shown that running distributed program under Java RMI is generally faster than distributed program under XML-RPC (on both Python and Java). However, XMLRPC with Java is relatively faster than Python.Keyword: distributed programming, Remote Procedure Call (RPC), XML-RPC, Server, Client, Remote Method Invocation(RMI).

Wordpress menyebutkan bahwa ia mendukung Blogger API ( tautan) . Jadi, siapa pun dapat memberi tahu saya cara menggunakan API Blogger (menggunakan python) v3 untuk menarik data blog publik wordpress.

Atau, adakah API wordpress untuk menarik data publik dari blog-nya? (Lang: Python).

Dokumentasi apa pun yang bermanfaat yang menjelaskan prosedur dengan jelas juga akan dihargai.

Pada kesempatan ini saya akan sedikit berbagi mengenai penerapan web service API Odoo 11 (OpenERP) menggunakan Python. Python yang akan saya gunakan pada tutorial kali ini menggunakan Python 3. Banyak fitur dan data pada Odoo yang dapat diakses dari eksternal sistem Odoo. Hal ini dimungkinkan untuk memudahkan pengembang (developer) untuk melakukan pengintegrasian Odoo dengan beragam sistem yang ada. Bagian dari model refrensi API  pada Odoo mudah didapatkan dengan menggunakan fungsi XML-RPC dan dapat diakses menggunakan beragam bahasa. Adapun berama bahasa yang dapat digunakan diantaranya : Python, Ruby, PHP, dan Java.

Sebagai awalan, yang perlu kita persiapkan adalah Odoo 11 dan environment python 3  yang telah terinstall di PC/Laptop kita. Kemudian pastikan bahwa Modul Sales Management telah terinstall dengan baik pada Odoo kita.

Cara menggunakan python rpc

Tujuan : Kustomisasi Sales Order pada Odoo 11

  1. Melakukan Logging in pada Server Odoo 11
  2. Melakukan Fungsi Read Sales Order
  3. Melakukan Fungsi Create Sales Order
  4. Melakukan Fungsi Update Sales Order
  5. Melakukan Fungsi Delete Sales Order

A. Loggin in

Pada tahap ini, kita akan perlu untuk melakukan set up untuk keperluan authentifikasi identitas kita untuk masuk kedalam sistem Odoo. Untuk diketahui, dalam Odoo,  Sales Order (SO) merupakan 1 dari 329 total table yang ada.

Langkah 1 – Insiasi

Masuklah kedalam directory Odoo, kemudian jalankan environment Python. Alternatif masuk kedalam environment python bisa juga mengunakan CMD bawaan python secara langsung atau masuk ke directory python dalam file Odoo 11 “C:\Program Files (x86)\Odoo 11.0\python” pada CMD kemudia jalankan “python” kemudian enter.

url = "http://localhost:8069"
db = "XXXXXXXX"
username = "YYYYYYYYY"
password = "ZZZZZZZZZ"

Cara menggunakan python rpc

Langkah 2 – Import XMLRPC & Autentifikasi
#Using python 3.6
import xmlrpc.client
from xmlrpc.server import SimpleXMLRPCServer
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
uid = common.authenticate(db, username, password, {})

Cara menggunakan python rpc

Pada banyak contoh yang ada, selalu menggunakan “import xmlrpclib”. Namun module “xmlrpclib” hanya dimiliki oleh python 2, sedangkan untuk python 3 perlu mendapatkan penyesuaian. Lakukan “import xmlrpc.client” dan “from xmlrpc.server import SimpleXMLRPCServer” seperti contoh diatas 

Setelah import, kemudian lakukan aktifasi server dengan menjalankan url “http://localhost:8069/xmlrpc/2/common” dan dilanjutkan dengan authentifikasi pada sistem odoo untuk Logging in. Ketika “uid” untuk memastikan apakah bernilai satu (1). satu menunjukan bahwa kita telah berhasil masuk kedalam sistem.

B. Create Sales Order

Cara menggunakan python rpc
 Di atas merupakan tampilan Sales Order yang saya miliki. Terdapat 9 Sales Order.

Langkah 3 –  cek jumlah Sales Order awal

#Count Records
count = models.execute_kw(db, uid, password,
'sale.order','search_count',
[[]])

Cara menggunakan python rpc

untuk mengecek jumlah sales order yang kita miliki, kita dapat menggunakan fungsi search_count.

Langkah 4 – Create Sales Order

#Create_SO
id_baru = models.execute_kw(db, uid, password, 'sale.order', 'create', [ {'partner_id': 10, 'pricelist_id':1}])

Cara menggunakan python rpc

pada bagian ini, saya menginisiasi sebuah SO baru dengan fungsi “create” dengan inputan partner_id = 10 (“partner_id” merupakan id identitas dari customer yang membeli produk kita) sedangkan “pricelist_id” merupakan id identitas untuk jenis mata uang yang digunakan 1, menunjukan USD. Seperti pada gambar kita telah berhasil membuat id baru dengan id “10” dengan nama SO010.

Cara menggunakan python rpc

Cara menggunakan python rpc

Lakukan lagi pengecekan jumlah SO, maka jumlah SO bisa dipastikan akan bertambah.

C. Read Sales Order

#Baca SO id 1
id = 1
baca_order = models.execute_kw(db, uid, password,
'sale.order', 'read',
[id], {})

Cara menggunakan python rpc

Untuk membaca Sales Order (SO) kita bisa menggunakan fungsi “Read”. Pada contoh di atas saya melakukan pembacaan SO dengan “id = 1″.

D. Update Sales Order

Cara menggunakan python rpc

Pada tutorial ini kita akan melakukan perubahan data pada SO010 bagian state : draft menjadi state : sale.
#Update ID = 10
id = 10
update = models.execute_kw(db, uid, password, 'sale.order', 'write', [[id],
{
'state':'sale', 'invoice_status':'invoiced'
}])

Cara menggunakan python rpc

Untuk melakukan perubahan data pada SO kita dapat menggunakan fungsi “write”, seperti contoh diatas. Kemudia cek menggunaka fungsi “read” untuk mengecek perubahan yang terjadi.

Cara menggunakan python rpc

E. Delete Sales Order

Untuk mengawali fungsi ini, kita perlu mengetahui list id Sales Order yang kita miliki. Kita memiliki list id SO [10,9,8,7,6,5,4,3,2,1]. Kemudian dalam case ini kita akan menghapus SO ber id “6”

Cara menggunakan python rpc

 #delete id = 6
id = 6
models.execute_kw(db, uid, password, 'sale.order', 'unlink', [[id]])

Kita melakukan fungsi hapus dengan metode “unlink”. Jika berhasil, maka kita akan mendapatkan balikan “TRUE” seperti contoh di atas.

Untuk memastikan bahwa id 6 telah berhasil di hapus, lakukan pengecekan dengan memanggil daftar SO.

Cara menggunakan python rpc

Id 6 telah hilang dari list id Sales Order yang kita miliki.

Sekian tutorial penerapan Web Service Python 3 untuk penerapan kustemisasi (CREATE, READ, UPDATE dan DELETE) pada Sales Order Odoo 11. Semoga bermanfaat.