Sự kiện biên
Sự kiện biên là gì
Sự kiện biên BPMN 2.0 là một sự kiện bắt trung gian được gắn vào đường viền của một hoạt động. Sự kiện này chờ một yếu tố kích hoạt, chẳng hạn thời hạn, thông điệp, lỗi, tín hiệu hoặc thay đổi dữ liệu, trong khi hoạt động đang chạy. Khi yếu tố đó xảy ra, sự kiện mở một luồng đi ra khỏi hoạt động.
- Sự kiện luôn nằm trên đường viền của một nhiệm vụ, quy trình con, giao dịch hoặc Call Activity. Sự kiện không thể gắn vào một sự kiện hay cổng, cũng không thể đứng riêng trong luồng.
- Sự kiện có luồng tuần tự đi ra nhưng không có luồng tuần tự đi vào. Hoạt động được gắn với sự kiện là lối vào duy nhất.
- Sự kiện chỉ chờ kích hoạt khi hoạt động còn đang chạy. Nếu hoạt động kết thúc trước, sự kiện biên sẽ không được kích hoạt. Ngoại lệ là sự kiện bù trừ: sự kiện này được kích hoạt sau khi hoạt động hoàn tất.
- Khi yếu tố kích hoạt xảy ra, một thẻ luồng đi ra qua luồng của sự kiện biên. Sự kiện ngắt thay thế thẻ luồng của hoạt động; sự kiện không ngắt tạo thêm một thẻ luồng bên cạnh.
- Trong ký hiệu, sự kiện được vẽ thành hai vòng tròn trên cạnh hoạt động, với biểu tượng yếu tố kích hoạt ở bên trong.
ProcessMind hỗ trợ các sự kiện biên thuộc mọi loại được liệt kê trên trang này. Kéo một sự kiện từ nhóm Sự kiện biên hoặc Biên không tương tác. trong bảng Các phần tử BPMN đến đường viền của hoạt động để gắn sự kiện. Bạn cũng có thể kéo một sự kiện bắt trung gian có sẵn lên đường viền hoạt động để gắn vào, rồi kéo ra ngoài để tháo. Cả thao tác gắn và cài đặt ngắt đều được giữ nguyên khi xuất rồi nhập lại tệp BPMN.
Sự kiện ngắt và không ngắt
Sự kiện biên có hai dạng. Dạng sự kiện quyết định điều gì xảy ra với hoạt động khi yếu tố kích hoạt xuất hiện.
| Ngắt | Không ngắt | |
|---|---|---|
| Cách vẽ | Hai vòng tròn liền nhau | Hai vòng tròn nét đứt |
| Tác động đến hoạt động | Hủy ngay lập tức; công việc đang thực hiện bị bỏ dở | Tiếp tục chạy; không có gì bị hủy |
| Các luồng sau khi kích hoạt | Chỉ có luồng biên; không đi theo luồng ra thông thường của hoạt động | Cả hai: luồng thông thường tiếp tục và luồng biên chạy song song |
| Số lần có thể kích hoạt | Một lần; hoạt động kết thúc sau khi sự kiện được kích hoạt | Có thể nhiều lần khi hoạt động vẫn đang chạy, chẳng hạn mỗi chu kỳ của bộ hẹn giờ lặp lại |
| Thuộc tính BPMN | cancelActivity="true" | cancelActivity="false" |
Sự kiện biên ngắt quãng thay thế luồng tiếp diễn bình thường của hoạt động. Sự kiện biên không ngắt quãng tạo nhánh từ hoạt động đó.
Dùng sự kiện ngắt quãng khi tác nhân kích hoạt khiến việc tiếp tục hoạt động trở nên vô ích hoặc không an toàn, chẳng hạn như trễ hạn, xảy ra lỗi hoặc rút yêu cầu. Dùng sự kiện không ngắt quãng khi tác nhân kích hoạt cần thêm việc song song với hoạt động, hoặc cần gửi lời nhắc hay thông báo mà không làm mất phần việc đang thực hiện.
Cả hai loại chỉ có ý nghĩa khi hoạt động đang diễn ra. Khi sự kiện ngắt quãng được kích hoạt, hoạt động sẽ bị hủy, đồng thời mọi sự kiện biên khác gắn với hoạt động đó cũng bị vô hiệu hóa. Sự kiện không ngắt quãng giữ nguyên hoạt động và các sự kiện biên khác.
Một hoạt động, nhiều sự kiện biên. Một hoạt động có thể có nhiều sự kiện biên. Ví dụ, một nhiệm vụ phê duyệt thường kết hợp các sự kiện sau:
- Bộ hẹn giờ ngắt quãng sau hai ngày làm việc: chuyển cấp xử lý và dừng nhiệm vụ.
- Bộ hẹn giờ không ngắt quãng mỗi bốn giờ: gửi lời nhắc và để nhiệm vụ tiếp tục.
- Sự kiện lỗi ngắt quãng trên quy trình con thực hiện bước kiểm tra: xử lý lỗi kỹ thuật.
Các loại sự kiện biên
ProcessMind hỗ trợ các loại dưới đây. Nhóm ngắt quãng có nhiều loại hơn vì một số tác nhân kích hoạt chỉ có ý nghĩa khi dừng hoạt động.
Sự kiện biên ngắt quãng
| Loại | Ý nghĩa | Ví dụ thường gặp |
|---|---|---|
| Message | Chờ một thông điệp cụ thể gửi đến hoạt động này. | “Chờ báo giá từ nhà cung cấp” bị ngắt bởi thông điệp “rút báo giá”, sau đó tiếp tục đến “Tìm nhà cung cấp thay thế”. |
| Timer | Hạn chót: khoảng thời gian, ngày cụ thể hoặc chu kỳ tính từ lúc hoạt động bắt đầu. | “Phê duyệt chi phí” có bộ hẹn giờ hai ngày. Nếu chưa hoàn tất, trường hợp sẽ chuyển sang “Chuyển cấp cho quản lý tài chính”. |
| Error | Bắt lỗi phát sinh bên trong hoạt động và dừng hoạt động đó. Sự kiện biên lỗi luôn ngắt quãng. | Quy trình con “Kiểm tra tín dụng” phát sinh lỗi “kiểm tra thất bại”. Nhánh biên chuyển đến “Yêu cầu thẩm định thủ công”. |
| Escalation | Dừng hoạt động vì cấp cao hơn cần tiếp quản. | “Xử lý sự cố” được chuyển cấp sau khi không đạt mục tiêu thời gian phản hồi đầu tiên, rồi chuyển sang “Chỉ huy sự cố tiếp quản”. |
| Cancel | Bắt sự kiện kết thúc hủy của quy trình con giao dịch. Chỉ dùng được trong giao dịch. | Giao dịch “Đặt chuyến đi” bị khách hàng hủy. Nhánh biên chuyển đến “Hoàn tiền và hủy chỗ đã đặt”. |
| Compensation (trường hợp đặc biệt) | Chạy trình xử lý bồi thường cho hoạt động đã hoàn tất để đảo ngược tác động của hoạt động đó. Không hủy công việc đang thực hiện. | “Thu tiền đặt cọc” được bồi thường bằng “Hoàn tiền đặt cọc” khi đơn hàng bị hủy ở bước sau trong quy trình. |
| Conditional | Kích hoạt khi một điều kiện nghiệp vụ trở thành đúng trong lúc hoạt động đang chạy. | “Giữ hàng” bị ngắt khi availableStock < orderedQuantity; trường hợp chuyển sang “Đặt hàng chờ và thông báo khách hàng”. |
| Signal | Bắt tín hiệu phát rộng. Tín hiệu không gửi riêng đến một hoạt động; mọi bên nghe phù hợp đều có thể phản hồi. | “Thu thập tài liệu còn thiếu” bị ngắt bởi tín hiệu toàn công ty “rút hồ sơ”, rồi hồ sơ được đóng. |
| Multiple | Kích hoạt khi xảy ra một trong nhiều tác nhân kích hoạt. | “Chờ khách hàng phản hồi” bắt thông điệp “đã nhận phản hồi” hoặc bộ hẹn giờ mười ngày; tác nhân nào đến trước sẽ hủy thời gian chờ. |
| Parallel Multiple | Chỉ kích hoạt khi tất cả tác nhân kích hoạt đã xảy ra. | “Thu thập phê duyệt phát hành” chờ cả thông điệp phê duyệt pháp lý và thông điệp phê duyệt bảo mật trước khi tiếp tục. |
Một vài nguyên tắc cho nhóm này:
- Lỗi nên gắn với quy trình con, Call Activity hoặc giao dịch, tức hoạt động có thể thực sự phát sinh lỗi. Một nhiệm vụ thông thường không có phần bên trong để xảy ra lỗi.
- Hủy nên gắn với quy trình con giao dịch. Ở nơi khác, sự kiện này không có gì để bắt.
- Bồi thường là trường hợp đặc biệt. Sự kiện được kích hoạt sau khi hoạt động hoàn tất và được khởi chạy bởi một sự kiện phát bồi thường ở nơi khác trong quy trình. Sự kiện mô tả việc “hoàn tác bước đã thực hiện”, không phải “dừng bước đang chạy”.
- Multiple là cuộc đua giữa các tác nhân. Parallel Multiple là cổng chờ tất cả các tác nhân.
Sự kiện biên không ngắt quãng
| Loại | Ý nghĩa | Ví dụ thường gặp |
|---|---|---|
| Message | Thông điệp đến trong khi hoạt động vẫn tiếp tục; thông điệp mở một nhánh phụ. | “Soạn đề xuất” vẫn chạy khi thông điệp “đã nhận nhận xét của người rà soát” mở hoạt động “Ghi nhận nhận xét”. |
| Timer | Lời nhắc hoặc kiểm tra định kỳ; hoạt động không bị dừng. | “Xử lý yêu cầu hỗ trợ” có bộ hẹn giờ lặp lại mỗi tám giờ, mở hoạt động “Gửi cập nhật trạng thái” trong khi việc xử lý vẫn tiếp tục. |
| Escalation | Chuyển cấp xử lý song song với hoạt động mà không kết thúc hoạt động đó. | “Giải quyết khiếu nại” vẫn chạy trong khi sự kiện chuyển cấp “khách hàng thuộc nhóm chiến lược” mở hoạt động “Thông báo cho giám đốc khách hàng”. |
| Conditional | Một điều kiện mở nhánh phụ trong khi hoạt động vẫn tiếp tục. | “Xử lý hồ sơ vay” vẫn chạy khi riskScore > 70 mở hoạt động “Đánh dấu để rà soát kiểm toán”. |
| Signal | Tín hiệu phát rộng mở nhánh phụ cho mọi bên nghe; hoạt động vẫn tiếp tục. | “Chạy xử lý hàng loạt ban đêm” vẫn chạy khi tín hiệu “thị trường đóng cửa” mở hoạt động “Chụp nhanh tổng tạm thời”. |
| Multiple | Một trong nhiều tác nhân kích hoạt mở nhánh phụ; hoạt động vẫn tiếp tục. | “Đàm phán hợp đồng” vẫn mở; thông điệp từ đối tác hoặc bộ hẹn giờ ba ngày sẽ mở hoạt động “Gửi lời nhắc”. |
| Parallel Multiple | Tất cả tác nhân kích hoạt cùng mở nhánh phụ; hoạt động vẫn tiếp tục. | “Chờ tất cả bước kiểm tra” vẫn hoạt động đến khi cả thông điệp và tín hiệu đều đến, rồi mở hoạt động “Ghi nhận đã sẵn sàng”. |
Sự kiện biên không ngắt quãng phù hợp để gửi lời nhắc, thông báo, theo dõi và chuyển cấp xử lý song song. Chúng không làm thay đổi luồng chính mà thêm một nhánh bên cạnh.
Các loại sự kiện không phải sự kiện biên
Một số loại sự kiện trông có vẻ như có thể dùng làm sự kiện biên, nhưng thực ra không phải:
- Link kết nối các phần của một luồng. Đây là sự kiện bắt hoặc phát ở giữa luồng tuần tự, không phải sự kiện gắn vào hoạt động.
- Terminate kết thúc toàn bộ phiên bản quy trình và chỉ tồn tại dưới dạng sự kiện kết thúc.
- Không có không phải là tác nhân kích hoạt, vì vậy sự kiện biên không thể là “Không có”: mỗi sự kiện biên đều cần có thứ để bắt.
Thêm sự kiện biên trong ProcessMind
- Mở bảng chọn Các phần tử BPMN.
- Chọn một loại trong nhóm Sự kiện biên để tạo sự kiện ngắt quãng, hoặc trong nhóm Biên không tương tác. để tạo sự kiện không ngắt quãng.
- Kéo sự kiện vào đường viền của một nhiệm vụ, quy trình con, giao dịch hoặc hoạt động gọi.
- Thả sự kiện. Sự kiện sẽ gắn vào cạnh gần nhất và hoạt động trở thành hoạt động chủ.
- Vẽ luồng tuần tự từ sự kiện biên đến bước đầu tiên của nhánh ngoại lệ hoặc nhánh phụ.
Một số mẹo khi sử dụng:
- Thả một sự kiện trung gian lên đường viền hoạt động sẽ gắn sự kiện vào hoạt động. Thả cùng sự kiện đó vào vùng trống trên canvas sẽ tạo sự kiện bắt trung gian thông thường. Sau đó, bạn có thể kéo sự kiện lên đường viền để gắn vào hoặc kéo ra ngoài để tháo ra.
- Sự kiện biên di chuyển, ẩn và bị xóa cùng hoạt động chủ. Sự kiện này không bao giờ được đặt độc lập với một hoạt động.
- Phiên bản không ngắt quãng có mục riêng trong bảng chọn, không phải tùy chọn bật/tắt. Hãy chọn phiên bản này trước khi kéo nếu hoạt động cần tiếp tục chạy.
- Khi xuất, phần gắn sự kiện được ghi thành
attachedToRefvà thiết lập ngắt quãng được ghi thànhcancelActivity. Cả hai sẽ được khôi phục khi nhập lại tệp.
Lỗi thường gặp
- Sự kiện biên không có luồng đi ra. Sự kiện bắt tác nhân kích hoạt nhưng không có bước tiếp theo, khiến nhánh ngoại lệ đi vào ngõ cụt.
- Dùng bộ hẹn giờ không ngắt quãng khi cần dừng hẳn. Hoạt động vẫn tiếp tục, nên hết hạn không đồng nghĩa với việc công việc kết thúc. Hãy dùng phiên bản ngắt quãng cho hạn chót.
- Gắn sự kiện biên lỗi vào một nhiệm vụ thông thường. Hãy gắn sự kiện vào quy trình con hoặc hoạt động gọi có chứa bước phát sinh lỗi.
- Cho rằng sự kiện biên sẽ kích hoạt sau khi hoạt động kết thúc. Sự kiện không thể làm vậy, ngoại trừ Compensation, vốn được kích hoạt sau khi hoàn tất.
- Dùng Cancel bên ngoài giao dịch. Sự kiện biên hủy chỉ dành cho quy trình con giao dịch.
- Đặt hai sự kiện ngắt quãng trên cùng một hoạt động và mong cả hai nhánh đều chạy. Tác nhân kích hoạt đầu tiên sẽ thắng; hoạt động và các sự kiện biên khác của nó đều bị hủy.
Tất cả sự kiện và ký hiệu tương ứng
| Bắt đầu | Trung gian | Kết thúc | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | Thông thường | Subprocess sự kiện | Subprocess sự kiện không ngắt | Bắt sự kiện | Biên | Biên không ngắt | Phát sự kiện | |
| Không có | | |||||||
| Message | | | | | | | | |
| Timer | | | | | | | ||
| Conditional | | | | | | | ||
| Link | | | | |||||
| Signal | | | | | | | | |
| Error | | | | |||||
| Escalation | | | | | | | ||
| Terminate | | |||||||
| Compensation | | | | | ||||
| Cancel | | | ||||||
| Multiple | | | | | | | | |
| Multiple Parallel | | | | | | | ||
Tạo mô hình BPMN tùy chỉnh
Chủ đề liên quan
- Events: tất cả các loại sự kiện.
- Intermediate Event: các sự kiện nằm giữa luồng.
- Hoạt động: các nhiệm vụ và quy trình con có thể gắn sự kiện biên.
- Các phần tử BPMN được hỗ trợ: những gì ProcessMind có thể nhập và xuất.
- BPMN 2.0: Hướng dẫn thực hành: ký hiệu BPMN kèm ví dụ minh họa.
Thiết kế quy trình tốt hơn. Kết nối các quy trình. Luôn chủ động kiểm soát.
Truy cập ngay, không cần thẻ tín dụng hay chờ đợi. Biến cách tổ chức của bạn vận hành thành các thiết kế quy trình rõ ràng, liên kết với nhau.
Xây dựng kiến trúc quy trình, xác định quyền sở hữu và cơ chế kiểm soát, đồng thời thống nhất vai trò và trách nhiệm ở mọi cấp.
Bắt đầu dùng thử miễn phí để tạo nền tảng đáng tin cậy cho việc quản trị, quản lý và cải tiến quy trình liên tục.