Tag BPMN

[TESTING] มา Debug Request ที่ส่งเข้าไปใน JSON-SERVER ครับ

หลังจากที่ได้ลง JSON-Server ไปแล้วใน Blog ตอนก่อนครับ หลังจากที่ลอง Service Task บน BPMN แล้วพบว่ามันไม่ส่งข้อมูลไป คราวนี้ผมเลยต้องมาไล่ดู Request ที่ส่งไปที่ JSON-Server มันส่งไปจริง หรือป่าว และส่งอะไรไปบ้างครับ โดยสิ่งที่มีก่อนครับ Node.js Editor อะไรก็ได้ครับ เพราะ เราเขียน JavaScript เรียกใช้งาน JSON-Server ครอบอีกทีนึงก่อนครับ สำหรับขั้นตอนมาลุยไปพร้อมๆกันเลยครับฃ สร้าง Project สำหรับ Node ด้วยคำสั่ง npm init -y  ซึ่งได้ผลลัพธ์เป็น package.json  ที่ทำหน้าที่เก็บข้อมูลของ Project และ Package…

[BPMN] Service Task with REST-API (OTHER) Example

หลังจากได้ลองไปแล้วกับ REST API ผ่าน Service Task บน BPMN ไป 2 เรื่อง คราวนี้ก็มาลองแบบที่เหลือบ้างว่าอันไหน Work หรือไม่ Work ครับ โดยผมได้สร้าง BPMN ที่มีกระบวนการทำงาน ดังรูปครับ โดยแต่ละ Service Task มีการเรียกใช้ REST-API Method ที่แตกต่างกันครับ ได้แก่ ทดสอบ Run ครับ โดยผมใช้ Mock API ของ JSON-Server อีกเช่นเคยครับ สำหรับ Blog นี้เขียนเสร็จ…

[BPMN] Service Task with REST-API (PATCH) Example

หลังจาก Blog ตอนก่อน ผมได้ลอง Service Task เชื่อมกับ Web Service ผ่านวิธีการ GET เพื่อที่ดึงข้อมูลมาแสดงผลครับ คราวนี้หลังจาก GET ข้อมูลไปแล้วคราวนี้ เราลองมาทำการแก้ไขข้อมูลครับ ซึ่งการแก้ไขข้อมูลบางส่วน อันนี้ทาง Web Service (REST API) เค้ามีวิธีการที่เรียกว่า PATCH ครับ ส่วนจะทำอย่างไรนั้นมาลุยกันเลยครับ เตรียมตัวครับ กระบวนการที่สร้างกันก่อนครับ สำหรับกระบวนการที่สร้างคราวนี้ผมทั้ง JSON Server ขึ้นมาเองครับ โดยใช้ข้อมูล Request ซึ่งผู้ใช้ต้องใส่ ID เพื่อให้ระบบดึงข้อมูล Request ขึ่นมาครับ หลังจากดูเสร็จ แล้วกด…

[BPMN] Service Task with REST-API (Get) Example

หลังจากงมๆมานานพอสมควรแล้วกับการใช้งาน Service Task กับ Web Service กับ Camunda BPMN Engine ครับ โดยสิ่งที่ผมใช้ คือ ตัว Camunda Connector ที่ช่วยให้เราสามารถ Config Web Service ได้ง่าย ไม่ต้องส่งงานให้ Delegate Code อย่าง BPMN Engine ของค่ายอื่นๆครับ สำหรับ NOTE: สำหรับเรื่อง Service Task ตัว Spec ของ BPMN ไม่ได้ระบุใน Spec ชัดเจน…

[BPMN] ลองคิดตัวอย่างของ Completion Condition กัน

Ref : http://resources.bizagi.com/docs/BPMNByExampleENG.pdf

พอดีช่วงนี้ได้ลองเล่น BPMN แล้ว ปัญหาที่สำคัญของ Spec ตัว BPMN เอง คือ ตัวอย่างน้อย และไม่ครอบคลุมตามคุณสมบัติที่ได้ระบุไว้ใน Spec ครับ อย่างที่ผมโคตรงง ตอนนี้ คือ Attribute ของ Multi-Instance ของ Task ครับ ลองมาคิดตัวอย่างกันดีกว่าครับ เดี๋ยวคิดออกอีกแล้วมาเขียนเพิ่มครับ

[BPMN] มาลองใช้ Timer Start Event กันครับ

