Drools - Giới thiệu

Bất kỳ ứng dụng Java cấp doanh nghiệp nào cũng có thể được chia thành ba phần:

  • UI - Giao diện người dùng (Giao diện người dùng)
  • Lớp dịch vụ lần lượt được kết nối với cơ sở dữ liệu
  • Lớp kinh doanh

Chúng tôi có một số khung công tác xử lý giao diện người dùng và lớp dịch vụ cùng nhau, ví dụ: Spring và Struts. Tuy nhiên, chúng tôi không có một cách tiêu chuẩn để xử lý logic nghiệp vụ cho đến khi Drools ra đời.

Drools là gì?

Drools là một Business Logic integration Platform (BLiP). Nó được viết bằng Java. Đây là một dự án mã nguồn mở được hỗ trợ bởi JBoss và Red Hat, Inc. Nó mở rộng và triển khai thuật toán so khớp Rete Pattern.

Theo thuật ngữ của giáo dân, Drools là một tập hợp các công cụ cho phép chúng ta phân tách và lập luận dựa trên logic và dữ liệu được tìm thấy trong các quy trình kinh doanh. Hai từ khóa quan trọng chúng ta cần lưu ý làLogicData.

Drools được chia thành hai phần chính: AuthoringRuntime.

  • Authoring - Quá trình cấp quyền liên quan đến việc tạo tệp Quy tắc (tệp .DRL).

  • Runtime - Nó liên quan đến việc tạo ra bộ nhớ làm việc và xử lý việc kích hoạt.

Rule Engine là gì?

Drools là Công cụ quy tắc hoặc Hệ thống quy tắc sản xuất sử dụng phương pháp tiếp cận dựa trên quy tắc để triển khai và Hệ thống chuyên gia. Hệ chuyên gia là hệ thống dựa trên tri thức sử dụng biểu diễn tri thức để xử lý tri thức thu được thành cơ sở tri thức có thể được sử dụng để lập luận.

Hệ thống Quy tắc Sản xuất là Turing hoàn chỉnh, tập trung vào biểu diễn tri thức để thể hiện mệnh đề và logic bậc nhất một cách ngắn gọn, không mơ hồ và mang tính khai báo.

Bộ não của Hệ thống Quy tắc Sản xuất là Inference Enginecó thể mở rộng đến một số lượng lớn các quy tắc và sự kiện. Công cụ suy luận khớp các dữ kiện và dữ liệu với Quy tắc sản xuất - còn được gọi làProductions hoặc chỉ Rules - để suy ra kết luận dẫn đến hành động.

Quy tắc sản xuất là một cấu trúc gồm hai phần sử dụng logic bậc nhất để lập luận về biểu diễn tri thức. Công cụ quy tắc kinh doanh là một hệ thống phần mềm thực thi một hoặc nhiều quy tắc kinh doanh trong môi trường sản xuất thời gian chạy.

Công cụ quy tắc cho phép bạn xác định “What to Do" và không "How to do it. ”

Quy tắc là gì?

Các quy tắc là những phần kiến ​​thức thường được thể hiện là, " Khi một số điều kiện xảy ra, sau đó thực hiện một số nhiệm vụ."

When
   <Condition is true>
Then
   <Take desired Action>

Phần quan trọng nhất của Quy tắc là whenphần. Nếuwhen một phần hài lòng, then một phần được kích hoạt.

rule  <rule_name>
   <attribute> <value>
      
   when
      <conditions>
      
   then
      <actions>
end

Khớp mẫu

Quá trình đối sánh các dữ kiện mới hoặc hiện có với các Quy tắc sản xuất được gọi là Khớp mẫu, được thực hiện bởi Công cụ suy luận. Có một số thuật toán được sử dụng để Đối sánh Mẫu bao gồm:

  • Linear
  • Rete
  • Treat
  • Leaps

Drools Triển khai và mở rộng Thuật toán Rete. Việc triển khai Drools Rete được gọi là ReteOO, biểu thị rằng Drools đã triển khai nâng cao và tối ưu hóa thuật toán Rete cho các hệ thống hướng đối tượng.

Ưu điểm của Rule Engine

Lập trình khai báo

Các quy tắc giúp bạn dễ dàng trình bày các giải pháp cho các vấn đề khó khăn và cũng xác minh các giải pháp. Không giống như mã, Quy tắc được viết bằng ngôn ngữ ít phức tạp hơn; Các nhà phân tích kinh doanh có thể dễ dàng đọc và xác minh một bộ quy tắc.

Phân tách logic và dữ liệu

Dữ liệu nằm trong Đối tượng miền và logic nghiệp vụ nằm trong Quy tắc. Tùy thuộc vào loại dự án, loại tách biệt này có thể rất thuận lợi.

Tốc độ và khả năng mở rộng

Thuật toán Rete OO mà Drools được viết đã là một thuật toán đã được chứng minh. Với sự trợ giúp của Drools, ứng dụng của bạn trở nên rất dễ mở rộng. Nếu có yêu cầu thay đổi thường xuyên, người ta có thể thêm các quy tắc mới mà không cần phải sửa đổi các quy tắc hiện có.

Tập trung hóa kiến ​​thức

Bằng cách sử dụng Quy tắc, bạn tạo ra một kho kiến ​​thức (cơ sở kiến ​​thức) có thể thực thi được. Đó là một điểm trung thực cho chính sách kinh doanh. Lý tưởng nhất là các Quy tắc dễ đọc đến mức chúng cũng có thể dùng làm tài liệu.

Tích hợp công cụ

Các công cụ như Eclipse cung cấp các cách để chỉnh sửa và quản lý các quy tắc cũng như nhận được phản hồi, xác nhận và hỗ trợ nội dung ngay lập tức. Các công cụ kiểm tra và gỡ lỗi cũng có sẵn.