Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Master Drools Programming - Learn How to Write Drools Rules

Thành thạo lập trình Drools - Học cách viết luật Drools

Thành thạo lập trình Drools - Học cách viết luật Drools

Học cách chạy và viết luật cho Apache Drools Rule Engine, cách làm việc với bảng quyết định dạng bảng tính

4.4
(2,034 đánh giá)
10,699 học viên
Giảng viên
Juhan Aasaru
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
8.0 giờ video
99 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Lập trình luật bằng ngôn ngữ chuyên biệt Drools 7
Tìm hiểu các cấu trúc ngôn ngữ Drools như insert, modify, exists, forall, insertLogical, salience, agenda-group, v.v.
Tạo bảng quyết định và mẫu bảng tính
Xử lý sự kiện phức tạp (Complex Event Processing) là gì và cách Drools xử lý nó
Cách sử dụng mẫu luật (DRT hoặc Freemarker) và chạy DRL được định nghĩa động
Hiểu các chế độ chạy khác nhau của Drools (active/passive, cloud/stream, sequential)
Cách Drools hoạt động bên trong và những điều cần lưu ý để viết luật hiệu suất cao hơn

Yêu cầu

Bạn cần có hiểu biết cơ bản về lập trình Java

Đối tượng phù hợp

Dành cho nhà phát triển và kiến trúc sư hệ thống cần hiểu rule engine là gì và loại vấn đề nào có thể giải quyết được
Dành cho bất kỳ ai cần viết luật bằng ngôn ngữ lập trình Drools DSL
Dành cho nhà phát triển và kiến trúc sư hệ thống cần thêm thông tin về việc tích hợp Drools rule engine vào dự án
Dành cho bất kỳ ai đang cân nhắc sử dụng Drools để viết luật hoặc xử lý luồng sự kiện

Nội dung khóa học

