โปรเจ็กต์ Activiti เป็นแพลตฟอร์ม BPM แบบโอเพ่นซอร์สใหม่ที่ใช้สิทธิ์การใช้งาน Apache บทความนี้จะอธิบายโดยย่อเกี่ยวกับคลาส Activiti ทั่วไป รายละเอียดมีดังนี้:
1. ทำไมต้องใช้เวิร์กโฟลว์
ข้อเสียของการออกแบบแบบดั้งเดิมเมื่อกระบวนการเปลี่ยนแปลง:
1. คุณลักษณะที่เกี่ยวข้องกับกระบวนการและคุณลักษณะของออบเจ็กต์ทางธุรกิจจะอยู่ในออบเจ็กต์ทางธุรกิจ
2. ตรรกะที่เกี่ยวข้องกับกระบวนการและตรรกะทางธุรกิจทั้งหมดอยู่ในตรรกะทางธุรกิจ
คลาสทั่วไปของ Activiti:
อ็อบเจ็กต์การกำหนดค่ากลไกกระบวนการ ProcessEngineConfiguration (การกำหนดค่าข้อมูลการเชื่อมต่อฐานข้อมูลและกลยุทธ์การสร้างตาราง)
ProcessEngine เป็นออบเจ็กต์หลักของ Process Engine (ตรวจสอบว่าสภาพแวดล้อมถูกต้องและจัดการบริการต่างๆ)
อ็อบเจ็กต์บริการคลังสินค้า RepositoryService (จัดการข้อมูลการปรับใช้)
RuntimeService runtime service object (การเริ่มต้นกระบวนการจัดการ การถ่ายโอน และการดำเนินการอื่นๆ)
ออบเจ็กต์บริการงาน TaskService (ข้อมูลในตารางงานเป็นส่วนขยายของตารางการดำเนินการ เวลาในการสร้างงาน และบุคคลที่จัดการงาน)
คลาสที่เกี่ยวข้องกับการปรับใช้:
DeploymentBuilder เผยแพร่ออบเจ็กต์การกำหนดค่า (นามแฝงสำหรับไฟล์กฎที่เผยแพร่ รูปภาพกฎ และการแสดงกระบวนการ)
คำจำกัดความกระบวนการ ProcessDefinition (ใช้เพื่ออธิบายข้อมูลโดยรวมของกระบวนการรีลีส)
กิจกรรมกระบวนการ ActivityImpl (ใช้เพื่ออธิบายข้อมูลที่เกี่ยวข้องกับแต่ละกิจกรรมในกระบวนการ)
เรียกใช้คลาสที่เกี่ยวข้อง:
การดำเนินการดำเนินการวัตถุ (ใช้เพื่ออธิบายข้อมูลพื้นฐานของโหนดที่ใช้งานในปัจจุบัน)
วัตถุอินสแตนซ์กระบวนการ ProcessInstance (อินสแตนซ์กระบวนการต้องการเฉพาะวัตถุการดำเนินการ (รูท) เท่านั้น)
วัตถุงานงาน (เวลาสร้างงานและตัวจัดการ)
2. กรณีการใช้งาน:
การจัดการข้อมูลการใช้งานกระบวนการ:
1. กระบวนการเผยแพร่
2. ดูคำจำกัดความของกระบวนการ ProcessDefinitionQuery
3. ลบกระบวนการ
4. ดูเอกสารแนบกระบวนการ
การจัดการการดำเนินการตามกระบวนการ:
1. เริ่มกระบวนการ
2. ดูงาน (ส่วนตัว/สาธารณะ)
3. อ้างสิทธิ์ UserId และ TaskId
4. ประมวลผลงานให้เสร็จสมบูรณ์ (taskId)
5. ตรวจสอบสถานะงาน