Tutorial Drools: Mesin Aturan Drools Architekstur & Contoh
Apa itu Drool?
Drools adalah Perangkat Lunak Manajemen Aturan Bisnis (BRMS) sumber terbuka yang ditulis dalam Java yang memberi pengguna berbagai fitur seperti Business Rule Engine, pembuatan Web, Aplikasi Manajemen Aturan, dan dukungan runtime untuk Model Keputusan dan model Notasi. Ini menggunakan sistem implementasi lanjutan dari algoritma pencocokan pola rete.
Drools dirilis di bawah Lisensi Apache 2.0 dan kompatibel dengan JVM apa pun dan juga tersedia di Repositori Pusat Maven.
Alat Drools membantu Anda memisahkan dan mempertimbangkan logika dan data yang ditemukan dalam proses bisnis. Ini mendukung mesin aturan air liur berbasis inferensi rantai maju dan mundur.
Air liur dibagi menjadi dua bagian:
- Penulisan – Ini melibatkan pengembangan file aturan.
- Runtime – Ini melibatkan penciptaan memori kerja dan penanganan aktivasi.
Apa itu Aturan?
Aturan adalah bagian dari pengetahuan yang sering diungkapkan sebagai, “Ketika kondisi tertentu terjadi, maka lakukan beberapa tugas.”
Bagian paling penting dari sebuah aturan adalah itu ketika bagian. Sekali ketika sebagian puas, kemudian bagian itu dipicu.
sintaks:
When <Condition is true> Then <Take desired Action>
Metode Pencocokan Pola
Metode pencocokan pola membantu Anda membandingkan fakta baru atau lama dengan aturan produksi. Itu diselesaikan oleh Mesin Inferensi.
Algorithms yang digunakan untuk Pencocokan Pola adalah:
- Algoritma Rete
- Algoritma Lompatan
- Algoritma Linier
- Perlakukan Algoritma
Namun algoritma yang paling banyak digunakan oleh Drools adalah Algoritma Rete.
Algoritma Rete
Algoritme Rete adalah algoritma pencocokan pola berguna yang memungkinkan Anda mengimplementasikan sistem aturan produksi. Ini membantu Anda mengorbankan memori untuk meningkatkan kecepatan. Ini juga mengurangi atau menghilangkan jenis redundansi tertentu dengan bantuan berbagi node. Ini menyimpan sebagian kecocokan saat melakukan penggabungan antara tipe fakta yang berbeda.
Mesin Aturan Ngiler
Mesin Aturan Ngiler adalah pendekatan berbasis aturan untuk mengimplementasikan sistem Pakar pada perangkat lunak Drools. Mesin Aturan menyediakan sistem Pakar yang merupakan sistem berbasis pengetahuan yang membantu Anda mengambil keputusan seperti apa yang harus dilakukan dan bagaimana melakukannya. Ini mengumpulkan pengetahuan menjadi basis pengetahuan yang dapat digunakan untuk penalaran.
Rangkaian Alat Drools
Sekarang dalam tutorial Drools Rule Engine ini, kita akan belajar tentang Drools Tool Suite. Berikut lima jenis alat yang menjadi bagian dari rangkaian Drools:
- Mengiler Guvnor: Ini adalah repositori terpusat untuk Drools KnowledgeBase.
- Aliran Air liur: Ini menawarkan alur kerja dan proses bisnis.
- Penggabungan Ngiler:Alat yang digunakan untuk pemrosesan peristiwa kompleks
- Pakar Mengiler atau Mesin Aturan: Alat yang berguna untuk melakukan penalaran.
- Perencana Mengiler: Untuk menawarkan perencanaan otomatis, yang mencakup masalah perencanaan NP-hard.
Komponen penting dalam Drools
Sekarang dalam tutorial Drools ini, mari belajar tentang komponen penting dari Drools.
Berikut adalah istilah penting yang digunakan dalam Drools:
- Fakta – Fakta mewakili data yang berfungsi sebagai masukan untuk aturan
- Memori Kerja – Penyimpanan dengan Fakta, yang digunakan untuk pencocokan pola. Itu dapat dimodifikasi, dimasukkan, dan dihapus.
- Sesi Pengetahuan – Komponen ini menampung semua sumber daya yang diperlukan untuk pengaktifan aturan. Di sini, semua fakta dimasukkan ke dalam satu sesi, dan kemudian aturan yang cocok diterapkan.
- Basis Pengetahuan – Ini mewakili pengetahuan dalam ekosistem Drools. Ini menyimpan pembentukan sumber daya tempat aturan ditemukan.
- Modul – Ini adalah modul yang menyimpan beberapa Basis Pengetahuan yang dapat mengadakan sesi berbeda
Architekstur Drools

