Tôi là một fan hâm mộ lớn của Công cụ quy tắc kinh doanh, vì nó có thể giúp bạn làm cho cuộc sống của mình dễ dàng hơn nhiều với tư cách là một lập trình viên. Một trong những kinh nghiệm đầu tiên mà tôi có khi làm việc trong một dự án Kho Dữ liệu là tìm ra các Thủ tục được Lưu trữ chứa các cấu trúc CASE phức tạp trải dài trên toàn bộ các trang. Thật là một cơn ác mộng khi gỡ lỗi, vì rất khó hiểu logic được áp dụng trong các cấu trúc CASE dài như vậy và để xác định xem bạn có trùng lặp giữa quy tắc ở trang 1 của mã và quy tắc khác từ trang 5. Nhìn chung, chúng tôi đã hơn 300 quy tắc như vậy được nhúng trong mã.
Khi chúng tôi nhận được một yêu cầu phát triển mới, đối với thứ gọi là Điểm đến kế toán, liên quan đến việc xử lý hơn 3000 quy tắc, tôi biết phải thay đổi điều gì đó. Hồi đó tôi đang làm việc trên một nguyên mẫu mà sau này trở thành nguyên mẫu của cái mà bây giờ là công cụ Quy tắc nghiệp vụ tùy chỉnh, có khả năng xử lý tất cả các toán tử chuẩn SQL. Ban đầu, chúng tôi sử dụng Excel làm công cụ soạn thảo và sau đó, chúng tôi đã tạo một ứng dụng ASP.net cho phép Người dùng Doanh nghiệp xác định các quy tắc kinh doanh của riêng họ mà không cần viết mã. Bây giờ hệ thống hoạt động tốt, với rất ít lỗi và chứa hơn 7000 quy tắc để tính Đích kế toán này. Tôi không nghĩ rằng kịch bản như vậy có thể xảy ra chỉ bằng cách viết mã cứng.
Tuy nhiên, có những giới hạn đối với cách tiếp cận như vậy:
- Bạn cần có những người dùng doanh nghiệp có năng lực hiểu biết tuyệt vời về hoạt động kinh doanh của công ty.
- Có một khối lượng công việc đáng kể về việc tìm kiếm toàn bộ hệ thống (trong trường hợp của chúng tôi là Kho dữ liệu), để xác định tất cả các điều kiện được mã hóa cứng có ý nghĩa để chuyển thành các quy tắc được xử lý bởi Công cụ quy tắc kinh doanh. Chúng tôi cũng phải cẩn thận để Người dùng Doanh nghiệp có thể hiểu được các mẫu ban đầu này.
- Bạn cần có một ứng dụng được sử dụng để tạo quy tắc, trong đó các thuật toán phát hiện các quy tắc kinh doanh chồng chéo được triển khai. Nếu không, bạn sẽ kết thúc với một mớ hỗn độn lớn, nơi không ai hiểu được kết quả mà họ nhận được. Khi bạn gặp lỗi trong một thành phần chung như Công cụ quy tắc kinh doanh tùy chỉnh, có thể rất khó gỡ lỗi và cần phải kiểm tra sâu rộng để đảm bảo rằng những thứ hoạt động trước đây cũng hoạt động ngay bây giờ.
Bạn có thể tìm thấy thêm chi tiết về chủ đề này trên một bài đăng mà tôi đã viết: http://dwhbp.com/post/2011/10/30/Implecting-a-Business-Rule-Engine.aspx
Nhìn chung, lợi thế lớn nhất của việc sử dụng Công cụ quy tắc kinh doanh là nó cho phép người dùng kiểm soát lại các định nghĩa và tác giả của Quy tắc kinh doanh mà không cần đến bộ phận CNTT mỗi khi họ cần sửa đổi điều gì đó. Nó cũng làm giảm khối lượng công việc đối với các nhóm phát triển CNTT, hiện có thể tập trung vào việc xây dựng những thứ có nhiều giá trị gia tăng hơn.
Chúc mừng,
Nicolae