jBPM5 - Các thành phần quy trình làm việc
Ảnh chụp màn hình sau đây hiển thị các thành phần quy trình công việc khác nhau có sẵn trong jBPM 5. Sử dụng các thành phần này, bạn có thể tạo quy trình làm việc để sắp xếp quy trình của mình.
Bạn cũng có thể tạo các tác vụ tùy chỉnh của mình nhưng điều đó sẽ được đề cập sau. Ngoài ra, có các tác vụ dịch vụ có sẵn có thể được sử dụng để sắp xếp một quy trình.
Start Event- Đây là nút đầu tiên được thực thi trong mọi tiến trình. Chỉ có thể có một nút bắt đầu trong quy trình của bạn.
End Event- Nút này báo hiệu kết thúc quá trình. Có thể có nhiều hơn một lần xuất hiện của loại nút này trong một quá trình.
Rule Task - Nó là một nút đánh giá một nhóm RuleFlow, đó là một nhóm các Quy tắc Drools trong cùng một phạm vi được đặt tên.
Gateway (diverge) aka Split- Nút cụ thể này tạo ra các đường dẫn / cách thức mới trong quy trình. Nó có hai hoặc nhiều kết nối gửi đi. Bạn có thể chọn giữa ba loại Tách / Cổng khác nhau có sẵn.
AND GATE - Nơi dòng chảy của quá trình tiếp tục đến tất cả các kết nối gửi đi cùng một lúc.
XOR GATE - Đi đến một đường đi duy nhất theo một số ràng buộc định sẵn được xác định trong quy trình làm việc.
OR GATE - Trường hợp luồng tiến hành dựa trên đánh giá tất cả các ràng buộc gửi đi và đường dẫn đó được kích hoạt khi ràng buộc được đánh giá là true.
Gateway (converge) aka Join- Phép nối này là mặt trái của phép chia. Nó kết hợp nhiều đường dẫn thành một. Có thể có bốn loại tham gia / cổng khác nhau -
AND - Dòng chảy tiếp tục khi tất cả các nhánh đã hoàn thành.
XOR - Dòng tiếp tục khi có ít nhất một nhánh hoàn thành.
Discriminator- Giống như XOR, nó tiếp tục nếu một trong các nhánh của nó đã được hoàn thành. Nhưng không giống như XOR, nó đăng ký sự hoàn thành của các nhánh khác cho đến khi tất cả các kết nối đã hoàn thành. Khi nó xảy ra, nút sẽ đặt lại và nó có thể được nhập lại khi một nhánh đến kích hoạt và chu kỳ bắt đầu lại.
N-of-M - Dòng chảy tiếp tục khi n số lượng mcác nhánh hoàn thành. Bạn cần xác địnhn (số) trong khi cấu hình cổng về số lượng nhánh sẽ hoàn thành trước khi luồng thoát ra.
Reusable Sub-Process- Gọi quá trình khác. Điều này rất hữu ích để biên soạn một số quy trình nhỏ hơn thành một quy trình lớn hơn. Cái lớn hơn này có thể là một quá trình phối hợp. Bạn có thể cấu hình quá trình gọi để đợi callee hoàn tất và cũng có một vòng đời không quan trọng của cha mẹ của nó.
Script Task - Một nút có thể thực thi một đoạn mã đơn giản.
Timer Event- Loại nút này bắt đầu một bộ định thời và kích hoạt khi bộ định thời hết hạn. Cho phép quy trình liên quan đến thời gian và các tác vụ lặp đi lặp lại.
Error Event- Loại nút này báo hiệu một tình trạng lỗi trong quá trình. Nó không có kết nối đi. Nó chỉ định một FaultName và một FaultVariable. Công cụ sẽ tìm kiếm một trình xử lý ngoại lệ phù hợp với FaultName và lưu trữ thông tin về Lỗi trong biến do FaultVariable xác định.
Message Event- Nó kích hoạt khi một sự kiện thuộc loại xác định trước được phát ra. Nó có thể là một sự kiện bên trong (được báo hiệu bên trong quá trình) hoặc bên ngoài (được báo hiệu bởi một thực thể bên ngoài không phải là bộ máy quá trình).
User Task- Một nút tạo Nhiệm vụ Con người. Nhiệm vụ Con người này là một hoạt động phải được hoàn thành bởi một tác nhân con người.
Embedded Sub-Process- Giúp tạo một quy trình con trong một quy trình mẹ. Nó có thể có phạm vi riêng. Điều này hữu ích cho quy trình lớn hơn, nơi bạn muốn giữ một số nhánh phức tạp bị cô lập. Nó có thể có các biến và trình xử lý ngoại lệ riêng
Multiple Instances aka for Each- Nó cho phép một tập hợp các phần tử được đưa vào một quy trình con. Rất hữu ích khi kết hợp với một Quy trình con có thể tái sử dụng để soạn và điều phối các quy trình nhỏ hơn.