Drools - Pendahuluan
Aplikasi tingkat perusahaan Java apa pun dapat dibagi menjadi tiga bagian -
- UI - Antarmuka Pengguna (Frontend)
- Lapisan layanan yang pada gilirannya terhubung ke database
- Lapisan bisnis
Kami memiliki sejumlah kerangka kerja yang menangani lapisan UI dan layanan bersama-sama, misalnya, Spring dan Struts. Namun, kami tidak memiliki cara standar untuk menangani logika bisnis sampai Drools muncul.
Apakah Drools itu?
Drools adalah a Business Logic integration Platform (BLiP). Itu ditulis di Jawa. Ini adalah proyek open source yang didukung oleh JBoss dan Red Hat, Inc. Ini memperluas dan menerapkan algoritma pencocokan Pola Rete.
Dalam istilah awam, Drools adalah kumpulan alat yang memungkinkan kita untuk memisahkan dan menalar logika dan data yang ditemukan dalam proses bisnis. Dua kata kunci penting yang perlu kita perhatikan adalahLogic dan Data.
Air liur dibagi menjadi dua bagian utama: Authoring dan Runtime.
Authoring - Proses pembuatan melibatkan pembuatan file Aturan (file .DRL).
Runtime - Ini melibatkan pembuatan memori kerja dan penanganan aktivasi.
Apa itu Mesin Aturan?
Drools adalah Mesin Aturan atau Sistem Aturan Produksi yang menggunakan pendekatan berbasis aturan untuk mengimplementasikan dan Sistem Pakar. Sistem Pakar adalah sistem berbasis pengetahuan yang menggunakan representasi pengetahuan untuk memproses pengetahuan yang diperoleh menjadi basis pengetahuan yang dapat digunakan untuk penalaran.
Sistem Aturan Produksi adalah Turing lengkap dengan fokus pada representasi pengetahuan untuk mengekspresikan logika proposisional dan orde pertama secara ringkas, tidak ambigu dan deklaratif.
Otak dari Sistem Aturan Produksi adalah sebuah Inference Engineyang dapat meningkatkan sejumlah besar aturan dan fakta. Mesin Inferensi mencocokkan fakta dan data dengan Aturan Produksi - juga disebutProductions atau hanya Rules - untuk menyimpulkan kesimpulan yang menghasilkan tindakan.
Aturan Produksi adalah struktur dua bagian yang menggunakan logika orde pertama untuk menalar representasi pengetahuan. Mesin aturan bisnis adalah sistem perangkat lunak yang menjalankan satu atau lebih aturan bisnis dalam lingkungan produksi runtime.
Mesin Aturan memungkinkan Anda menentukan "What to Do" dan tidak "How to do it. ”
Apa itu Aturan?
Aturan adalah bagian dari pengetahuan yang sering diungkapkan sebagai, " Ketika beberapa kondisi terjadi, maka lakukan beberapa tugas."
When
<Condition is true>
Then
<Take desired Action>
Bagian terpenting dari sebuah Aturan adalah miliknya whenbagian. Jikawhen bagian puas, itu then bagian dipicu.
rule <rule_name>
<attribute> <value>
when
<conditions>
then
<actions>
end
Pencocokan Pola
Proses mencocokkan fakta baru atau yang sudah ada dengan Aturan Produksi disebut Pencocokan Pola, yang dilakukan oleh Mesin Inferensi. Ada sejumlah algoritma yang digunakan untuk Pencocokan Pola termasuk -
- Linear
- Rete
- Treat
- Leaps
Drools Menerapkan dan memperluas Algoritma Rete. Implementasi Drools Rete disebut ReteOO, yang menunjukkan bahwa Drools memiliki implementasi algoritma Rete yang ditingkatkan dan dioptimalkan untuk sistem berorientasi objek.
Keuntungan dari Mesin Aturan
Pemrograman Deklaratif
Aturan membuatnya mudah untuk mengungkapkan solusi untuk masalah yang sulit dan mendapatkan solusinya juga diverifikasi. Tidak seperti kode, Aturan ditulis dalam bahasa yang tidak terlalu rumit; Analis Bisnis dapat dengan mudah membaca dan memverifikasi seperangkat aturan.
Pemisahan Logika dan Data
Data berada di Objek Domain dan logika bisnis berada di Aturan. Bergantung pada jenis proyek, pemisahan semacam ini bisa sangat menguntungkan.
Kecepatan dan Skalabilitas
Algoritma Rete OO di mana Drools ditulis sudah menjadi algoritma yang terbukti. Dengan bantuan Drools, aplikasi Anda menjadi sangat skalabel. Jika ada permintaan perubahan yang sering, seseorang dapat menambahkan aturan baru tanpa harus mengubah aturan yang ada.
Sentralisasi Pengetahuan
Dengan menggunakan Rules, Anda membuat repositori pengetahuan (basis pengetahuan) yang bisa dieksekusi. Ini adalah satu titik kebenaran untuk kebijakan bisnis. Idealnya, Aturan sangat mudah dibaca sehingga bisa juga berfungsi sebagai dokumentasi.
Integrasi Alat
Alat seperti Eclipse menyediakan cara untuk mengedit dan mengelola aturan dan mendapatkan umpan balik langsung, validasi, dan bantuan konten. Alat pengauditan dan debugging juga tersedia.