Berikut adalah sistem kerja arsitektur Drools:
Langkah 1) Aturan dimuat ke dalam Basis Aturan, yang tersedia setiap saat.
Langkah 2) Fakta dimasukkan ke dalam Memori Kerja yang kemudian dapat diubah atau ditarik kembali.
Langkah 3) Proses mencocokkan fakta baru atau yang sudah ada dengan aturan produksi disebut pencocokan pola, yang dilakukan oleh mesin Aturan.
Langkah 4) Agenda memungkinkan Anda mengelola urutan pelaksanaan aturan yang bertentangan dengan bantuan strategi resolusi konflik.
Fitur Mengiler
Berikut adalah fitur penting dari Drool:
- Membantu Anda memisahkan aplikasi dari logika dinamis
- Pemrograman Deklaratif
- Sentralisasi Pengetahuan
- Kecepatan dan Skalabilitas
- Pisahkan logika dari aplikasi
- Aturan yang bisa dimengerti
Bagaimana cara menambahkan plugin Drools Eclipse
Sekarang dalam tutorial Drools ini, mari pelajari cara menambahkan plugin Drools Eclipse.
Langkah 1) Klik “Distribution ZIP” untuk Integrasi jBPM
Pergi ke https://www.drools.org/download/download.html dan klik “Distribution ZIP” untuk Integrasi jBPM. Setelah diunduh, ekstrak ke hard drive Anda.
Langkah 2) Instal Perangkat Lunak Baru
In Eclipse, pilih Instal Perangkat Lunak Baru.
Langkah 3) Klik tombol Tambah
Klik tombol Tambah untuk menambahkan perangkat lunak.
Langkah 4) Jelajahi Folder
Di layar berikutnya, Klik Lokal dan Pilih folder “org.drools.updatesite/” lalu Klik Ok.
Langkah 5) Klik pada tombol Berikutnya
Pada halaman instalasi remediasi, klik tombol Berikutnya.
Langkah 6) Terima perjanjian lisensi
Terima perjanjian lisensi dan klik berikutnya.
Langkah 7) Reboot Eclipse
Perangkat lunak akan diunduh dan Anda akan diminta untuk mem-boot ulang Eclipse.
Langkah 8) Proses instalasi selesai
In Windows > Menu Preferensi, Anda akan melihat opsi Drools yang menunjukkan sudah diinstal.
Contoh Program Drools Hello World
Di bawah ini adalah contoh Drools untuk program Hello World:
package com.sample import com.sample.DroolsTest.Message; rule "Hello World" when m : Message( status ** Message.Hello, myMessage : message ) then System.out.println( myMessage ); m.setMessage( "Goodbye cruel world" ); m.setStatus( Message.GOODBYE ); update( m ); end rule "GoodBye" when Message( status ** Message.GOODBYE, myMessage : message ) then System.out.println( myMessage ); end
Apa itu Rantai Mundur vs. Maju?
Mesin rantai maju memeriksa fakta dan menghasilkan kesimpulan spesifik.
Mari kita pertimbangkan skenario sistem diagnosis medis. Jika gejala pasien dimasukkan sebagai fakta ke dalam memori kerja, maka mudah untuk mendiagnosis suatu penyakit.
Mesin rantai depan
Mesin rantai mundur memiliki tujuan yang telah ditetapkan, dan mesin tersebut mencoba untuk memuaskannya.
Pertimbangkan skenario diagnosis medis yang sama. Asumsikan bahwa epidemi penyakit tertentu. AI ini dapat berasumsi bahwa seseorang mengidap penyakit tersebut dan berupaya menentukan apakah diagnosisnya benar berdasarkan informasi yang tersedia.
Mesin rantai mundur
Mengapa menggunakan Mesin Aturan Drools?
Berikut adalah alasan utama menggunakan mesin aturan Drools:
- Aturannya mudah dipahami oleh pengembang dan analis bisnis.
- Aturan mudah dipertahankan.
- Rule Engine menggunakan algoritma Rete yang menyatakan bahwa kinerja mesin tidak pernah bergantung pada jumlah aturan.
- Aturan dapat dimodifikasi dan diterapkan tanpa mematikan aplikasi.
- Mengeksternalisasikan logika bisnis dari basis kode yang relatif statis.
- Aturan dikembangkan dalam format yang tidak terlalu rumit sehingga analis bisnis dapat dengan mudah membaca dan memverifikasi sekelompok aturan.
- Aturan memungkinkan Anda membuat gudang pengetahuan yang dapat dieksekusi dalam bentuk.
- Alat-alat seperti Eclipse membantu Anda mengelola aturan, mendapatkan respons instan, autentikasi, dan dukungan konten.
Kekurangan Mesin Aturan
Berikut kekurangan/kekurangan penggunaan mesin aturan:
- Banyak upaya pembelajaran yang diperlukan oleh pengembang untuk mengetahui metode pemrograman ini
- Mesin aturan bukanlah metode yang aman untuk memecahkan masalah.
- Perlu memahami cara kerja mesin aturan untuk menghabiskan lebih banyak memori
- Ada serangkaian aturan yang luas untuk percabangan yang kompleks.
Aturan dapat berubah seiring waktu dan akan berlaku efektif seiring dengan perubahan kode
Ringkasan
- JBoss Drools adalah Platform integrasi Logika Bisnis (BLiP)
- Jenis alat Drool adalah : 1) Drools Guvnor 2) Drools Flow 3) Drools Fusion 4) Drools Expert 5) Drools, Planner.
- Drool membantu Anda memisahkan aplikasi dari logika dinamis.
- Fakta telah mewakili data yang menjadi masukan bagi aturan.
- Memori kerja adalah penyimpanan dengan Fakta, yang digunakan untuk pencocokan pola. Itu dapat dimodifikasi, dimasukkan, dan dihapus.
- Basis pengetahuan adalah komponen yang menampung semua sumber daya yang diperlukan untuk mengaktifkan aturan.
- Sesi pengetahuan mewakili pengetahuan dalam ekosistem Drools.
- Basis pengetahuan mewakili pengetahuan dalam ekosistem Drools.
- Modul menyimpan banyak basis pengetahuan, yang dapat mengadakan sesi berbeda.
- Aturan adalah bagian dari pengetahuan yang sering diungkapkan sebagai, “Ketika kondisi tertentu terjadi, maka lakukan beberapa tugas.”
- Drools adalah mesin aturan yang menggunakan pendekatan berbasis aturan untuk mengimplementasikan sistem Pakar.
- Mesin rantai maju memeriksa fakta dan menghasilkan kesimpulan spesifik.
- Mesin rantai mundur memiliki tujuan yang telah ditetapkan, dan mesin tersebut mencoba untuk memuaskannya.
- Algoritme Rete adalah algoritma pencocokan pola berguna yang memungkinkan Anda mengimplementasikan sistem aturan produksi.
- Aturannya mudah dipahami oleh pengembang dan analis bisnis.
- Kelemahan utama menggunakan mesin aturan seperti Drool adalah memerlukan banyak upaya pembelajaran yang diperlukan oleh pengembang untuk mengetahui metode pemrograman ini.