[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 ขึ่นมาครับ หลังจากดูเสร็จ แล้วกด Complete ข้อมูลของ Request ในช่อง “requeststatus” ถูกแก้ไขค่าจาก “wait-for-review” เป็น “completed” ครับ ลองมือทำ โดยมี Task ที่เกี่ยวข้อง ดังนี้ – Task “Enter Request Id” เป็น User Task เอาไว้สำหรับกรอก Id ของ Request ครับ – Task “Test REST-API (GET)” เป็น Service Task ที่ติดต่อกับ Web Service โดยมี Config ดังนี้ Name Type Script Format Data url script groovy “() method text – GET header map – Key = “Accept”Value…

[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 Engine แต่ละเจ้าสามารถเสริมเติมแต่ง Feature ได้เต็มที่ครับ Camunda Connector มี 3 รูปแบบ อ้างอิงจากเวอร์ชันที่ 7.9.0 ได้แก่ หลังจากเกริ่นนำได้ทดสอบ ตัว Connector แต่ละตัวกันแล้ว ตอนนี้มาดูตัวอย่างดีกว่าครับ โดยตัวอย่างที่ผมเขียนเป็นการใช้งาน HTTP Connector โดยใช้วิธี GET และผลลัพธ์ที่ได้ออกมาเป็นไฟล์ JSON ครับ เอาหละมาดูกันเลย ว่าเรา HTTP Connector แบบต้องใส่อะไรไปบ้าง ตัวอย่าง Process ของการดึงข้อมูลของกระทู้ มาดูตัวอย่างกันบ้างดีกว่าครับ โดยผมทำเป็น Process ของการดึงข้อมูลของกระทู้ครับ มาเจาะลึกที่ BPMN Process ครับ ในตัว BPMN ของเราประกอบด้วย Task ย่อย 3 Task ครับ – Task “Enter Post Id” เป็น User Task ให้ User…

[CR] มาลองใช้ตู้เติมเงินบัตร Rabbit กันครับ

พักหลังๆ ผมย้ายสถานที่ทำงานจากที่บ้าน มาที่เช้าจุฬาฯ บ่ายก็ที่เอ็มโพเรียมแหละครับ เลี้ยวไปอีกฝั่งก็เป็นตู้ปลาครับ  ^__^ ที่บ้านติดใจข้าวกระเพราะเป็ดย่างมากๆครับ สุดท้ายได้รับหน้าที่ซื้อกลับบ้านไปให้หม่อมแม่กินครับ หลังจากทำภาระกิจเสร็จจะกลับบ้านและ โหหคิวเติมเงินเยอะมากๆ ทำไงดี ก็เหลือบไปเป็นเจ้าตู้นี้เข้าครับ เค้าบอกว่ามันเติมเงินได้ – มันก็เติมได้นะเฉพาะเงินเหมาะกับยุค Cashless แต่ยังขาดในเรื่องของการเติมเที่ยวครับ มาลองใช้กันดีกว่าครับ ว่าตู้ Rabbit Reward เวอร์ชัน Upgrade มันจะทำได้ดีแค่ไหนครับ ข้อดี ข้อเสีย    

[UBUNTU] Update OS แบบ Command Line

หลังจากใช้ Ubuntu มาสักพัก ลองใช้ Update ผ่าน UI แล้ว ไม่ค่อยประทับใจเท่าไหร่เลย ปล่อยทั้งวันก็ยังไม่เสร็จ มาลองคำสั่งดีกว่าครับ ง่ายเพียงแค่ 3 บรรทัดเท่านั้น หรือใหม่กว่าหน่อย เค้าว่า apt เร็วกว่า apt-get Reference

[CR] ลองมารับบัตรแมงมุมกันครับ

หลังจากมีประกาศมา นานนนนนนนนนนนนนนนนนนนนนนนนนนฅมาาากกกกกกกกกกกกกกกกกกกกกกกกกกกกกก ถึงตั๋วร่วมที่ที่สามารถใช้ได้กับขนส่งสาธารณะได้ทั้ง MRT สายสีน้ำเงิน, MRT สายสีม่วง, Air-Port Link และ รถเมล์ ขสมก (ส่วน BTS นั้นนอกคอกไป 555) โดยคั๋วร่วมนี้มาแจกฟรีนะครับ ที่สถานีรถไฟฟ้า MRT สายสีม่วง ทุกสถานีครับ สิ่งที่ต้องเตรียม ขั้นตอนการรับบัตรแมงมุม คำแนะนำ

[EAA] อะไรหละ ที่เรียกว่า Enterprise Application

Ref https://pixabay.com/th/การวิเคราะห์-ข้อมูล-นวัตกรรม-3088958/

เห็นหลายคนมักจะบอกว่าระบบที่ตัวเองดูแล หรือ ที่เห็นมัน มันมีความ Enterprise Application เรามาดูกันว่าจริงๆแล้ว ถ้าเอาตามนิยามของคุณ Martin Fowler อะไรถึงเรียกว่าเป็น Enterprise Application ครับ ต่อมา เรามาดูกันครับ ว่าแต่ละเงื่อนไขที่บ่งบอกว่า ระบบนี้เป็น Enterprise Application ครับ Reference

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

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

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

[DB2] เมื่อ Path ก็มี แต่ทำไมยัง สร้าง Database ไม่ได้ มีแต่ SQL1052N The database path path does not exist.

IBM DB2

วันนี้ผมได้ไปช่วยน้องในทีมสำหรับอีก Project แต่ก็เจอปัญหามากมายเลยครับ ทั้งเรื่องขึ้น Database ที่ติดปัญหาขนาดของ Table ที่ Field เยอะมากจน Page Size 4K ไม่พอ ทำให้ต้อง DROP DB แล้ว Import Data เข้าไปใหม่ ซึ่งปรากฏว่า Drive C ที่มันเหลือน้อยมากครับ 25 GB แต่ Database ที่ต้องการเอาเข้าไป มันตั้ง 80 GB ทางเลือกเดียวตอนนี้ คือ ต้องไปสร้าง Database ที่ Drive อื่นครับ ซึ่ง Drive ที่ว่าง คือ Drive E: มีที่ 150 GB เริ่มต้นลุยคำสั่งเลยครับ CREATE DATABASE BFMUATC AUTOMATIC STORAGE YES ON ‘E:\DBUAT’ DBPATH ON ‘E:\DBUAT’ USING CODESET TIS620-1 TERRITORY TH PAGESIZE 16 K; อ้าวววววววว SQL1052N: The database path path does not exist. เกิดอะไรขึ้น !!!!! ทางแก้ไขนะครับ ถ้าเป็น Linux / AIX ส่วนใหญ่จะเจอ SQL1051N ให้ทำ Redirect Restore แทน Reference

[Security] กลบทการเข้ารหัสแบบไทย ที่แฝงความนัย แต่คงด้วยความไพเราะสละสวย

พอดีได้ดู หนึ่งดาวฟ้าเดียว ย้อนหลังครับ ตอนนี้ละครน่าจะฉายจบแล้วมั่ง ตอนแรกผมก็กลบท น่าจะเหมือนกับพวกกฏเกณฑ์ของการประพันธ์โครงฉันท์ กาพย์กลอน ให้มีความไฟเราะครับ แต่ตอนนี้ กลบท มันไม่ใช่แฝงความไพเราะ ลองดูได้  ํYoutube ตอนนี้ มาดูความแรกจากในละครกัน กลบท “ไทหลง” ที่มีกฏเกณฑ์ของการแทนตัวอักษรโดยขยับไปที่ตัวถัดไปอีก 3 ตัวอย่าง เช่น มันคุ้นๆสำหรับเด็กสายคอมอย่างๆเรา ผมเคยได้ยินตอนเรียนปี 1 วิชา CP121 เรื่องของ โอ้โห กลบท มันเป็น Idea การเข้ารหัสที่แฝงไปด้วยความไฟเราะครับ กลบท “ไทหลง” ถ้าเอาตัวอักษรมาทำ Look Up Table ก็จะได้ ดังนี้ ก == ง ข == ค ฃ == ฅ ฆ == ฌจ == ย ฉ == ช ซ == ฒ ญ == ฑฏ == ฐ ฎ == ณ ด == ถ ต == นท == บ ธ == ฝ ป == ม ผ == พฟ == ฮ ภ == ฬ ร == ล ว == ส, ศ, ษห == อ มาดูตัวอย่างกันครับ…

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

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