Để số hóa một quy trình thì chúng ta có nhiều cách, ở bài viết này chúng ta sẽ sử dụng Activiti. Bây giờ tìm hiểu một số khái niệm cơ bản về Activiti và thử thiết kế quy trình Tuyển dụng mà chúng ta đã nói ở bài trước nhé.

Activiti API là một hệ thống quản lý quy trình công việc và quy trình nghiệp vụ.
Chúng ta có thể định nghĩa, thực thi và thao tác với quy trình đã được thiết kế đó theo những cách khác nhau bằng cách sử dụng các services được cung cấp bởi Activiti API.

Activiti API có thể deploy trên bất kỳ IDE nào, nhưng nếu sử dụng Activiti Designer thì chúng ta sẽ cần Eclipse.

Activiti Process Engine API và Services

  • RepositoryService giúp chúng ta thao tác triển khai các quy trình đã được định nghĩa. Services này xử lý dữ liệu static liên quan đến quy trình.
  • RuntimeService quản lý các ProcessInstances (currently running processes) cũng như các biến của quy trình.
  • TaskService theo dõi và quản lý các UserTasks. Chúng ta có thể tạo Task, hoàn thành Task, chuyển Task, v.v.
  • FormService nó được sử dụng để xác định biểu mẫu trong một quy trình
  • IdentityService quản lý Users and Groups.
  • HistoryService 
  • ManagementService 
  • DynamicBpmnService hỗ trợ thay đổi mọi thứ liên quan đến quy trình mà không cần deploy lại.

Quy trình tuyển dụng

Như bài trước, chúng ta đã liệt kê ra các bước của Quy trình tuyển dụng. Bây giờ chúng ta sẽ dùng Activiti Designer để thiết kế quy trình.

Đây là kết quả sau khi thiết kế quy trình như như mô tả.

Giải thích thiết kế trên:

Bước 0: Đó là 1 Start node, để bắt đầu 1 quy trình.

Bước 1: User task có tên là “Đăng tin tuyển dụng”. Tại bước này, cần phải có thao tác của User xử lý công việc này.

Bước 2: User Task “Thu tập thông tin ứng viên”.

Bước 3: User Task “Nhân sự phỏng vấn”. Tại bước này, user (phòng nhân sự) sẽ có 2 thao tác để thực hiện, đó là: Chấp nhận ứng viên (3.2), ứng viên không đạt (3.1) thì hủy bỏ.

Nhánh 3.1 và 3.2, trước 2 nhánh này chúng ta có Exclusive Gateway, Exclusive Gateway chỉ cho phép 1 nhánh được thực hiên (thỏa mãn điều kiện).

Bước 4: User Task “Giám đốc phỏng vấn”

Bước 5: Service Task “Đánh giá kết quả”, hệ thống sẽ dựa vào kết quả đánh giá ở bước 4 để xử lý rẻ nhánh chương trình theo điều kiện rẻ nhánh ở 5.1 và 5.2

Bước 6: Service Task, có nhiệm vụ gửi mail cảm ơn cho ứng viên vì kết quả phỏng vấn không đạt.

Bước 7: Service Task, dựa vào mức lương mà ứng viên đã đề xuất, hệ thông sẽ kiểm tra ngân sách cho vị trí đang tuyển dụng để đưa ra kết quả cho việc xử lý tiếp theo (7.1 và 7.2).

Bước 8: User Task “Giám đốc phê duyệt”, vì ứng viên đề xuất mức lương cao hơn ngân sách, nên cần phải có sự đồng ý của Giám đốc.

Bước 9: Service Task, gửi mail chúc mừng ứng viên đã trúng tuyển.

Trong bài tiếp theo chung ta sẽ thực sự bắt tay vào code từng dòng lệnh nhé.

Nhớ ghi nguồn https://susudev.com khi đăng tải lại bài viết này