13 phần • 99 bài giảng
1 Giới thiệu khóa học
2 Rule Engine là gì?
3 Cách thiết kế luật và khi nào (không) nên sử dụng Drools
4 Giới thiệu cú pháp ngôn ngữ Drools
1 Cấu trúc mã ví dụ
2 Cú pháp mới của Drools - OOPath
3 Chạy mã ví dụ với IntelliJ IDEA Community Edition
4 Chạy mã ví dụ với Eclipse
5 Chạy mã ví dụ với Visual Studio Code (VS Code)
1 Giới thiệu về phiên không trạng thái
2 Các trường hợp sử dụng phiên không trạng thái
3 Bước 1: Hai luật đầu tiên để xác thực hộ chiếu
4 Bước 2: Tách một luật
5 Bước 3: Ràng buộc một biến
6 Bước 4: Sử dụng biến đã ràng buộc
7 Bước 5 và 6: Tránh lặp lại
8 Tổng kết về phiên không trạng thái
1 Giới thiệu về phiên có trạng thái
2 Bước 1: Sửa đổi đối tượng trong giữa phiên
3 Bước 2: Suy luận (Inference)
4 Tổng kết về phiên có trạng thái
1 Giới thiệu về tích chéo
2 Bước 1: Kết nối đơn xin thị thực (Visa Application) với hộ chiếu
3 Đã sửa lỗi trong bài giảng sắp tới
4 Bước 2: Hộ chiếu có còn hiệu lực sau 6 tháng kể từ chuyến đi không?
5 Bước 3: Kiểm tra thuộc tính chưa có giá trị cho trước
6 Tổng kết về khớp mẫu (Pattern Matching) và tích chéo
1 Giới thiệu về việc thêm sự kiện mới & thiết lập thứ tự thực thi
2 Thay đổi phương ngữ (Dialect) luật
3 Lưu ý về bước sắp tới
4 Bước 1: Tạo một sự kiện mới và chèn vào phiên
5 Bước 2: Kiểm soát thứ tự thực thi bằng salience
6 Bước 3: Kiểm soát thứ tự thực thi bằng nhóm agenda (agenda groups)
7 Bước 4: Sử dụng nhóm agenda kết hợp với salience
8 Bước 5: Chạy một luật duy nhất từ nhóm kích hoạt (activation group)
9 Bước thưởng! Bước 6. Đặt tiêu điểm (Focus) cho Nhóm Agenda trong luật Drools.
10 Tổng kết về việc thêm sự kiện và thiết lập thứ tự thực thi
1 Giới thiệu về chèn logic sự kiện và kiểm tra sự kiện không tồn tại
2 Bước 1: Thêm sự kiện bằng insertLogical()
3 Sử dụng từ khóa "this" tùy chọn ở vế trái của luật MVEL
4 Bước 2: Tạo đối tượng sự kiện và kiểm tra sự kiện không tồn tại
5 Bước 3: Thay thế việc thay đổi đối tượng bằng đối tượng sự kiện
6 Bước 4: Giảm số lượng luật cần thiết bằng cách loại bỏ các trường hợp dương tính
7 Tổng kết phần
1 Giới thiệu làm việc với nhóm đối tượng
2 Bước 1: Viết lại logic đơn xin thị thực để hỗ trợ FamilyVisaApplications
3 Bước 2: Giới thiệu từ khóa exists
4 Bước 3: Sử dụng forall để khớp với một nhóm đối tượng
5 Bước 4: Sử dụng forall để trích xuất đối tượng từ nhóm dựa trên giá trị min/max
6 Bước 5: Forall với chỉ một biểu thức
7 Tổng kết về làm việc với nhóm sự kiện
1 Giới thiệu bảng quyết định dạng bảng tính
2 Kho lưu trữ GitHub mới cho mã ví dụ
3 Bố cục cơ bản của bảng quyết định dạng bảng tính
4 Định nghĩa nhiều cột hành động trong bảng tính
5 Sử dụng công thức trong bảng quyết định dạng bảng tính
6 Đặt tên luật DRL tùy chỉnh và thêm chú thích
7 Cách đặt nhiều bảng luật trong một bảng tính
8 Nhiều bảng luật trong một bảng tính. Nhiều tham số trong một ô.
9 Kết nối nhiều đối tượng sự kiện trong bảng quyết định dạng bảng tính
10 Sử dụng cấu trúc forall làm điều kiện trong bảng quyết định dạng bảng tính
11 Điều kiện không có mẫu (pattern) trong bảng quyết định dạng bảng tính
12 Đặt mức độ ưu tiên luật trong bảng quyết định dạng bảng tính
13 Thuộc tính tuần tự (Sequential) trong RuleSet
14 Sử dụng nhóm kích hoạt (activation groups) trong bảng quyết định dạng bảng tính
15 Chế độ tuần tự (Sequential mode) của Drools
16 Sử dụng nhãn tùy chỉnh trong bảng quyết định dạng bảng tính
17 Ôn tập bảng quyết định dạng bảng tính
1 Giới thiệu mẫu luật
2 Sử dụng Drools Rule Templates (DRT) để tạo luật
3 Lấy giá trị giữ chỗ (placeholder) từ nguồn dữ liệu dạng bảng
4 Sử dụng mẫu Freemarker thay thế cho Drools Rule Templates (DRT) đã lỗi thời
5 Khai báo kiểu trung gian trong DRL
6 Cách khai báo enum và đọc lại đối tượng có kiểu được khai báo trong DRL
7 Tạo và chèn đối tượng (có kiểu khai báo trong DRL) vào phiên
8 Ôn tập mẫu luật
1 Giới thiệu xử lý sự kiện phức tạp
2 Chạy luật lặp lại ở chế độ thụ động (passive mode). Sử dụng biến toàn cục (global variables).
3 Rủi ro khi sử dụng dịch vụ bên ngoài để lấy dữ liệu mà luật phụ thuộc vào
4 Sử dụng forall để tìm cuộc gọi phù hợp đã chờ lâu nhất
5 Chế độ thực thi luật chủ động (active) và thụ động (passive)
6 Tạo danh sách sự kiện với từ khóa collect và áp dụng bộ lọc cho kết quả
7 Gọi halt(). Kết hợp chế độ thực thi luật chủ động và thụ động.
8 Thêm các bộ đếm thời gian (timer) khác nhau vào luật
9 Chế độ xử lý luồng sự kiện (stream) sử dụng cửa sổ trượt dựa trên thời gian
10 Khai báo sự kiện là một sự kiện (event) và sử dụng cửa sổ trượt dựa trên độ dài
11 Sử dụng luồng điểm vào (entry-point streams)
12 Ôn tập xử lý sự kiện phức tạp
1 Giới thiệu cơ chế bên trong của Drools
2 Các thành phần cơ bản của Drools rule engine
3 Giới thiệu về Rete, ReteOO và Phreak
4 Đồ thị Rete của một luật đơn
5 Đồ thị Rete của hai luật chia sẻ nút
6 Đồ thị Rete của 3 luật chia sẻ nút
7 Đồ thị Rete với các luật sử dụng phép kết nối (join) và mệnh đề not
8 Sự khác biệt quan trọng nhất giữa thuật toán Phreak và Rete
9 Nguyên tắc thực hành để viết DRL hiệu suất cao hơn
10 Ôn tập phần
1 Bạn đã hoàn thành khóa học!

Giới thiệu khóa học

We learn Apache Drools DSL (Drools programming language) and go over the most common DSL constructs. We move in small steps and gradually introduce new concepts, so it is easier to follow even for a beginner.

This way we cover the most common Drools topics like:

  • what is a rule engine

  • what is the difference between a method and a rule

  • why one would use a rule engine instead of writing regular Java code

  • understanding of the when/then clauses

  • understanding in which order the rules fire and when the order is not known

  • how to control the execution using activation groups, agenda groups and salience

  • declaring variables in DRL

  • difference between stateless and stateful sessions

  • inserting facts and modifying existing objects in the session

  • cross products (similar to SQL join)

  • exists, forall and collect

  • using spreadsheet decision tables to create Drools rules

  • using templates for creating rules and feeding data into them from spreadsheets and other tabular data sources

  • complex event processing (CEP) in Drools

    • difference between fact and event

    • declaring facts and events in Java and inside DRL code

    • different rule execution modes (active/passive, cloud/stream, sequential)

    • time and length-based sliding windows

    • entry-points

    • global variables

    • timers

  • how Apache Drools' internal algorithm Phreak works

This course comes with two Java projects containing all the code we worked with during the course. The first project includes all the code examples in traditional Drools syntax and a second copy of all the rules in the new Drools OOPath syntax (introduced by Drools 8). The first project has been upgraded to run using Drools 10.

You are encouraged to check out and run the code yourself to better understand and experiment with changes.

There are instructions on running the code in IntelliJ, Eclipse, and VS Code.

After completing this course, you will better understand which kinds of problems could be solved with Drools and how to write the most common business rules in Drools DSL.


Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Java
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