Tôi sắp đi sâu vào một dự án định hướng quy tắc (sử dụng các Quy tắc của ILOG cho .NET - bây giờ là IBM). Và tôi đã đọc một vài quan điểm khác nhau về cách thiết lập quy trình xử lý và cách tương tác với công cụ quy tắc. Hai quan điểm chính tôi đã thấy là tập trung công cụ quy tắc (vào trang trại máy chủ riêng) và chương trình chống lại trang trại thông qua API dịch vụ web (hoặc trong trường hợp ILOG qua WCF). Mặt khác là chạy một thể hiện của công cụ quy tắc trên mỗi máy chủ ứng dụng của bạn và tương tác với nó một cách cục bộ với mỗi cá thể có bản sao quy tắc riêng.Các phương pháp thích hợp để tương tác với một công cụ quy tắc
Phía lên để tập trung là dễ triển khai các quy tắc đến một vị trí tập trung. Quy mô quy mô như họ cần phải thay vì mở rộng quy mô mỗi khi bạn mở rộng cấu hình máy chủ ứng dụng của bạn. Điều này làm giảm chất thải từ góc độ giấy phép đã mua. Mặt trái của thiết lập này là phí bổ sung khi thực hiện cuộc gọi dịch vụ, thời gian chờ của mạng, v.v.
Ngược lại/ngược với động cơ quy tắc cục bộ ngược lại với hướng ngược/xuống của cấu hình tập trung. Không có cuộc gọi dịch vụ chậm (gọi API nhanh), không có vấn đề về mạng, mỗi máy chủ ứng dụng dựa vào chính nó. Việc quản lý việc triển khai các quy tắc trở nên phức tạp hơn. Mỗi khi bạn thêm một nút vào đám mây ứng dụng của mình, bạn sẽ cần thêm giấy phép cho các công cụ quy tắc.
Khi đọc báo trắng, tôi thấy rằng Amazon đang chạy công cụ quy tắc cho mỗi cấu hình máy chủ ứng dụng. Chúng xuất hiện để triển khai chậm các quy tắc và nhận ra rằng độ trễ trong xuất bản quy tắc là "có thể chấp nhận" mặc dù logic nghiệp vụ không đồng bộ trong một khoảng thời gian nhất định.
Câu hỏi: Từ kinh nghiệm của bạn, cách tốt nhất để bắt đầu tích hợp quy tắc vào ứng dụng web dựa trên .net cho cửa hàng chưa dành nhiều thời gian làm việc trong thế giới hướng quy tắc là gì?
Các lập trình viên phải là công cụ * viết * quy tắc. Các nhà phân tích nghiệp vụ thiết lập các quy tắc trên công cụ quy tắc và phải có giao diện GUI để tạo quy tắc và lưu vào XML hoặc cơ sở dữ liệu. Thật vậy, hầu hết các công cụ quy tắc đều không tích hợp được quy trình quản lý luồng công việc phù hợp và chỉ xử lý các quy tắc, do đó việc triển khai FCRE bắt đầu thêm quá phức tạp cho các nhà phân tích nghiệp vụ nghèo, người bắt đầu yêu cầu các lập trình viên trợ giúp họ. Việc triển khai chậm các quy tắc là không thể chấp nhận được trong một môi trường kinh doanh tài chính, và do đó có lẽ như vậy trong các môi trường khác. – JeeBee
Nhưng các lập trình viên cũng cần phải trưng ra các móc nối và các điểm dữ liệu cho các công cụ quy tắc để BA làm việc với. Các ứng dụng mà chúng tôi viết phải gắn vào công cụ quy tắc bằng cách nào đó. –
Vâng, ứng dụng của bạn đưa dữ liệu vào công cụ quy tắc, công cụ quy tắc chạy quy tắc, tính toán, quy trình tùy chỉnh (nơi các lập trình viên đến, ví dụ: nếu bạn cần thêm cuộc gọi webservice nửa chừng trong quá trình thực hiện quy trình công việc của mình) . Giao diện (dịch vụ web, gọi phương thức trực tiếp) phải khá chung chung. Các BA xác định tên dữ liệu mà chúng làm việc với, và đó là những gì bạn vượt qua. Dĩ nhiên tôi chắc chắn rằng các luồng công việc tài chính khác với các quy trình công việc/quy tắc khác. Chúng tôi lưu trữ các công cụ quy tắc của chúng tôi trong Tomcat và gọi cho chúng thông qua dịch vụ web (chi phí nhỏ trên chính các quy tắc). – JeeBee