ฉันรับผิดชอบทีมนักพัฒนาที่กำลังจะเริ่มพัฒนาระบบการเคลมประกันที่มีน้ำหนักเบา ระบบเกี่ยวข้องกับงานด้วยตนเองและเวิร์กโฟลว์ทางธุรกิจจำนวนมากและเรากำลังพิจารณาการใช้ Windows Workflow (.NET 4.0)
ตัวอย่างของโดเมนธุรกิจมีดังนี้: ผู้ถือกรมธรรม์โทรไปที่ศูนย์ติดต่อเพื่อยื่นคำร้อง "เหตุการณ์" นี้ทำให้งานย่อยสองงานเริ่มดำเนินการด้วยตนเองพร้อมกันและอาจใช้เวลาดำเนินการนาน
- ตรวจสอบลูกค้าว่ามีการฉ้อโกง - ขั้นตอนด้วยตนเองโดยผู้ประกอบการเรียก บริษัท สินเชื่อหลายแห่งเพื่อตรวจสอบและประเมินศักยภาพของลูกค้าที่ฉ้อโกง จากที่นี่งานย่อยสามารถป้อนสถานะย่อยได้หลายสถานะ (กำลังดำเนินการตรวจสอบ, การตรวจสอบการอ้างอิงล้มเหลว, การตรวจสอบการอ้างอิงผ่าน ฯลฯ )
- ส่งสินค้าไปยังศูนย์ซ่อม - กระบวนการแบบแมนนวลซึ่งสินค้าที่ผู้ถือกรมธรรม์ยื่นข้อเรียกร้องจะถูกส่งไปที่ศูนย์ซ่อมเพื่อแก้ไข จากที่นี่งานย่อยสามารถป้อนสถานะย่อยได้หลายสถานะ (กำลังรอการซ่อมแซมอยู่ระหว่างดำเนินการซ่อมแซมโพสต์ ฯลฯ ) การอ้างสิทธิ์สามารถดำเนินการได้ต่อเมื่อสถานะของงานย่อยแต่ละงานถึงสถานะที่กำหนดไว้ล่วงหน้า (ตามกฎทางธุรกิจ)
ดูเหมือนว่า Workflow จะเป็นตัวเลือกเทคโนโลยีที่ดีที่สุด อย่างไรก็ตามฉันมีข้อกังวลเล็กน้อยในการใช้ WF 4.0
- ชุดทักษะ - เมื่อดูชุดทักษะของนักพัฒนาโดยเฉลี่ยแล้วฉันไม่เห็นนักพัฒนาหลายคนที่เข้าใจหรือรู้จักเวิร์กโฟลว์
- ความสามารถในการบำรุงรักษา - ดูเหมือนว่าชุมชนจะได้รับการสนับสนุนเพียงเล็กน้อยสำหรับโครงการ WF 4.0 และการขาดทักษะนี้ทำให้เกิดความกังวลเกี่ยวกับความสามารถในการบำรุงรักษา
- อุปสรรคในการเข้า - ฉันรู้สึกว่า Windows Workflow มีเส้นโค้งการเรียนรู้ที่สูงชันและไม่ใช่เรื่องง่ายที่จะหยิบขึ้นมา
- ผลิตภัณฑ์ใหม่ - เนื่องจากเวิร์กโฟลว์ถูกเขียนใหม่ทั้งหมดสำหรับ. NET 4.0 ฉันเห็นว่าผลิตภัณฑ์เป็นผลิตภัณฑ์รุ่นแรกและอาจไม่มีความเสถียรที่จำเป็น
- ชื่อเสียง - เวิร์กโฟลว์เวอร์ชันก่อนหน้าไม่ได้รับการตอบรับอย่างดีถือว่ายากที่จะพัฒนาและส่งผลให้การดำเนินธุรกิจไม่ดี
ดังนั้นคำถามของฉันคือเราควรใช้ Windows Workflow (WF) 4.0 สำหรับสถานการณ์นี้หรือไม่หรือมีเทคโนโลยีทางเลือกอื่น (เช่นSimple State Machineฯลฯ ) หรือแม้แต่ Workflow Engine ที่ดีกว่าที่จะใช้