จาก Blog ตอนที่แล้ว หลังจากไปตบตีกับ Timer Start Event  ที่ไม่สามารถ Deploy ได้มา 5 วัรเต็มๆ หลังจากแก้ปัญหาได้แล้ว คราวนี้มาลองดูตัวอย่างกันครับ หลายคนที่อ่าน Spec ของ BPMN เอาน่าจะงงกันครับ มาดูกระบวนการแบบง่ายๆกันก่อนครับ Note: กระบวนการที่ไม่ได้เป็นตัวอย่างของกระบวนการทางธุรกิจจริงๆนะครับ แค่เพียงทดสอบ Start Timer Event โดยมีส่วนประกอบ ดังนี้ รอที่ Job ทำงานครับ ต้องรอเวลา 2018-06-03 เวลาเที่ยงคืน ถ้าขี้เกียจก็เปลี่ยนเวลาเครื่องได้เลยครับ (ถ้าบน Windows ที่ยังไม่ Activate จะไม่สามารถย้อนเวลาได้ครับ) ดูผลลัพธ์ ดูที Console…

[BPMN] เมื่อ Timer Start Event ทำให้เกิดปัญหา duedate is null

หลังจากทำ Thesis มาเรื่อยๆ ผมได้มาลองใช้ Timer Start Event ของแบบจำลอง BPMN พอจะ Deploy เท่านั้นแหละ ? พระเจ้า !!!! ทำไมทำร้ายเด็กน้อยอย่างฉันเช่นนี้ ผมติดปัญหานี้มาประมาณ 2 สัปดาห์ครับ ระหว่างที่ทำก็ไล่ถาม Google ตรวจการกำหนด Config ไปเรื่อยๆ จนถึงเวลาแล้วทีผม ต้องเอา Stacktrace มาลองไล่ Code ของตัว BPMN Engine ใน GitHub ครับ ซึ่งพอไล่ๆไปแล้ว พบสาเหตุแล้ว มาลองดูผลลัพธ์กันครับ

[BPMN] เพิ่มเติมเกี่ยวกับ multiInstanceLoopCharacteristics

จาก Blog ที่แล้วที่ผมได้เขียนเกี่ยวกับตัวอย่างของ multiInstanceLoopCharacteristics โดยใช้ตัวอย่างเรื่อง กระบวนการของการขอเสนอรางวัลให้กับพนักงานดีเด่น ซึ่งลองเล่นไป เล่นมาแล้วพบปัญหา ดังนี้ สำหรับใน Blog นี้ ผมใช้วิธีแรกครับ แต่จะแทรก ตัวอย่างของ Listener เข้าไปด้วยครับ ลุยกันเลยครับ สำหรับภาพรวมของกระบวนการ (Process) เหมือนเดิมครับ แต่จะแก้ Coding และ Config ข้างในมากกว่าครับ มาเริ่มกันเลยครับ ใน Script Task “Setup Reviews” ผมแก้จากการใช้ List มาเป็น Dictionary ครับ โดยให้ มาที่พระเอกของแรกแล้วครับ ตรง Sub-Process “EvaluateProcess”…

[BPMN] ตัวอย่าง multiInstanceLoopCharacteristics

หลังจากโดนมรสุมงานไปจนวันหยุดเดือนเมษา หายวับไปกับรายงานแบงค์ชาติ DataSet เดือนนี้ ผมเริ่มมีเวลาว่างแล้วครับ โดยจาก Blog ตอนก่อนที่เขียนเกี่ยวกับ BPMN ไปในเรื่องของ Loop หรือ การทำซ้ำ ที่จะเน้นไปในตัวของ StandardLoopCharacteristics สำหรับใน Blog ตอนนี้เป็นตัวอย่างของ multiInstanceLoopCharacteristics ครับ ความแตกต่างระหว่าง StandardLoopCharacteristics  กับ multiInstanceLoopCharacteristics  ครับ มาดูตัวอย่างของ multiInstanceLoopCharacteristics กันดีกว่า อ่านผ่านๆมา หลายคนน่าจะงงครับ คราวนี้ลองมาดูตัวอย่างกันครับ โดยกระบวนการตัวอย่างที่ผมเขียนใน Blog เป็นกระบวนการของการขอเสนอรางวัลให้กับพนักงานดีเด่นครับ โดยผู้จัดการ(Manager) User Mary ต้องเสนอชื่อ เพื่อให้คณะกรรมการ(Reward Commitee) ซึ่งประกอบไปด้วย User Jame,…

[BPMN] สรุป Step การพัฒนา BPMN Application ด้วย Camunda BPMN Engine

หลังจากได้ลอง BPMN Engine ตัว Activiti ไป ช่วงมกราคม และลองตัว jBPM ไป แต่ไม่ค่อย Work เท่าไหร่ คราวนี้มาถึงคิวของ Camunda  บ้างแล้วครับ Camunda BPMN Engine คือ อะไร ขั้นตอนการพัฒนา BPMN Application บน Camunda ติดตั้งแบบจำลอง ทดสอบใช้งานครับ Note Reference