Kerangka Kerja Aturan Bisnis menyediakan mesin inferensi yang sangat efisien yang mampu menautkan aturan ke objek .NET, dokumen XML, atau tabel database.
Mesin Aturan Bisnis menggunakan algoritma tiga tahap untuk eksekusi kebijakan. Tahapannya adalah sebagai berikut:
Cocok. Pada tahap kecocokan, fakta dicocokkan dengan predikat yang menggunakan jenis fakta (referensi objek yang dipertahankan dalam memori kerja mesin aturan) menggunakan predikat yang ditentukan dalam kondisi aturan. Demi efisiensi, pencocokan pola terjadi atas semua aturan dalam kebijakan, dan kondisi yang dibagikan di seluruh aturan hanya dicocokkan sekali. Kecocokan kondisi parsial dapat disimpan dalam memori kerja untuk mempercepat operasi pencocokan pola berikutnya. Output fase pencocokan pola terdiri dari pembaruan agenda mesin aturan.
Resolusi konflik. Dalam tahap penyelesaian konflik, aturan yang merupakan kandidat eksekusi diperiksa untuk menentukan serangkaian tindakan aturan berikutnya yang akan dijalankan berdasarkan skema resolusi yang telah ditentukan. Semua aturan kandidat yang ditemukan selama tahap pencocokan ditambahkan ke agenda mesin aturan.
Skema resolusi konflik default didasarkan pada prioritas aturan dalam kebijakan. Prioritas adalah properti aturan yang dapat dikonfigurasi di Komposer Aturan Bisnis. Semakin besar jumlahnya, semakin tinggi prioritasnya; oleh karena itu jika beberapa aturan dipicu, tindakan prioritas yang lebih tinggi dijalankan terlebih dahulu.
Tindakan. Dalam tahap tindakan, tindakan dalam aturan yang diselesaikan dijalankan. Perhatikan bahwa tindakan aturan dapat menegaskan fakta baru ke dalam mesin aturan, yang menyebabkan siklus berlanjut. Ini juga dikenal sebagai rantai ke depan. Penting untuk dicatat bahwa algoritma tidak pernah mendahului aturan yang saat ini dijalankan. Semua tindakan untuk aturan yang saat ini diaktifkan akan dijalankan sebelum fase kecocokan diulang. Namun, aturan lain pada agenda tidak akan ditembakkan sebelum fase pertandingan dimulai lagi. Fase kecocokan dapat menyebabkan aturan tersebut pada agenda dihapus dari agenda sebelum mereka pernah menembak.
Contoh berikut menunjukkan algoritma tiga tahap tindakan resolusi konflik pencocokan.
Aturan 1: Mengevaluasi pendapatan
Representasi deklaratif:
Peringkat kredit pemohon harus diperoleh hanya jika rasio pendapatan terhadap pinjaman pemohon kurang dari 0,2.
IF—representasi THEN menggunakan objek bisnis:
IF Application.Income / Property.Price < 0.2
THEN Assert new CreditRating( Application)
Aturan 2: Mengevaluasi peringkat kredit
Representasi deklaratif:
Pemohon harus disetujui hanya jika peringkat kredit pemohon lebih dari 725.
IF—REPRESENTATION THEN menggunakan objek bisnis:
IF Application.SSN = CreditRating.SSN AND CreditRating.Value > 725
THEN SendApprovalLetter(Application)
Fakta dirangkum dalam tabel berikut.
Fakta
Bidang
Aplikasi – Dokumen XML yang mewakili aplikasi pinjaman rumah
- Pendapatan = $65.000 - SSN = XXX-XX-XXXX
Properti – Dokumen XML yang mewakili properti yang dibeli
- Harga = $225.000
CreditRating – Dokumen XML yang berisi peringkat kredit pemohon pinjaman
- Nilai = 0 – 800 - SSN = XXX-XX-XXXX
Awalnya memori dan agenda kerja mesin aturan kosong. Setelah aplikasi menambahkan fakta Aplikasi dan Properti, memori dan agenda kerja mesin aturan diperbarui sebagai berikut.
Memori kerja
Agenda
-Aplikasi -Properti
Aturan 1
Aturan 1 ditambahkan ke agenda karena kondisinya (Application.Income / Property.Price < 0.2) dievaluasi ke true selama fase kecocokan. Tidak ada fakta CreditRating dalam memori kerja, sehingga kondisi untuk Aturan 2 tidak dievaluasi. Karena satu-satunya aturan dalam agenda adalah Aturan 1, aturan dijalankan dan kemudian menghilang dari agenda. Tindakan tunggal yang ditentukan untuk Aturan 1 menghasilkan fakta baru (dokumen CreditRating untuk pemohon) ditambahkan ke memori kerja. Setelah eksekusi Aturan 1 selesai, kontrol kembali ke fase kecocokan. Karena satu-satunya objek baru yang cocok adalah fakta CreditRating, hasil fase kecocokan adalah sebagai berikut.
Memori kerja
Agenda
-Aplikasi -Properti - CreditRating
Aturan 2
Pada titik ini Aturan 2 dijalankan, menghasilkan pemanggilan fungsi yang mengirim surat persetujuan kepada pemohon. Setelah Aturan 2 selesai, eksekusi algoritma rantai maju kembali ke fase kecocokan. Karena tidak ada lagi fakta baru untuk dicocokkan dan agenda kosong, penghentian rantai ke depan dan eksekusi kebijakan selesai.
The ability to build business rules that ensure consistent business logic whatever app is accessing that data set is imperative to a successful business operation. This module will show you how you can build business rules that are triggered anytime they're used within Dataverse.