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

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

สำหรับตอนนี้ เราจะมาลองกันครับ โดยใช้ Tools ที่มีชื่อว่า POST-MAN สำหรับการทดสอบครับ โดยใน Blog ตอนนี้ ผมทดสอบ Create และ Delete BPMN ที่เราได้เพิ่ง Deploy ไปครับ

ก่อนจะ Create สิ่งที่ต้องเตรียม

  • BPMN Engine - Camunda ครับ ที่ผมเลือก ถ้าใช้ JBPM หรือ Activiti ก็สามารถทำได้ครับ
  • POST-MAN
  • ไฟล์ BPMN ครับ โดยมีการกำหนด Process ตามแผนภาพครับ

CREATE ผ่าน REST-API Method = 'POST'

  • URL : [base-url] /deployment/create
    • ตัวอย่าง http://localhost:8080/engine-rest/deployment/create
  • โดยมีการกำหนด Parameter ดังนี้ครับ
  • ผลลัพธ์ที่ได้ครับ

    • id คือ deploymemt id (988aa432-824f-11e8-8365-005056c00001) ซึ่งบ่งบอกว่าการ deploy process ของเรา ซึ่งเอาไว้ใช้อ้างอิงใน Operation ต่างๆที่เกี่ยวกับ BPMN ครับ
    • ส่วนที่ผมตีกล่องไว้จะเป็นข้อมูลของ BPMN Process ครับ
  • มาดูในส่วนของ Cockpit พบว่ามี Process ที่ Deploy ไว้ ดังรูป

DELETE ผ่าน REST-API Method = 'DELETE'

  • URL : [base-url] deployment {deployment-id}
    • ตัวอย่าง http://localhost:8080/engine-rest/deployment/988aa432-824f-11e8-8365-005056c00001
  • โดยมีการกำหนด Parameter ดังนี้ครับ

    • cascade = ถ้ามี Process ที่กำลังถูกลบ ยังมี Instance ที่ยังทำงานอยู่ ให้ระบบลบ Instance  ไปด้วย หรือไม่ (true) หรือให้คงอยู่จนจบ (false)
  • กลับมาตรวจสอบในส่วนของ Cockpit พบว่า Process ได้หายไปแล้วครับ

จบไปแล้วครับกับการ Deploy Process ผาน REST-API ยังมี Method อื่นๆ อีกที่น่าสนใจนะครับ REST-API : Deployment

 


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.