Category Software Engineering

Software Engineering, Software Process, Software Testing, Software Design, Design Pattern, Software Architecture Guide

CIA + T Triad

Reference https://wallpapercave.com/w/wp2624768

วันนี้ผมมารีวิวหนังอะไร หรือป่าว ขอตอบว่าไม่ใช่ครับ โดยวันนี้ผมมาสรุป เรื่อง CIA + T Triad ที่มาช่วยให้เราพัฒนาระบบให้มีความปลอดภัยตั้งแต่ช่วงการออกแบบ (Design) ครับ โดยที่ตัวอย่างแต่ละตัวมีความหมาย ดังนี้ครับ จริงๆตอนแรกมันมีแต่ CIA แหละครับ แต่จากหนังสือ Secured by Design ผู้เขียนหนังสือขอเพิ่มตัว T เข้ามาด้วยครับ ซึ่งผมเห็นด้วยนะที่เพิ่ม เพราะ มันช่วยทำให้เราทราบปัญหา การเปลี่ยนไปของข้อมูลด้วยครับ ขอปิดท้ายด้วยว่า Security ไม่ใช่ Functional Requirement แต่มันเป็น Non-Functional Requirement (Quality Attribute) ซึ่งส่งผลกับการออกแบบระบบ และการเลือกใช้สถาปัตยกรรม…

[BPMN] Camunda – Job Executor เผื่อเวลาไว้สักนิดก็ดี

หลังจากลองทดสอบรันเครื่องมือที่เชื่อมกับ Camunda BPMN Engine แล้วมันแปลกๆ เคสที่เคยทำได้กลับไม่ผ่านซักงั้น หรือดักการค่าแล้วไม่ได้ตามที่คิด โดยสาเหตุที่ผลสงสัยน่าจะเกี่ยวกับการทำงานของเจ้า Job Executor Job Executor คือ อะไร ถ้าลองดูในส่วน Cockpit ของ Camunda เมื่อ Start Process และทำไปถึงจุดที่ได้มีเงื่อนไขที่เกินกับเวลาไว้ ตัว Camunda ไปสร้าง Job ไว้ครับ ถ้าดูจากแบบจำลองที่ผมแนบพบว่า NextDay คือ การรอจนถึงวันถัดไปครับ ในมุมของ Camunda จะไปสร้าง Job ให้ทำงานตอนวันที่ T+1 ครับ ปัญหาที่ผมเจอมัน คือ…

[PM] เมื่อไม่ได้คุยกันมาก่อนถึงได้มีปัญหา

photo of people having meeting

ปีนี้น่าจะ 2020 เดือน 2 แล้วครับเอาหล่ะลองมาสรุปปัญหาในปีที่ผ่านๆมาดีกว่าครับว่าทำไมคนกลุ่มนึงถึงงานหนักอยู่เสมอ ทำไมโครงการ IT ถึงประเมินงานแล้วอะไรแล้วถึงต้องมาทำวันหยุด ประสบการณ์ผู้ประเมินไม่เพียงพอ บริหารโครงการไม่เป็น(Project และ MA) กระบวนการไม่ชัดเจน ขาดการจัดเก็บ KM ที่ดี ท้ายที่สุดแล้ว ถึงทุกอย่างจะ Perfect แต่มันพังทลายได้ด้วยคน

[BPMN] Camunda TimeDate กับ TimeZone

จากปัญหาใน Blog ตอนก่อนครับที่สงสัยทำไมเวลามันไม่ขยับตรงตามที่คิดไว้ครับ ใน Blog ตอนก่อน หลังจากลองหามาว่าทำไมพอไปทดสอบแบบจำลองบน BPMN Engine พบว่ามันไม่ได้ทำงานตามที่ตั้งใจไว้ มาดูที่โจทย์ที่ผมคิดไว้ดีกว่า (แอบเอาภาพเก่ามาใช้นะครับ 555) หลังจากหาลองหาดูใน Forum มี 2 กระทู้ที่มีความเป็นไปได้ครับ กลับมาลองแก้ใหม่ ตัวร้ายที่เป็นไปได้ น่าจะเป็นเรื่องของ TimeZone ลองมาดูจาก Doc ของทาง Camunda กันดีกว่าครับ หลังจากลองไปปรับ TimeDate ISO8601+UTC Offset แล้ว พบว่าระบบทำงานได้ตามที่คิดไว้เลยครับ

[BPMN] Camunda ทำไม 1 วันมันถึงบวกไปแค่ 17 ชั่วโมง

มันเริ่มจากผมทดสอบ Process ใน Camunda ซึ่งมันจะตรวจสอบว่า ถ้ามีงาน Incident แจ้งเข้ามาเนี่ย ฝั่ง Customer Service จะเข้างานในส่วนของ First Line Support เพื่อมาแก้ปัญหา แต่ถ้างานค้างไป 1 วันมัน ตัวงานจะส่งต่อให้ Second Line Support เพื่อช่วยเหลือครับ โดยภาพรวมของกระบวนการเป็นไปดังรูปครับ ลองดูส่วนที่ผมวงๆสีแดงจริงๆมันต้องดู 1 วัน แต่มันดันเป็น 8 ชั่วโมงซะได้ ปัญหา คือ อะไรหละ อันนี้ต้องย้อนกลับไปดู Code ของตอนที่หาวันถัดไปครับ จบแล้วเหลืออีกปัญหาครับ ทำไมตั้งเวลาแล้วมันไม่ทำงาน เดียวได้ข้อสรุปแล้วมาเขียน…

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

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

[BPMN] Access Camunda H2 Database

หลังจากว่างเว้นไปกับ Blog ของ Camunda BPMN Engine ไปพักใหญ่ๆ คราวนี้มีเหตุต้องไปไล่ดูแล้วว่าตัว Camunda BPMN มันเก็บข้อมูลอะไรบ้าง เพื่อเอาไปใช้กับ Thesis ครับ โดยการเข้าถึงตัว H2 Local Database ของ Camunda มีวิธีการ ดังนี้ครับ เมื่อ Start ตัว Camunda เรียบร้อยแล้วให้เข้าไปที่ url http://localhost:8080/h2/h2 Login เข้า Database โดยใช้ข้อมูล ดังนี้ JDBC URL: jdbc:h2:./camunda-h2-dbs/process-engine Username: sa Password:…

[BPMN] มา Test BPMN ที่สร้างจาก Camunda กันครับ

หลังจากยุ่งกับงานประจำนานเลย ตอนนี้เริ่มกลับมาทำงาน Thesis แล้วครับ ถ้าใครสร้าง BPMN ด้วย Camunda ไปแล้วนั่น หาจะทดสอบมีได้หลายวิธีครับ เช่น แต่ถ้ามาดูที่ตัว Camunda มีตัวช่วยสำหรับ Test เหมือนกันครับ โดยมีตัวช่วย ดังนี้ สร้าง BPMN ก่อนครับ มาลุย Code กันดีกว่าครับ สำหรับ Tools ที่ผมใช้ IntelliJ กับ Camunda Test Project Template ครับ เมื่อ Generate Project มาแล้วจะพบตัว InmemoryH2Test กับ…

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

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

[TESTING] มาทำให้ JSON-Server Support Request แบบ Chunked ครับ

หลังจากติดปัญหาเรื่อง BPMN Engine  แล้วพบว่า Service Task ถ้าทำเป็น Web Service แล้วข้อมูล Request ในส่วนของ Body มันหายไปครับ หลังจากไล่ไปไล่มา โดยดูจาก Forum ของ Camunda Payload is empty when making HTTP POST request with HttpConnector How to specify POST payload for Rest Tasks ? Disable sending…