Tag Activiti

[BPMN] Deploy Process ผ่าน REST-API

จริงๆ ใน Blog ตอนก่อน ช่วงที่ผมได้เล่นกับตัว Camunda BPMN ช่วงแรกจะพบว่าการ Deploy Process นั้นยุ่งยากครับ ต้องทำเป็นไฟล์ .war แล้วนำไปวางที่ Tomcat ครับ แต่จริงๆ มันมีวิธีการที่ง่ายกว่านั้น คือ การใช้ REST-API ครับ โดยมีข้อกำหนดของ Web Service ดังนี้ครับ REST-API : Deployment สำหรับตอนนี้ เราจะมาลองกันครับ โดยใช้ Tools ที่มีชื่อว่า POST-MAN สำหรับการทดสอบครับ โดยใน Blog ตอนนี้ ผมทดสอบ Create…

[BPMN] แก้ปัญหา Stack Size is too large บน Camunda BPMN

หลังจากลองตัว Camunda  BPMN Engine มาสักพัก แล้วจะทดสอบอะไร อยากรู้ว่ามันมีค่าเท่าไหร่ ปกติเราทำพวก Instrument Test เพื่อแสดงให้เห็นว่ากิจกรรมที่สนใจ โดยผมเขียนคำสั่งประมาณนี้ เมื่อนำไป Run กับ BPMN Engine พบว่า Stack Size is too large ครับ ปัญหา คือ อะไร ทดสอบอีกครั้งครับ

[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

[BPMN] Loop หรือ การทำซ้ำ

แม้ว่าตัว BPMN ถูกออกแบบมาสำหรับทางฝั่ง Business แต่มีการทำบางอย่าง ที่ยังต้องใช้มีการทำวนซ้ำ หรือ ถ้าในภาษา Technical ของ Developer ทั้งหลาย ว่าวนลูป (Loop) ครับ สำหรับใน BPMN สามารถเขียนได้ 2 แบบครับ ได้แก่ Loop Activity โดย Loop Activity คือ Loop ที่เกิดกำหนด Property ของตัว Activity ครับ ถึงถ้าไปดูใน Spec ของ BPMN อยู่ในรูปแบบของ XML Tag…

[BPMN] ลองใช้ Process ที่ได้เพิ่งสร้างกัน

จาก Blog ตอนก่อนหน้าที่เราได้ทำอะไรไปหลายๆอย่าง ทั้ง ติดตั้ง Tools ที่จำเป็น – ติดตั้ง Activiti Framework, ลง Eclipse Activiti Designer, เปลี่ยน Activiti Framework มาใช้ MySQL ลองสร้าง Process – ลองสร้าง Process โดยใช้ Activiti Designer ทำ Unit Test – Activiti สร้าง Unit Test Deploy Process – ลองเอา Process ที่ทำมา Deploy ขึ้นกัน มาใน Blog…