Skip to Content

Category Archives: Blog

การปรับตัวทางธุรกิจด้วย Low-code development platform

Low-code development platform

เป็นเครื่องมือที่ใช้ในการพัฒนา Application ที่ถูกออกแบบมาให้ใช้งานง่าย ในการพัฒนา Application ด้วย Low code จะใช้การ Coding ให้น้อยที่สุด หรือในบางจุดก็แทบจะไม่จำเป็นต้อง Coding เลย เพราะตัว Low code จะมีการทำงานแบบ Drag & Drop Interface ร่วมกับองค์ประกอบ (Engine) ต่างๆ ใน platform ได้เลย

ในปัจจุบันเราคงได้ยินกันมาว่าทุกองค์กรต้องปรับตัวเข้าสู่ Digital Transformation เพื่อให้องค์กรสามารถเปลี่ยนแปลงทั้งกระบวนการทำงานภายในและตอบสนองต่อการเปลี่ยนแปลงของตลาดให้สามารถสร้างคุณค่าสู่ลูกค้าของเราได้อย่างรวดเร็วและมีประสิทธิภาพ ในการแข่งขันทางธุรกิจเราไม่สามารถรอและปล่อยให้คู่แข่งนำหน้าเราไปก่อนได้ ดังนั้นในการนำ Low-code development platform ที่เหมาะสมกับระบบงาน และเหมาะสมกับองค์กรมาใช้งานจำมีความสำคัญต่อการปรับตัวเป็นอย่างมาก

 

Low code จะช่วยให้องค์กรที่กำลังปรับตัวเข้าสู่ Digital Transformation สามารถปรับเปลี่ยนและพัฒนา Solution Digital ต่างๆ ได้อย่างมีประสิทธิภาพ ด้วยคุณประโยชน์ต่างๆ มากมาย เช่น

  1. เพิ่มขีดความสามารถในการพัฒนาระบบงาน: Low code ทำให้มีผู้ใช้งานหลายคนสามารถมีส่วนร่วมในกระบวนการพัฒนาโดยไม่จำเป็นต้องมีความเชี่ยวชาญในการ Coding ถือว่าเป็นการสร้างโอกาสให้ผู้ที่ไม่มีความรู้เรื่อง Coding มากนัก สามารถที่จะเป็นส่วนหนึ่งในการพัฒนา Application ได้
  2. สามารถพัฒนาระบบได้รวดเร็ว: Low code ช่วยลดระยะเวลาในการพัฒนา Application ลดการทำงานที่ซับซ้อน ไม่จำเป็นต้องเขียน Coding ทำให้การทำงานน้องลง และทำให้องค์กรสามารถปรับเปลี่ยน Application ได้อย่างรวดเร็วทันต่อความต้องการของตลาดและลูกค้า
  3. ลดต้นทุน ลดค่าใช้จ่าย: ด้วยการพัฒนา Application ที่สั้นลง ดังนั้นจำนวนวันในการพัฒนา Application ก็ลดลงเช่นกัน จึงทำให้สามารถลดค่าใช้จ่ายลงได้ ทำให้สามารถพัฒนา Application ให้มีประสิทธิภาพได้ด้วยต้นทุนที่ถูกลง
  4. สามารถทำงานร่วมกับระบบงานอื่นๆ ได้อย่างคล่องตัว: การทำงานของ Low code นั้นเป็น Technology ที่ถูกออกแบบมาให้รองรับการทำงานร่วมกับระบบงานอื่นๆ ได้อย่างคล่องตัว เช่นการทำ Automation process หรือการเชื่อมต่อกับระบบงานอื่นๆ เพื่อทำ Data processing ทำให้การทำงานสะดวกยิ่งขึ้นและตอบโจทย์การทำงานขององค์กรที่มีความซับซ้อนได้

 

ปัจจุบัน Low-code development platform ถูกนำไปใช้เป็นเครื่องมือในการพัฒนา Application ให้กับหลายๆ ธุรกิจ เช่น

  1. Finance & Banking: ในกลุ่มธุรกิจการเงินการธนาคารมีความจำเป็นต้องปรับตัวให้เข้ากับตลาด Digital ตลอดเวลา สามารถนำ Low code ไปพัฒนา Application สำหรับระบบงานภายใน ระบบการทำสัญญา และการประเมินความเสี่ยงในการให้สินเชื่อ รวมถึงการซื้อขายสินค้าออนไลน์
  2. Insurance: กลุ่มธุรกิจที่ต้องการความรวดเร็วในการออกผลิตภัณฑ์ใหม่ๆ ในทันต่อการเปลี่ยนแปลงของโลก สามารถนำ Low code ไปพัฒนาระบบงานเกี่ยวกับการจัดการเรื่อง Claim ระบบการจัดการกับสัญญาประกันภัย ระบบการคำนวณค่าเบี้ยและความเสี่ยงต่างๆ และระบบงานขายประกันออนไลน์
  3. Government: หน่วยงานภาครัฐ ที่ปัจจุบันก็มีการนำ Low code ไปใช้ในการพัฒนาระบบงานบริหารต่างๆ ภายในหน่วยงาน เพื่อให้สามารถตอบสนองการทำงานภายในที่สะดวกและรวดเร็วยิ่งขึ้น
  4. Healthcare & Hospital: ปัจจุบันลูกค้าให้ความสำคัญกับสุขภาพมากขึ้น ดังนั้นในกลุ่มของโรงพยาบาลรวมถึงกลุ่มของสุขภาพและความงาม จึงมีการนำ Low code ไปพัฒนาระบบจัดการเกี่ยวกับการนัดหมาย ระบบบันทึกข้อมูลทางการแพทย์
  5. Manufacturing: การติดต่อประสานงานกับ Supplier หรือคู้ค้าของกลุ่ม Manufacturing มีการปรับตัวให้มีการทำงานเป็นแบบ Digital มากขึ้น ด้วยการนำ Low code ไปพัฒนาระบบบริหารจัดการคลังสินค้าและจัดเก็บสินค้า ระบบภายในกระบวนการผลิต ระบบบริหารจัดการอุปกรณ์และการบำรุงรักษา และระบบจัดการกับคู้ค้าและวัตถุดิบ

 

นอกจากนี้ยังมีอีกหลายๆ ธุรกิจที่นำเอา Low code ไปปรับใช้ในการทำงานเพื่อให้ทันต่อการเปลี่ยนแปลงของโลกในยุค Digital ในปัจจุบันลูกค้าสามารถเลือกหา Low code ที่เหมาะสม เพื่อนำมาเป็นเครื่องมือในการสนับสนุน Digital transformation และพัฒนาการทำงานจากภายในสู่ภายนอก โดยต้องคำนึงถึงความสามารถของ Platform

• ที่มีความยืดหยุ่นในทำงาน

• รองรับการขยายและการปรับปรุง Application ให้เพียงพอต่อความต้องการใช้งาน Platform

• ต้องมีความปลอดภัยและสอดคล้องกับข้อกำหนดต่างๆ ขององค์กร

• มีบริการหลังการขายที่ดี

• และมีความคุ้มค่าในด้านราคาที่เหมาะสมต่อการลงทุนระยะยาว

 

ทางบริษัท Stream I.T. ของเรามีความเชี่ยวชาญในการพัฒนา Application ด้วย Low-code development platform ที่มีชื่อว่า Rapidflows/Moji5 เป็น Low-code development platform ที่ได้ชื่อว่าคุ้มค่าต่อการลงทุนระยะยาว เพราะ Rapidflows/Moji5 นั้นสามารถพัฒนา Application ขึ้นมาได้ไม่จำกัดจำนวน Application และไม่มีการนับ User ผู้เข้าใช้งานระบบ (Unlimited Application and Unlimited User)

สนใจติดต่อสอบถามข้อมูลเพิ่มเติม และให้คำปรึกษาฟรี! ได้ที่ email: marketing@stream.co.th

 

Content Writer: Kanlayakorn Chotawisakul

Solutions Consultant Stream I.T. Consulting Ltd.

0 0 Continue Reading →

VMware Aria และ VMware Tanzu คู่หูสำคัญในการพัฒนาแอปพลิเคชันสมัยใหม่

ในยุคดิจิทัล แอปพลิเคชันเข้ามามีส่วนช่วยในการเติบโตของธุรกิจเป็นอย่างมาก ซึ่งแอปพลิเคชั่นที่ดีจะต้องยืดหยุ่นเพื่อตอบสนองความต้องการที่เปลี่ยนแปลงอย่างรวดเร็ว การพัฒนาแอปพลิเคชันสมัยใหม่นี้ต้องมีทักษะและใช้เครื่องมือเฉพาะทาง ซึ่งอาจทำให้องค์กรขนาดเล็กและกลางต้องเผชิญกับความท้าทายอย่างมากในการพัฒนาแอปพลิเคชันใหม่ๆ

 

อย่างไรก็ตาม มีแพลตฟอร์มที่ช่วยให้องค์กรทุกขนาดสามารถพัฒนาแอปสมัยใหม่ได้อย่างมีประสิทธิภาพ อย่าง VMware Aria และ Tanzu ทั้งสองแพลตฟอร์มนี้ทำงานประสานกันอย่างลงตัว เพื่อมอบโซลูชันที่ครบวงจรสำหรับการพัฒนาแอปพลิเคชันตั้งแต่ต้นจนจบ

 

เริ่มต้นที่ VMware Aria แพลตฟอร์มการจัดการระบบคลาวด์ ช่วยให้องค์กรสามารถควบคุมระบบคลาวด์จากแหล่งเดียว แพลตฟอร์มนี้ช่วยให้องค์กรสามารถมองเห็นภาพรวมของสภาพแวดล้อมระบบคลาวด์ที่ดูแลอยู่ทั้งหมด และสามารถปรับปรุงประสิทธิภาพ ความปลอดภัยของระบบ และต้นทุนในการดำเนินงานได้ด้วย

 

จุดเด่นของ VMware Aria

  1. จัดการคลัสเตอร์ Kubernetes แบบรวมศูนย์ VMware Aria ช่วยให้องค์กรสามารถจัดการคลัสเตอร์ Kubernetes ทั้งบน Public cloud, Private cloud และ Hybrid cloud ได้อย่างง่ายดาย มีประสิทธิภาพ สามารถกำหนดนโยบายและข้อจำกัด รวมถึงตรวจสอบสถานะคลัสเตอร์
  2. จัดการทรัพยากรบนระบบคลาวด์แบบอัตโนมัติ เช่น หน่วยประมวลผล หน่วยความจำ และพื้นที่เก็บข้อมูล ช่วยให้องค์กรสามารถปรับขนาดทรัพยากรได้อย่างยืดหยุ่นและมีประสิทธิภาพ และลดต้นทุนการดำเนินงาน
  3. ตรวจสอบและวิเคราะห์สภาพแวดล้อมของระบบคลาวด์ได้อย่างครอบคลุม แพลตฟอร์มนี้ช่วยให้องค์กรสามารถระบุปัญหาและโอกาสในการปรับปรุงประสิทธิภาพและความปลอดภัย
  4. มีการรักษาความปลอดภัยระบบคลาวด์จากภัยคุกคามต่างๆ ทำให้องค์กรสามารถปฏิบัติตามข้อกำหนดด้านความปลอดภัยและรักษาความปลอดภัยแอปพลิเคชัน

ส่วน VMware Tanzu เป็นแพลตฟอร์มในการพัฒนาแอปพลิเคชันทันสมัยที่ช่วยให้องค์กรสามารถพัฒนาแอปพลิเคชันบน Kubernetes ได้อย่างรวดเร็วและปลอดภัย ประกอบด้วยชุดเครื่องมือและบริการที่หลากหลายที่ช่วยให้นักพัฒนาสามารถทำงานได้อย่างมีประสิทธิภาพและสร้างสรรค์

 

จุดเด่นของ VMware Tanzu

  1. มีชุดเครื่องมือและบริการที่ครบวงจรสำหรับการพัฒนาแอปพลิเคชันบน Kubernetes ช่วยให้นักพัฒนาสามารถเริ่มต้นพัฒนาแอปพลิเคชันได้อย่างรวดเร็วและง่ายดาย
  2. มีเครื่องมือสำหรับการพัฒนาแอปพลิเคชันบน Kubernetes ที่หลากหลาย เช่น เครื่องมือสำหรับเขียน code เครื่องมือสำหรับทดสอบ และเครื่องมือสำหรับปรับใช้แอปพลิเคชัน
  3. บริการจัดการแอปพลิเคชัน ช่วยให้ maintenance และจัดการแอปพลิเคชันบน Kubernetes ได้ง่ายและมีประสิทธิภาพ

 

 

เมื่อใช้ทั้ง VMware Aria และ Tanzu คู่กัน องค์กรจะได้รับประโยชน์ดังนี้

  1. พัฒนาแอปพลิเคชันสมัยใหม่ได้อย่างรวดเร็วและมีประสิทธิภาพ โดยมี VMware Aria ช่วยจัดการและควบคุมระบบคลาวด์ ส่วน VMware Tanzu ช่วยให้องค์กรสามารถพัฒนาแอปพลิเคชันบน Kubernetes ได้สะดวก
  2. ลดต้นทุนการพัฒนาและการดำเนินงานแอปพลิเคชัน โดย VMware Aria ช่วยให้องค์กรสามารถปรับใช้ทรัพยากรระบบคลาวด์ได้อย่างมีประสิทธิภาพ ในขณะที่ VMware Tanzu ช่วยให้องค์กรสามารถพัฒนาแอปพลิเคชันบน Kubernetes ได้อย่างประหยัด
  3. ปรับปรุงความปลอดภัยและปฏิบัติตามข้อกำหนดของแอปพลิเคชัน เพราะ VMware Aria ปกป้องสภาพแวดล้อมระบบคลาวด์จากภัยคุกคามต่างๆ และ VMware Tanzu ช่วยให้องค์กรสามารถปฏิบัติตามข้อกำหนดด้านความปลอดภัยบน Kubernetes
  4. เพิ่มประสิทธิภาพการมองเห็นและการควบคุมระบบคลาวด์ โดย VMware Aria ช่วยให้องค์กรสามารถมองเห็นภาพรวมของสภาพแวดล้อมระบบคลาวด์ทั้งหมด ส่วน VMware Tanzu ช่วยให้องค์กรสามารถตรวจสอบและวิเคราะห์สภาพแวดล้อมระบบคลาวด์ได้อย่างครอบคลุม

 

ตัวอย่างการใช้งาน

องค์กรต่าง ๆ สามารถใช้ VMware Aria และ Tanzu ร่วมกันเพื่อพัฒนาแอปพลิเคชันสมัยใหม่ได้อย่างมีประสิทธิภาพ ตัวอย่างเช่น

  • บริษัทประกันภัย สามารถพัฒนาแอปพลิเคชันสำหรับลูกค้าแบบเรียลไทม์ โดยใช้ข้อมูลจากแหล่งต่างๆ เช่น เซ็นเซอร์ กล้องวงจรปิด และอุปกรณ์ IoT แพลตฟอร์มทั้งสองนี้จะช่วยให้บริษัทสามารถจัดการและควบคุมระบบคลาวด์ได้อย่างมีประสิทธิภาพ และสามารถพัฒนาแอปพลิเคชันบน Kubernetes ได้อย่างง่ายดายและปลอดภัย
  • ภาคการเงินการธนาคาร สามารถพัฒนาแอปพลิเคชันสำหรับการให้บริการทางการเงินทางดิจิทัล ตัวอย่างเช่น องค์กรการเงินอาจใช้ VMware Aria เพื่อกำหนดนโยบายและข้อจำกัดสำหรับคลัสเตอร์ Kubernetes ของตน เพื่อปกป้องแอปพลิเคชันจากภัยคุกคาม เช่น การโจมตีแบบกระจายการปฏิเสธการให้บริการ (DDoS) และใช้ VMware Tanzu เพื่อพัฒนาแอปพลิเคชันสำหรับธนาคารดิจิทัล แอปพลิเคชันเหล่านี้สามารถใช้ประโยชน์จากคุณสมบัติต่างๆ ของ Kubernetes เช่น ความปลอดภัยและการตรวจสอบ เพื่อปกป้องข้อมูลของผู้ใช้
  • ด้านการแพทย์ โรงพยาบาล สามารถพัฒนาแอปพลิเคชันสำหรับผู้ป่วยและบุคลากรทางการแพทย์ โดยใช้ข้อมูลทางการแพทย์ เช่น ประวัติการรักษา ผลการทดสอบ และบันทึกการรักษา แพลตฟอร์มทั้งสองนี้จะช่วยให้โรงพยาบาลสามารถปกป้องข้อมูลผู้ป่วยได้อย่างปลอดภัย และสามารถพัฒนาแอปพลิเคชันบน Kubernetes ได้อย่างมีประสิทธิภาพ
  • ธุรกิจค้าปลีก สามารถพัฒนาแอปพลิเคชันสำหรับลูกค้าและพนักงาน โดยใช้ข้อมูลการขาย สินค้าคงคลัง และพฤติกรรมลูกค้า แพลตฟอร์มทั้งสองนี้จะช่วยให้ธุรกิจค้าปลีกสามารถปรับใช้ทรัพยากรระบบคลาวด์ได้อย่างมีประสิทธิภาพ และสามารถพัฒนาแอปพลิเคชันบน Kubernetes ได้อย่างยืดหยุ่น

 

บทสรุป

VMware Aria และ Tanzu เป็นแพลตฟอร์มที่มีประสิทธิภาพที่ช่วยให้องค์กรพัฒนาแอปพลิเคชันสมัยใหม่ได้อย่างมีประสิทธิภาพ แพลตฟอร์มทั้งสองนี้ทำงานร่วมกันเพื่อมอบโซลูชันที่ครบวงจรสำหรับการพัฒนาแอปพลิเคชันตั้งแต่ต้นจนจบ

 

สนใจโซลูชั่นในการบริหารจัดการ Cloud ทั้งในส่วนของ VMware และอื่นๆ สามารถติดต่อสอบถามได้ที่ marketing@stream.co.th หรือโทร. 02-679-2233

0 1 Continue Reading →

ช้อปดีมีคืน “Easy E-Receipt 2567” บริษัทของคุณมีระบบ e-Tax Invoice ไว้รองรับหรือยัง?

ตัวช่วยลดหย่อนภาษีจากโครงการรูปแบบช้อปดีมีคืน หรือ “Easy E-Receipt 2567

1 มกราคม – 15 กุมภาพันธ์ 2567 นี้!! บริษัทของคุณมีระบบ e-Tax Invoice ไว้รองรับหรือยัง

สตรีมฯ ผู้ให้บริการ e-Tax Invoice เพื่อให้บริษัทของคุณเริ่มใช้งานระบบได้อย่างรวดเร็ว เราพร้อมทำระบบให้สามารถใช้งานได้ภายใน 10 วัน บริษัทของคุณจะมีระบบ e-Tax ที่ถูกต้องตามระเบียบกรมสรรพากร ไว้ให้บริการลูกค้าของท่านได้อย่างแน่นอน!!

ที่มา: https://www.mof.go.th/th/view/file/44c9b0c3a4bdf96d278bef38652d222494305da33bf00955a7

 

ระบบ e-Tax หรือที่สตรีมฯ เรียกกันว่าระบบ TaxOne คือการให้บริการจัดทำ ส่งมอบ และเก็บรักษาใบกำกับภาษีและใบรับอิเล็กทรอนิกส์ (e-Tax Invoice and e-Receipt) แบบครบวงจร ทั้งแบบ Software as a Service (SaaS) แต่หากต้องการแบบ On-premise เราก็ทำได้เช่นกัน เพราะโซลูชั่นถูกออกแบบมาให้รองรับความต้องการและการใช้งานของทุกประเภทธุรกิจได้อย่างเหมาะสม มุ่งรักษาความปลอดภัยของข้อมูลเป็นสำคัญ

นอกจากนั้น มั่นใจได้ว่าระบบทั้งสองรูปแบบได้มาตรฐานตามระเบียบกรมสรรพากร เพราะสตรีมฯ ได้รับการคัดเลือกและรับรองให้เป็นผู้ให้บริการกลุ่มแรกในการเป็นผู้นำส่งเอกสารใบกำกับภาษีอิเล็กทรอนิกส์และใบรับอิเล็กทรอนิกส์ หรือ e-Tax Service Provider ได้รับ certified จาก ETDA และกรมสรรพากร ทีมงานผู้เชี่ยวชาญของเรามีประสบการณ์ในการนำส่งข้อมูลไปถึงกรมสรรพากรอย่างถูกต้องและปลอดภัยมายาวนาน

 

ทำไมถึงควรใช้ระบบ e-Tax “TaxOne” ของสตรีมฯ

บริการของเราครบจบทุกขั้นตอน ได้มาตรฐานตามที่กรมสรรพากรกำหนด ที่สำคัญมีทีมงานที่มีประสบการณ์คอยดูแลประกอบด้วย

1. บริการสร้างและจัดเรียงข้อมูลให้อยู่ในรูปแบบ XML และ PDF A-3

2. บริการให้คำปรึกษา แนะนำขั้นตอน และวิธีการลงทะเบียนเป็นผู้ใช้งานใบกำกับภาษีอิเล็กทรอนิกส์และใบรับอิเล็กทรอนิกส์ เพื่อช่วยอำนวยความสะดวกในการยื่นขออนุมัติจากกรมสรรพากร

3. บริการลงลายมือชื่อดิจิทัล เพื่อพิสูจน์และยืนยันตัวตนของผู้ออกเอกสารอิเล็กทรอนิกส์ ป้องกันการแก้ไขเปลี่ยนแปลงเอกสารโดยผู้ที่ไม่ได้รับสิทธิ์ คงไว้ซึ่งความถูกต้องครบถ้วนของข้อมูล และมีบริการส่งอีเมลให้ทางคู่ค้าของลูกค้าโดยอัตโนมัติ หลังจากลงลายมือชื่อ

4. บริการจัดเก็บข้อมูลตามระยะเวลาที่กำหนด รวมถึงการกำหนดสิทธิ์บุคคลที่ต้องการเข้าถึงข้อมูล

5. บริการ tracking ที่จะทำให้คุณเห็นภาพรวมของรายการทั้งหมดที่เข้ามาในระบบและดูสถานะของแต่ละรายการ แล้วจัดทำเป็น Dashboard และ Report ได้

 

หากสนใจทำระบบ e-Tax Invoice สามารถติดต่อสตรีมฯ ได้ที่ marketing@stream.co.th หรือโทร. 02-679-2233

0 2 Continue Reading →

ยกระดับการกระทบยอดข้อมูล (Reconciliation) ด้วย AI Reconcile

Reconcile (การกระทบยอด หรือจับคู่ข้อมูล สำหรับภาคธุรกิจ)

ในบล็อกนี้เราจะมาพูดถึงการเพิ่มขีดความสามารถในการทำ Reconciliation ด้วยการใช้ AI ที่กำลังมาแรงสุดในยุคนี้ค่ะ

Reconciliation หรือการกระทบยอด คงเป็นคำที่นักบัญชี-การเงิน เข้าใจและคุ้นเคยกันดีว่าเป็นกระบวนการนำข้อมูลของระบบต่างๆ จากแหล่งข้อมูลต่างๆ ที่เกี่ยวข้องกัน มาตรวจสอบและจับคู่ข้อมูลที่เป็นชุดเดียวกัน (Matching) แล้วหากข้อมูลไม่สอดคล้องกัน (Unmatched) ก็จะต้องมีกระบวนการจัดการข้อมูลเหล่านี้ต่อไป หรือเรียกว่าการ Reconcile (กระทบยอดข้อมูล)

มีเครื่องมือหลายอย่างที่ถูกพัฒนาขึ้นมาสำหรับช่วยในการตรวจสอบและประมวลผลเมื่อข้อมูลมีปริมาณมาก เช่น การเขียนสูตรใน Excel อย่างง่าย การทำ RPA (Robotic Process Automation) รวมถึง Application ที่เขียนขึ้นมาโดยเฉพาะ แต่ทั้งนี้ tool ต่างๆ เป็นเพียงการลดเวลาในการตรวจสอบและจับคู่ชุดข้อมูลเท่านั้น สุดท้ายแล้วคนที่เป็นเจ้าหน้าที่ก็ยังคงต้องค้นหาข้อมูลที่ไม่สอดคล้องกันด้วยตนเอง ซึ่งแน่นอนว่าต้องเสียเวลาและทรัพยากรไปพอสมควร

พอปัจจุบันมี AI มาช่วยประมวลผลและวิเคราะห์ข้อมูลได้ฉับไว ก็มีเครื่องมือเพิ่มขึ้นมา คือ Reconciliation ที่มี AI นำมาใช้ค้นหาการจับคู่ของข้อมูลที่ใกล้เคียงกัน ช่วยให้ค้นเจอข้อมูลที่ unmatched ได้ไวขึ้นมาก ธุรกิจสามารถตรวจสอบข้อมูลในระบบการเงิน รวมถึงตรวจสอบการซื้อขายสินค้า โดยนำเอา AI มาใช้จับคู่ข้อมูลและประมวลผลข้อมูลที่ไม่สอดคล้องกัน ช่วยลดเวลาและเพิ่มประสิทธิภาพให้กับกระบวนการเหล่านี้ได้เป็นอย่างดี


ตรวจสอบข้อมูลในระบบการเงิน

ในการตรวจสอบข้อมูลในระบบทางการเงินนั้น การใช้ Reconciliation ที่มี AI สามารถตรวจสอบและเปรียบเทียบข้อมูลรายการชำระเงินที่มาจากแหล่งต่างๆ หาความสอดคล้องและตรงกันระหว่างรายการที่มีอยู่ในระบบการเงินขององค์กร เช่น ระบบบัญชี ระบบสิทธิประโยชน์ หรือระบบสินค้าคงคลัง นอกจากนั้นยังสามารถตรวจสอบความถูกต้องของการชำระเงิน เช่น จำนวนเงิน วันที่ชำระ และรายละเอียดอื่นๆ จึงช่วยลดเวลา ลดค่าใช้จ่ายในการตรวจสอบและค้นหาข้อผิดพลาด ลดความเสี่ยงของการเกิดข้อผิดพลาดในการระบุรายการชำระเงิน ซึ่งอาจส่งผลกระทบต่อบัญชีและการเงินขององค์กร

 

ตรวจสอบการซื้อขายสินค้า

ไม่ใช่เพียงแค่เรื่องบัญชีและการเงินเท่านั้น Reconciliation ที่มี AI ยังถูกนำมาใช้กับการตรวจสอบการซื้อขายสินค้า ที่แพร่หลายอย่างมากในธุรกิจการค้าปลีกหรืออีคอมเมิร์ส เพราะสามารถประมวลผลข้อมูลจำนวนมาก และตรวจสอบความถูกต้องของข้อมูลได้เร็ว โดยเฉพาะการตรวจสอบความสอดคล้องระหว่างข้อมูลการซื้อขายในระบบบัญชีและระบบคลังสินค้า นอกจากนี้ยังสามารถหาข้อผิดพลาดที่เกิดขึ้นในกระบวนการซื้อขาย เช่น ความแตกต่างของจำนวนสินค้า ราคา หรือเวลาการซื้อขาย ดังนั้นจึงช่วยให้ประหยัดเวลา ประหยัดค่าใช้จ่าย ลดความเสี่ยงในการเกิดข้อผิดพลาดในกระบวนการซื้อขาย และสามารถเพิ่มประสิทธิภาพในการจัดการธุรกิจและสร้างรายได้ให้กับองค์กร

อย่างไรก็ตาม การใช้ Reconciliation ด้วย AI ไม่ใช่เพียงแค่นำมาใช้เพื่อการตรวจสอบและยืนยันรายการแล้วจบเพียงเท่านั้น แต่ยังโดดเด่นที่สามารถตั้งค่าและปรับแต่งให้เหมาะสมกับองค์กร เพื่อให้ใช้งานได้ตรงกับวัตถุประสงค์ เหมาะสมกับกระบวนการขององค์กร และเกิดประสิทธิภาพสูงสุด

หากถามว่า Reconciliation ที่มี AI นี้เหมาะกับใคร หลักๆ คือนักบัญชี นักการเงิน รวมไปถึง ผู้ดูแลคลังสินค้า เจ้าหน้าที่คลังสินค้า พนักงานฝ่ายสินค้าและพัสดุ หรือเจ้าหน้าที่ด้านอื่น ซึ่งต้องมีการกระทบยอดข้อมูลปริมาณมากและหลากหลาย ให้มีความถูกต้องสูง ก็สามารถนำเครื่องมือนี้มาช่วยในการทำงานได้เช่นกัน นอกจากธุรกิจค้าปลีกและอีคอมเมิร์สแล้ว กลุ่มประกันภัย สถาบันทางการเงิน หลักทรัพย์ และธุรกิจอื่นๆ ก็นำ Reconciliation ที่มี AI ไปเพิ่มขีดความสามารถในกระบวนการธุรกิจตนเองได้เป็นอย่างดี

สตรีมฯ ทำ Reconciliation ให้กับองค์กร ร่วมกับผู้นำด้าน Reconciliation ระดับโลกอย่าง SmartStream โดยมีระบบ Transaction Lifecycle Management (TLM) Reconciliations-Premium ที่จะทำให้ธุรกิจประหยัดเวลาในการจัดการและควบคุมกระบวนการทำธุรกรรมองค์รวม และคุ้มค่าในการลงทุน

อยากทราบไหมว่า ระบบ TLM Reconciliations-Premium มีกระบวนการทำงานอย่างไร และช่วยแบ่งเบางานได้อย่างไรบ้าง อ่านข้อมูลเพิ่มเติมได้ที่ https://www.smartstream-stp.com/wp-content/uploads/smartstream-resources/Brochure-2021-TLM-Reconciliations-Premium.pdf หรือทำความรู้จัก SmartStream ให้มากขึ้น ได้ที่ https://www.smartstream-stp.com/solutions/reconciliations-and-exceptions-management/

หากสนใจโซลูชั่น สามารถติดต่อเราได้ที่อีเมล Marketing@stream.co.th หรือโทร. 02-679-2233

อ่านบทความอื่นๆ ที่ https://www.stream.co.th/blog/

 

เขียนและเรียบเรียงโดย วราภรณ์ สุรรังสรรค์

0 2 Continue Reading →

“Pentaho” Data Integration and Analytics เครื่องมือเดียว ครบ จบ ในการวิเคราะห์และประมวลผลข้อมูล

“Pentaho” เครื่องมือช่วยในการเก็บรวบรวมข้อมูล (Data Integration) และนำข้อมูลไปวิเคราะห์ (Data Analytics) แล้วประมวลผลออกมาเป็น Data Visualization พูดง่ายๆ คือเป็น ETL Tool ที่มีความสามารถในการวิเคราะห์ข้อมูลต่อได้ด้วย เพื่อให้ผู้บริหาร รวมถึงผู้ใช้งานมองเห็นภาพธุรกิจในด้านต่างๆ ได้ชัดเจนและเข้าใจง่าย ด้วย Dashboard นำไปสู่การวางแผนทิศทางธุรกิจที่ถูกต้องแม่นยำ

 

จุดเด่นคือ เป็น Business Intelligence (BI) Tool ที่ทำได้ครบถ้วน ตั้งแต่ต้นทางจนปลายทาง ซึ่งยังไม่มีเครื่องมืออื่นที่ทำได้ครบเท่า

 

นอกจากนั้นระบบยังอยู่บนพื้นฐาน 5 ข้อ ได้แก่

✅ No coding (Drag and Drop) ผู้ใช้สามารถเรียกดูข้อมูลได้หลายมิติ เพียงแค่ drag & drop โดยไม่ต้องเขียน code ใดๆ (self-service)

✅ Scalable มีความสามารถในการรับรองการขยายขนาดของข้อมูล

✅ Flexible มีความยืดหยุ่นในการจัดการข้อมูล

✅ Automated ทำให้การทำงานต่อเนื่อง เป็นอัตโนมัติยิ่งขึ้น

✅ Secure มีความปลอดภัยของข้อมูลในทุกๆ ขั้นตอน

 

สนใจสอบถามข้อมูลเพิ่มเติมได้ที่ marketing@stream.co.th

 

0 0 Continue Reading →

สร้างโปรแกรม Scan Thai ID Card ด้วยภาษา Go-lang

สร้างโปรแกรม Scan Thai ID Card ด้วยภาษา Go-lang

ก่อนอื่นเลย เราจะต้องรู้ก่อนว่า Service ที่เรากำลังจะสร้าง เราจะทำไปเพื่ออะไร ตอบแบบภาพรวมก็คือ โดยการเสียบบัตรเข้าไปที่เครื่องสแกน เพื่อดึงข้อมูลจากบัตรประชาชน แล้ว นำข้อมูลนั้นไปยืนยันหรือเอาไปแนบอ้างอิงธุรกรรมต่าง ๆ โดยไม่ต้องมาเสียเวลากรอกข้อมูลเอง และลดความเสี่ยงเจอบัตรประชาชนปลอม

ตัวอย่างหน่วยงานที่ควรใช้เพื่อให้ทำงานสะดวกขึ้นมีอะไรบ้างก็เช่น

ภาพจาก : ประชาชาติธุรกิจ

  1. หน่วยงานเกี่ยวกับธุรกรรมทางการเงิน เช่น เมื่อเราไปสมัครใช้งานบริการทางการเงินธนาคาร ซึ่งเราไม่เคยทำธุรกรรมกับธนาคาร บริการนี้จำเป็นต้องมีการเก็บข้อมูลจากบัตรประชาชน
  2. บริการจัดส่งพัสดุ เช่น เราไปส่งของที่ไปรษณีย์ พนักงานจะต้องขอข้อมูลบัตรประชาชน เพื่อที่จะตรวจยืนยันว่าเป็นบุคลที่ส่งของคนนี้จริง ๆ
  3. หน่วยงานต่าง ๆ ทั้งหน่วยงานราชการและเอกชน ที่ระบบเดิม ไม่ว่าจะเป็นฟอร์มกระดาษที่ต้องกรอกเอง หรือแบบฟอร์มอิเล็กทรอนิกส์ที่ยังมากรอกทีละช่อง

 

โปรแกรมมีการทำงานอย่างไรรายละเอียดเราจะดึงก็ข้อมูลจากบัตรได้อย่างไรเดี๋ยวเรามาทำไปด้วยกันครับ

เครื่องมือที่เราใช้มีอะไรบ้างมาดูกัน

ภาษา Go-lang

Visual Studio Code โปรแกรม IDE ใช้สำหรับเขียน Code Go-lang (หรือโปรแกรมอะไรก็ได้ที่ถนัดและสามารถใช้ทำกับ ภาษา GO ที่เลือกมาเพราะเป็นโปรแกรมที่ใช้กันทั่วไป มี extension ให้เราเลือกลงได้ และที่มันก็ฟรีด้วย)

เครื่องสแกนบัตร ในที่นี้ที่ยกตัวอย่างคือ ยี่ห้อ ACS รุ่น ACR39U-NFF โดยใช้ port ต่อผ่าน USB Type C ราคาโดยประมาณ 1,000 บาท (บวกลบเล็กน้อย)

ภาพจาก :  R&D COMPUTER SYSTEM CO.,LTD.

เตรียมตัวก่อนเริ่มเขียนโปรแกรม

  1. เริ่มต้นจากติดตั้ง Go-lang (ดูวิธีเพิ่มเติมได้ที่ https://go.dev/doc/install)
  2. ดาวน์โหลด และติดตั้ง Visual Studio Code (Link Download: https://code.visualstudio.com/download)
  3. ผมจะแนะนำให้ติดตั้ง extension ของ GO ด้วยใน Visual Studio Code โดยไปที่ extension แล้วพิมพ์ค้นหาคำว่า GO จะเจอดังรูปด้านล่างแล้วเรากด Install ได้เลย

 

สร้าง Project ใหม่

1) สร้าง Folder  หรือ Directory ใหม่ขึ้นมาด้วการรันคำสั่งใน Command Line >> mkdir go-scancard-api

2) สร้างไฟล์ go.mod ในโปรเจกต์ของเรา โดยรันคำสั่ง go mod init >> go mod init example/go-scancard-api

3) สร้างไฟล์ชื่อ main.go ใน Floder และเขียนโค้ด Hello World ง่ายๆ กันก่อน

package main

 

import (

“fmt”

)

 

func main() {

fmt.Println(“Hello World!”)

}

 

4) ลองรันโค้ดด้วยคำสั่งใน Command Line ใน folder โปเจ็ค

go run .

ผลลัพธ์ ขึ้นข้อความ Hello World! บนจอ terminal แล้ว( . ในที่นี้หมายถึง run ไฟล์ go ทั้งหมดใน project นี้ ทำไมเราใช้ เพราะว่าในขันตอนถัด ๆ ไป เราจะมีไฟล์ต่าง ๆ เพิ่มขึ้นมา)

 

สร้าง Service Scan Card ด้วย Library sscard

1) ก่อนอื่นเราจะเพิ่ม library เข้ามาใน Project เราก่อน

go get -u golang.org/x/net/html/charset

go get -u github.com/gogetth/sscard

go get github.com/ebfe/scard

 

2) สร้างไฟล์ exampleThaiIDCard.go และใส่โค้ดเริ่มต้นโดย main หลักจะเป็นฟังชั่น exampleThaiIDCard()

package main

 

import (

“fmt”

“github.com/ebfe/scard”

“github.com/gogetth/sscard”

)

 

func exampleThaiIDCard() {

 

// Establish a PC/SC context

context, err := scard.EstablishContext()

if err != nil {

fmt.Println(“Error EstablishContext:”, err)

return

}

 

// Release the PC/SC context (when needed)

defer context.Release()

 

// List available readers

readers, err := context.ListReaders()

if err != nil {

fmt.Println(“Error ListReaders:”, err)

return

}

 

// Use the first reader

reader := readers[0]

fmt.Println(“Using reader:”, reader)

 

// Connect to the card

card, err := context.Connect(reader, scard.ShareShared, scard.ProtocolAny)

if err != nil {

fmt.Println(“Error Connect:”, err)

return

}

 

// Disconnect (when needed)

defer card.Disconnect(scard.LeaveCard)

 

// Send select APDU

selectRsp, err := sscard.APDUGetRsp(card, sscard.APDUThaiIDCardSelect)

if err != nil {

fmt.Println(“Error Transmit:”, err)

return

}

fmt.Println(“resp sscard.APDUThaiIDCardSelect: “, selectRsp)

 

}

 

3) ไฟล์ main.go เราจะแก้โดยการเอา exampleThaiIDCard() ไปใส่

package main

 

func main() {

exampleThaiIDCard()

}

 

4) เราจะรันไฟล์ด้วยคำสั่ง go run . โดยตอนนี้จะทดสอบสถานะเครื่อง แต่ยังไม่ดึงข้อมูลจากบัตร

4.1  รันโดยไม่เสียบเครื่องอ่านบัตร

รันคำสั่ง

ผลลัพธ์ จะเห็นได้ว่าจะขึ้นแจ้ง error บอกว่า ไม่สามารถหาเครื่องอ่านบัตรเจอ

 

โดย error นี้มาจากฟั่งชั่นใน Code คือ context.ListReaders()

 

4.2 รันโดยเสียบเครื่องอ่านบัตรแต่ยังไม่เสียบ บัตรประชาชน เข้าไปด้วย

 

รันคำสั่ง

ผลลัพธ์ ตรงเส้นใต้สีเหลืองจะเห็นแล้วว่า หลังจากที่เราเสียบเครื่องอ่านบัตร เราได้ใช้เครื่องรุ่นอะไร และเส้นใต้สีแดงเป็นการแจ้งว่าบัตรไม่ได้ถูกเสียบกับเครื่องอ่านบัตรอยู่

 

4.3 รันโดยเสียบเครื่องอ่านบัตร แต่เราจะเสียบบัตรอื่นที่ไม่ใช่บัตรประชาชนเข้าไปครับ ตัวอย่างนี้ เสียบบัตรอื่นเข้าไปแทน หรือจะกลับด้านเอาด้านที่ไม่มี chip เสียบเข้าไปแทน

 

รันคำสั่ง

ผลลัพธ์ เราจะเห็นว่าโปรแกรมจะแจ้ง error บอกว่าไม่สามารถส่ง request ไปขอข้อมูลที่ chip ของบัตรได้

โดยในข้อ 4.2 – 4.3 ฟั่งชั่น context.Connect(reader, scard.ShareShared, scard.ProtocolAny) จะเป็นฟั่งชั่นของการอ่านบัตร

 

4.4 รันโดยเสียบเครื่องอ่านบัตรและเสียบบัตรประชาชนเข้าไปด้วย และทดลองเอาบัตรอื่นเสียบที่เครื่อง

 

รันคำสั่ง

ผลลัพธ์ เราจะเห็นว่าโปรแกรมอ่านบัตรเราเจอ และส่งเลข APDU ว่าเป็นบัตรประชาชนจริง ๆ

โดยฟั่งชั่น selectRsp, err := sscard.APDUGetRsp(card, sscard.APDUThaiIDCardSelect) จะเป็นตัวอย่างตัวเริ่ม return response ของบัตรแล้วการดึงข้อมูลแต่ละฟิลจะดึงยังไงเดี๋ยวเราไปดูในหัวข้อถัดไปกัน

 

5. เพิ่ม code ในส่วนของการอ่านข้อมูลบัตร ใส่ลง ในไฟล์ exampleThaiIDCard.go

5.1 เพิ่มฟั่งชั่น ConvertTIS620toUTF8(tis620 string) คือการแปลง TIS620 ก่อนเพราะถ้าเราดึง Field ตอน return ค่าออกมามันจะแถมอักขระพิเศษทั้งมองเห็นและไม่เห็น และจะเพี้ยนเมื่อนำไปใช้ เราจึงต้องลบมันออก

func ConvertTIS620toUTF8(tis620 string) (valueUTF8 string) {

tis620Valure := []byte(tis620)

dec := charmap.Windows874.NewDecoder()

makeUTF := make([]byte, len(tis620Valure)*3)

n, _, err := dec.Transform(makeUTF, tis620Valure, false)

if err != nil {

return “This Filed can’t Convert Tis620 to UTF8”

}

valueUTF8 = string(makeUTF[:n])

valueUTF8 = strings.Trim(valueUTF8, “\u0000”)

valueUTF8 = strings.ReplaceAll(valueUTF8, “#”, ” “)

 

valueUTF8 = strings.TrimSpace(valueUTF8)

return

}

 

5.2 เพิ่ม code อ่านฟิล  โค้ดเราจะใส่ไว้ในฟั่งชั่น  exampleThaiIDCard()

ตัวอย่างเรายกมา 3 field

        • CID เลขบัตรประชาชน
        • fullnameEN ชื่อเต็ม ภาษาอังกฤษ
        • fullnameTH ชื่อเต็ม ภาษาไทย
        • birth วันเกิด

 

              cid, err := sscard.APDUGetRsp(card, sscard.APDUThaiIDCardCID)

if err != nil {

fmt.Println(“Error APDUGetRsp: “, err)

return

}

fmt.Printf(“cid: _%s_\n”, string(cid))

 

fullnameEN, err := sscard.APDUGetRsp(card, sscard.APDUThaiIDCardFullnameEn)

if err != nil {

fmt.Println(“Error APDUGetRsp: “, err)

return

}

fmt.Printf(“fullnameEN: _%s_\n”, ConvertTIS620toUTF8(string(fullnameEN)))

 

fullnameTH, err := sscard.APDUGetRsp(card, sscard.APDUThaiIDCardFullnameTh)

fmt.Println(“len v = “, len(fullnameTH))

if err != nil {

fmt.Println(“Error APDUGetRsp: “, err)

return

}

fmt.Printf(“fullnameTH: _%s_\n”, ConvertTIS620toUTF8(string(fullnameTH)))

 

birth, err := sscard.APDUGetRsp(card, sscard.APDUThaiIDCardBirth)

if err != nil {

fmt.Println(“Error APDUGetRsp: “, err)

return

}

fmt.Printf(“birth: _%s_\n”, ConvertTIS620toUTF8(string(birth)))

 

 

6. รันโปรแกรมดูผลลัพธ์ที่ดึงค่าฟิลที่เราระบุไว้

ผลลัพธ์ เราจะเห็นค่า Field ที่ return แล้วในบัตรประชาชน ตรง fullnameTH เราอย่างพึ่งตกใจไปทำไมเป็นข้อความไม่สมประกอบ เหตุผลคือมันแสดงในหน้าจอของ terminal ด้วยภาษาไทย แต่ถ้าเรา copy คำนั้นใส่ word หรือ notepad เราก็จะเห็นข้อความภาษาไทยปกติ

 

  1. มันดึงข้อมูลจาก field ต่าง ๆ ยังไงกัน

การดึงข้อมูลจาก chip ของบัตรประชาชน อธิบายหลักการง่าย ๆ คือ

1)เราจะส่ง request ระบุไปก่อนว่าจะดึง Field ไหน

2) เป็นจังหวะเราส่ง request ขอ response จาก Feild นั้นออกมา

โดยข้อมูลที่ส่งไปจะเป็นค่า hex ซึ่งใน Library sscard มีชุดคำสั่งค่า hex แต่ละ Field ไว้ให้แล้วสะดวกมาก ซึ่งอยู่ในไฟล์ apducmd_thidcard.go ของ Library

ตัวอย่างตัวแปลชุดคำสั่งดึง Field CID

แล้วเราจะรู้ที่มาที่ไปของเลข hax บัตรประชาชนไทยได้อย่างไร ผมขออนุญาติแนบบทความเกี่ยวกับเนื้อหานี้เพิ่มเติมนะครับ >>> Smart card: บัตรประชาชนยุคดิจิตอล | by patda9 | horganice | Medium

ตอนนี้เราพอรู้แล้วว่าแต่ละ Field เราจะดึงข้อมูลออกมาอย่างไร หลังจากนั้นเราค่อยไปเพิ่มในส่วน Field ที่อยากได้มาแสดงตามความต้องการ และต่อมาเราจะดึงรูปภาพของเราจากบัตรประชาชนกันครับ

 

8. การดึงรูปภาพจากบัตรประชาชน

8.1 ใส่โค้ด การดึงรูปจากบัตรประชาชน ใส่ในฟังชั่น exampleThaiIDCard()

              cardPhotoJpg, err := sscard.APDUGetBlockRsp(card, sscard.APDUThaiIDCardPhoto, sscard.APDUThaiIDCardPhotoRsp)

if err != nil {

fmt.Println(“Error: “, err)

return

}

 

//Write Image

n2, err := sscard.WriteBlockToFile(cardPhotoJpg, “./idcPhoto.jpg”)

if err != nil {

fmt.Println(“Error WriteBlockToFile: “, err)

return

}

fmt.Printf(“Img wrote %d bytes\n”, n2)

ผลลัพธ์ ไฟล์รูปจะถูก save ไว้ที่โปรเจ็คของเรา ถ้าเรามาดูตรง Terminal เราจะเห็นว่ารูปภาพเราเขียนลงไปกี่ bytes

 

โดย sscard.WriteBlockToFile(cardPhotoJpg, “./idcPhoto.jpg”) จะประกอบด้วย Parameter 2 คือ  1.ตัวที่รับ Response จากฟั่งชั่นดึงรูป  2. กำหนด paht ที่เราจะ Save รูปลง กำหนดนามสกุลไฟล์ให้มันด้วย

 

9. Build ไฟล์ .exe ของโปรเจ็ค

รันคำสั่ง

go build

ผลลัพธ์ เราจะได้ไฟล์ go-scan-thai-card.exe ที่โปรเจ็คของเราครับ

 

ที่กล่าวข้างต้นเราได้ทดสอบการใช้เครื่องสแกนบัตร และดึงข้อมูลจากบัตรจาก Field ต่าง ๆ ถ้าไม่เคยเล่นคำสั่ง ADPU จะเห็นว่าการส่งขอข้อมูลเป็นเทคนิคเฉพาะ โดยต้องรู้เกี่ยวกับเลขฐาน(hex) ด้วย และตอนนี้เราได้โปรแกรมที่นำไปใช้งานได้แล้ว แต่ยังมีการนำโปรแกรมไปใช้งานในจุดประสงค์อื่น ๆ เช่นนำไปรันไว้ใน server หรือเราจะสร้าง service ให้รันในเครื่อง ส่วนตรงนี้เราจะเปลี่ยนโปรแกรมธรรมดาให้เป็น service เดี๋ยวเราจะมาสร้าง service กันต่อในบทความต่อไปกันครับ 🙂

ทั้งนี้ ทางเราได้อัพโหลดโปรเจ็คนี้ขึ้นบน github ท่านที่สนใจสามารถสอบถามรายละเอียดเพิ่มเติมได้ที่ marketing@stream.co.th

สุดท้ายนี้ทางทีมงานสตรีมฯ ของเรายังมี โซลูชั่น เทคโนโลยี นวัตกรรม ด้านดิจิทัลอื่น ๆ อีกมากมาย ครอบคลุมเกือบทุกอุตสาหกรรม รอติดตามบทความต่อๆไปได้เลยครับ

 

เรียบเรียงโดย Piyapat Khajornpan

Stream I.T. Consulting Ltd.

 

0 3 Continue Reading →

e-Contract [DIGITAL CONTRACT]

e-Contract (Digital Contract : dContract)

สัญญาอิเล็กทรอนิกส์เป็นหนึ่งใน Digital Transformation ที่จะช่วยยกระดับการดำเนินธุรกิจให้มีความสะดวก คล่องตัว มากยิ่งขึ้น แทนการใช้เอกสารสัญญาแบบ Paper เนื่องด้วยการใช้ Paper นั้น เป็นที่ทราบกันดีว่า มีความสิ้นเปลืองทรัพยากร และเวลาอย่างมาก ตั้งแต่ การจัดเตรียมเอกสาร, การพิมพ์เอกสาร, การจัดส่งเอกสารให้แก่ผู้ลงนามและนำกลับ, การ Scanกระดาษกลับเป็นไฟล์ในคอมพิวเตอร์, การอัพโหลดไฟล์เข้าในระบบจัดเก็บเอกสาร, การจัดเก็บ Hardcopy เข้าคลังเอกสาร, การเช่าสถานที่คลังเก็บเอกสาร, การสืบค้นเรียกดู Hardcopy จากคลังเอกสาร เป็นต้น หากว่ากระบวนการเหล่านี้ถูกแทนที่ด้วย Digital และทุกขั้นตอนกระทำผ่าน Application ก็จะช่วยประหยัดทรัพยากร งบประมาณ และเวลาได้เป็นอันมาก อีกทั้งยังเพิ่มความน่าเชื่อถือ และสามารถเชื่อมโยงกับระบบงาน Automation ได้อีกด้วย

พ.ร.บ. ธุรกรรมอิเล็กทรอนิกส์ ได้ให้นิยามของ Electronics Signature ไว้ว่า หมายถึง อักษร อักขระ ตัวเลข เสียง หรือสัญลักษณ์อื่นใดที่สร้างขึ้นให้อยู่ในรูปแบบอิเล็กทรอนิกส์ซึ่งนำมาใช้ประกอบกับข้อมูลอิเล็กทรอนิกส์ เพื่อแสดงความสัมพันธ์ระหว่างบุคคลกับข้อมูลอิเล็กทรอนิกส์ โดยมีวัตถุประสงค์เพื่อระบุตัวบุคคลผู้เป็นเจ้าของลายมือชื่ออิเล็กทรอนิกส์ที่เกี่ยวข้องกับข้อมูลอิเล็กทรอนิกส์นั้น และเพื่อแสดงว่าบุคคลดังกล่าวยอมรับข้อความในข้อมูลอิเล็กทรอนิกส์นั้น

พ.ร.บ.ว่าด้วยธุรกรรมทางอิเล็กทรอนิกส์ฯ รองรับการลงลายมือชื่ออิเล็กทรอนิกส์ (Electronics Signature) ให้มีผลทางกฎหมาย เช่นเดียวกับการลงลายมือชื่อบนเอกสารกระดาษ

สำหรับการใช้งาน Electronics Signature ในประเทศไทยนั้น แบ่งประเภทเป็นแบบทั่วไป และแบบที่เชื่อถือได้

  • Electronics Signature แบบทั่วไป ตามมาตรา 9
  • Electronics แบบที่เชื่อถือได้ ตามมาตรา 26 (ใช้ PKI เพื่อสร้าง Digital Signature) และ ตามมาตรา 28 (เพิ่มเติมการใช้ Certificate ที่ออกโดย Certificate Authority)

 

Electronics Signature แบบทั่วไป

Electronics Signature แบบทั่วไป ตามมาตรา 9 ถ้าจะยกตัวอย่างให้ง่ายๆ ตัวอย่างแรกให้นึกถึง การ Scan หรือถ่ายภาพ ลายเซ็นต์ไว้ แล้ว save ภาพเก็บไว้ในคอม แล้วมีกระบวนการนำไฟล์ภาพไปใส่ในเอกสาร หรือการใช้ปากกา Stylus เขียนลายเซ็นต์บนหน้าจอ ซึ่งหลายๆคนอาจจะเคยทำแบบนี้มาบ้างแล้ว โดยที่การใช้งาน ต้องมีความมั่นคงรัดกุม และคำนึงถึงลักษณะ ประเภท หรือขนาดของธุรกรรม

อย่างไรก็ตาม การนำ Electronics Signature ลักษณะนี้มาใช้งานจริง ต้องเผชิญกับความท้าทายหลายประการ ได้แก่

  • การปลอมตัวเป็นผู้อื่น (Impersonation) เช่น ผู้ลงลายมือชื่อไม่ใช่ตัวจริง อาจะมีคนอื่นปลอมลายมือชื่อ หรือคนอื่นขโมยไฟล์ภายลายมือชื่อไปใช้
  • การปฏิเสธความรับผิด (Repudiation) เช่น ผู้ลงลายมือชื่อพยายามปฏิเสธว่าตนเองไม่ได้ทำ
  • ข้อมูลไม่มีความครบถ้วน (Loss of data integrity) เช่น ข้อมูลมีการเปลี่ยนแปลงหลังจากที่ได้ลงลายมือชื่อ โดยอาจใช้โปรแกรมคอมพิวเตอร์แก้ไขเนื้อหาของเอกสาร
  • การไม่มีอำนาจลงนาม (Exceeding authority) เช่น การลงลายมือชื่อโดยผู้ที่ไม่ได้รับอนุญาต

 

ความท้าทายดังกล่าวนี้ สามารถจัดการด้วยการนำ Public Key Infrastructure มาใช้ในการลงลายมือชื่อให้มีความน่าเชื่อถือ ดังที่จะกล่าวต่อไป

 

Electronics Signature แบบเชื่อถือได้

Electronics Signature แบบเชื่อถือได้ สำหรับมาตรา 26 นั้นต้องนำ PKI (Public Key Infrastructure – โครงสร้างพื้นฐานกุญแจสาธารณะ) มาใช้ในการสร้าง Digital Signature ของเอกสาร โดยที่ Digital Signature คือ การลงลายมือชื่ออิเล็กทรอนิกส์โดยใช้ใบรับรองอิเล็กทรอนิกส์ (Certificate) ที่ระบุตัวบุคคล หรือองค์กรผู้เป็นเจ้าของลายมือชื่อ เพื่อแสดงว่าบุคคล หรือองค์กร ดังกล่าวยอมรับข้อความในข้อมูลอิเล็กทรอนิกส์นั้น

 

ศึกษาเพิ่มเติมเกี่ยวกับ PKI ได้จาก บทความของ ETDA

 

ในที่นี้จะขออธิบายถึงหลักการสร้าง Digital Signature คร่าวๆ ดังต่อไปนี้

1. สมมติให้มีบุคคล 2 คน คนแรกเป็นผู้ส่งเอกสาร คนที่สองเป็นผู้รับเอกสาร สองคนนี้ไม่ได้รู้จักหรือมีความสัมพันธ์กันมาก่อน และต้องส่งเอกสารแก่กันผ่านระบบคอมพิวเตอร์

2. ผู้ส่งเอกสารต้องมี Private-Public Key ของตนเองขึ้นมาก่อน และต้องมี Certificate ที่ถูกรับรองโดย CA (Certificate Authority – ผู้ให้บริการออกใบรับรอง) ที่ผู้ส่งเอกสารใช้บริการอยู่ นอกจากนี้ต้องเก็บรักษา Key, Certificate ไว้อย่างปลอดภัยและลับส่วนตัวที่สุด ป้องกันการถูกขโมยไปใช้งาน Certificate ที่ว่านี้ ประกอบด้วยข้อมูลส่วนบุคคลและ Public Key ของบุคคลนั้น การมี Certificate เป็นการรับรองว่าบุคคลที่มีชื่อปรากฏอยู่ใน Certificate นี้ มีตัวตนบนโลกใบนี้จริง โดยผ่านการพิสูจน์ตัวตนอย่างเข้มงวดมาแล้วโดย Certificate Authority นั้น (เช่น ต้องไปแสดงตนต่อหน้าเจ้าหน้าที่ มีการตรวจสอบ Identity ด้วยวิธีการต่างๆที่รัดกุม) มิใช่ใครก็ได้ที่อยู่ๆตั้งชื่อสมมติขึ้นมาและไม่มีตัวตนจริง กล่าวคือเป็นการเชื่อมโยงผูกตัวตนในโลก Digital กับโลกความเป็นจริงไว้ด้วยกัน

ตัวอย่าง Certificate

3. จากนั้นเข้าสู่ขั้นตอนการสร้าง Digital Signature โดยใช้ Application ที่ผู้ส่งเอกสารใช้บริการอยู่ ไฟล์เอกสาร (PDF format) จะถูกนำมาคำนวณ Hash Value ด้วย Hashing Algorithm มาตรฐาน จากนั้นทำการ Encrypt ค่า Hash Value นี้ด้วย Private Key ของผู้ส่ง ผลลัพธ์ที่ได้คือ Digital Signature จากนั้น ผนวก Certificate, Digital Signature ลงในไฟล์เอกสาร (PDF)

4. ผู้ส่งเอกสาร จัดส่งเอกสารให้แก่ผู้รับทางช่องทางที่ตกลงกันไว้

5. ผู้รับเอกสาร ตรวจสอบว่าเอกสาร PDF นั้น ใครเป็นผู้ลงลายมือชื่อโดยดูจาก Certificate ใน PDF ซึ่งสามารถเห็น ชื่อผู้ลงลายมือชื่อและ CA ที่เป็นผู้รับรอง หากผู้รับยอมรับว่า CA นั้นเป็นที่น่าเชื่อถือ ก็มั่นใจได้ว่า Digital Signature นั้น มาจากบุคคลนั้นจริง (อย่างที่ได้กล่าวไว้ว่า CA ได้พิสูจน์ตัวตนของบุคคลนั้นแล้ว ก่อนที่จะออก Certificate ให้)

6. ผู้รับเอกสาร ใช้ Application ตรวจสอบว่าเนื้อหาในไฟล์ถูกแก้ไขหลังจากลงลายมือชื่อไปแล้วหรือไม่ โดย Application อาจเป็น Software จำพวก PDF Reader หรือเป็นระบบ Application ใดๆที่ตนใช้บริการอยู่ ซึ่งมักมีหลักการตรวจสอบดังนี้

    • นำไฟล์ PDF มาคำนวน Hash value เก็บค่าไว้เปรียบเทียบภายหลัง (a)
    • ใช้ Public Key ที่อยู่ใน Certificate ไป Decrypt ข้อมูล Digital Signature ให้ได้ค่า Hash Value เดิมออกมา (b) ซึ่งเป็น Hash Value ที่ผู้ส่งสร้างไว้ ณ จังหวะที่เขาลงลายมือชื่อนี้
    • เปรียบเทียบ Hash Value ทั้งสอง (a & b) ถ้าตรงกัน แสดงว่าเนื้อหาในไฟล์ไม่ได้ถูกแก้ไข แต่ถ้าต่างกัน แสดงว่ามีการแก้ไขเนื้อหาในไฟล์ (Hash value a จะได้ค่าต่างจาก b)

 

การลงลายมือชื่ออิเล็กทรอนิกส์ ด้วยเทคโนโลยี PKI ผ่านการใช้ใบรับรองอิเล็กทรอนิกส์ (Certificate) นั้น เป็นวิธีการที่ช่วยให้ผู้ที่เกี่ยวข้องกับข้อมูลอิเล็กทรอนิกส์นั้นๆ เชื่อมั่นได้ว่าผู้ที่ลงลายมือชื่ออิเล็กทรอนิกส์ด้วยเทคโนโลยี PKI เป็นผู้ทำธุรกรรมหรือยอมรับข้อความในข้อมูลอิเล็กทรอนิกส์ดังกล่าวจริง และจะไม่สามารถปฏิเสธความรับผิดได้ อีกทั้งยังสามารถตรวจสอบได้ว่า ข้อมูลอิเล็กทรอนิกส์ดังกล่าวถูกแก้ไขหลังจากที่มีการลงลายมือชื่อหรือไม่ ซึ่งสอดคล้องตามพระราชบัญญัติว่าด้วยธุรกรรมทางอิเล็กทรอนิกส์ พ.ศ. 2544 มาตรา 9 และ 26 และสามารถตอบโจทย์ความท้าทายที่กล่าวถึงในตอนแรก คือ Impersonation, Repudiation, และ Loss of Integrity ได้นั่นเอง

 

Long Term Validation (LTV)

Certificate ที่ออกโดย CA นั้น มีกำหนดวันหมดอายุ (Expiration) ซึ่งผู้ใช้บริการจำเป็นต้องต่ออายุเป็นระยะๆ และ Certificate ยังถูกเพิกถอน (Revocation) ได้ด้วย หากเจ้าของพบว่า Key ของตนถูกเปิดเผย และแจ้งเพิกถอนไปยัง CA

ภาพจาก: https://www.etda.or.th/

ประเด็นที่อาจจะเกิดขึ้นคือ เมื่อ Certificate ที่ฝังอยู่ใน PDF นั้นหมดอายุหรือถูกเพิกถอนไปนานแล้ว เมื่อผู้อ่านเอกสารเปิดไฟล์ขึ้นมาด้วย Application อาจจะพบว่ามีข้อความแจ้งเตือนว่า Verify ความถูกต้องไม่ผ่านได้ ด้วยเหตุนี้จึงมีการทำคุณสมบัติ LTV (Long Term Validation) มาประกอบ ซึ่งก็คือ บันทึกข้อมูลสถานะของ Certificate และ Timestamp ณ ตอนที่เอกสารถูกลงลายมือชื่อไว้ใน PDF เพื่อพิสูจน์ในภายหลังได้ได้ว่า Certificate ยังคง Valid ณ เวลาที่ลงนามเอกสารนี้

 

PDF Archiving (PDF/A) and Long Term Preservation

เอกสาร PDF นั้น อาจมีทั้งตัวอักษรและภาพ ดังนั้นเพื่อให้แน่ใจว่าไฟล์ PDF ที่เราเปิดอ่านในตอนนี้ แสดงผลให้เห็นเป็นอย่างไร อนาคตกลับมาเปิดไฟล์นี้ใหม่ ก็ต้องเห็นแบบเดียวกันทุกประการ ทั้ง Font, Color ไม่ว่าจะใช้ซอฟต์แวร์ใดรุ่นใดอ่าน หรือใช้งานกับระบบคอมพิวเตอร์รุ่นใดในอนาคตก็ตาม ดังนั้นจึงมีการกำหนดมาตรฐานที่เรียกว่า PDF/A (PDF Archiving) ขึ้น ซึ่งกำหนดให้ Embed font, color, metadata ต่างๆลงในไฟล์ สำหรับ PDF/A นี้มีการพัฒนาต่อยอดมาแล้วหลายรุ่น จนกระทั่งมาตรฐานเวอร์ชัน PDF/A-3 ได้ เพิ่มคุณสมบัติที่สำคัญ 1 อย่าง คือ สามารถฝังไฟล์เอกสารชนิดอื่นที่มาตรฐาน PDF/A ไม่ได้รองรับลงไปในไฟล์ PDF ได้ เช่น Excel, Word, HTML, CAD หรือ XML ซึ่งเป็นประโยชน์มากในการนำไฟล์ไปประมวลผลด้วยระบบคอมพิวเตอร์ต่อ

ตัวอย่างอันหนึ่งของการใช้ประโยชน์ PDF/A-3 ในประเทศไทย คือ e-Tax ซึ่งข้อกำหนดของกรมสรรพากรระบุให้แนบไฟล์ XML ที่มีโครงสร้างตามที่ระบุไว้ที่เอกสาร “ข้อเสนอแนะมาตรฐานฯการใช้ข้อความ XML สำหรับการแลกเปลี่ยนข้อมูลอิเล็กทรอนิกส์ระหว่างหน่วยงาน (ขมธอ. 14-2560)” เพื่อให้ซอฟต์แวร์ของกรมสรรพากรอ่านข้อมูลได้

ตัวอย่างใบกำกับภาษีอิเล็กทรอนิกส์ที่แนบไฟล์ XML

ส่วนการนำ PDF/A-3 มาใช้ในการลงลายมือชื่อใน eContract เราสามารถบันทึกข้อมูลเกี่ยวกับการทำสัญญาและลงลายมือชื่อนี้เป็นรูปแบบ JSON หรือ XML ได้

 

Key Management

จากหลักการของ Digital Signature ที่ User ที่เป็นผู้ส่งเอกสารต้องมี Certificate ที่ออกโดย CA (Certificate Authority เป็น Issuer) โดยที่ภายใน Certificate นั้น บรรจุ Public Key ของ User ไว้ และ Certificate ต้องถูก Sign ด้วย Private Key ของทาง CA เอง รูปต่อไปนี้แสดงการรับรอง Certificate ของ A ด้วย Private Key ของผู้รับรอง B และ Certificate ของ B ถูกรับรองด้วย C ซึ่งเป็น Root CA อีกชั้น

ภาพจาก https://darutk.medium.com/illustrated-x-509-certificate-84aece2c5c2e

ช่องโหว่ที่อาจเกิดขึ้นได้คือ หากการจัดเก็บ Key ของทาง CA เอง ไม่มั่นคงปลอดภัย อาจถูกจารกรรมได้และถูกนำไปใช้ Sign Certificate ให้กับผู้บุกรุก และสามารถเข้าสู่ระบบคอมพิวเตอร์ไปสร้างความเสียหายแก่องค์กรได้ แนวทางหนึ่งที่แก้ไขคือ ใช้ Hardware Security Module (HSM) จัดเก็บ Key ที่สำคัญเหล่านี้ หากจะเปรียบเทียบ HSM กับเครื่องใช้ในชีวิตประจำวัน โดยหลักการก็คล้ายๆกับ การมีกล่องนิรภัยสำหรับเก็บกุญแจของห้องลับในบ้านไว้ หากจะเปิดห้องลับ ก็ต้องมาหากล่องนิรภัยนี้ก่อน ใส่รหัสเปิดกล่อง แล้วจึงหยิบกุญแจไปไขห้องลับ ดังภาพ

สำหรับ HSM นี้นอกจากการทำตัวเสมือนกล่องนิรภัยเพื่อเก็บกุญแจแล้ว ยังมีความสามารถในการตรวจจับและป้องกันการบุกรุกในลักษณะต่างๆหลากหลาย มีฟังก์ชันปิดตัวเองได้หากพบการบุกรุกที่มีความเสี่ยงสูง ทำให้ไม่สามารถใช้งานอุปกรณ์ได้เลย จนกว่าผู้ดูแลจะปลดล็อก

HSM ที่เป็นที่นิยมใช้อันหนึ่งก็คือ Luna HSM ของบริษัท Thales ซึ่งมีคุณสมบัติด้านประสิทธิภาพและความปลอดภัยอันดับต้นๆในอุตสาหกรรม

Our Solution

บริษัท Stream I.T. Consulting Ltd. ได้พัฒนา Solution สำหรับงานด้านการลงลายมือชื่อสัญญาแบบอิเล็กทรอนิกส์ โดยมีลักษณะการทำงานตามมาตรา 26 ของพ.รบ.ธุรกรรมอิเล็กทรอนิกส์ โดย

  • ใช้ Microsoft CA เป็น Certificate Authority (CA) ภายในองค์กร เพื่อทำ Signing Certificate ของ User เพื่อรับรองตัวตนของผู้ใช้งาน โดยที่องค์กรเป็นผู้พิสูจน์ตัวตนของ User
  • ใช้ Luna HSM เป็น Hardware Security Module สำหรับบริหารจัดการ Key ต่างๆ เพิ่มความมั่นคงปลอดภัยของระบบ
  • มี REST API สำหรับใช้งานเกี่ยวกับ Certificate, Signing, Verification โดยใช้งานได้ง่ายดาย
  • เสริมด้วย Onboarding application และ Document Signing Application สำหรับองค์กรที่ยังไม่มี Application ทางบริษัทสามารถพัฒนา Application ดังกล่าวให้เข้ากับระบบงานขององค์กรท่านได้ โดย

 

ภาพต่อไปนี้แสดง Component ส่วนของ Digital Signature Services ซึ่งเป็น REST API ที่ให้บริการด้าน Certificate Management, Document Signing ซึ่ง Encapsulate ส่วนของ Luna HSM เพื่อขจัดความยุ่งยากในการศึกษาเรียนรู้การใช้งาน HSM ออกไป Application สามารถ Integrate มาใช้งาน REST API นี้ได้อย่างง่ายดาย หากองค์กรของท่านมีทีมพัฒนา Mobile/Web Application อยู่แล้ว ท่านสามารถซื้อเฉพาะส่วนของ Digital Signature Services ไปใช้งานได้

 

นอกจากนี้ ในกรณีที่องค์กรของท่านต้องการพัฒนา Mobile Application หรือ Web Application ส่วนเพิ่มเติมสำหรับบริการ e-Contract ทางบริษัทฯ สามารถให้บริการพัฒนา Application ได้ โดยลักษณะของ Architecture ก็จะมีส่วนของ Backend ที่เป็น Container & Microservice ขึ้นมาคั่นระหว่ง Mobile/Web Application และ Digital Signature Services สตรีมฯ เองก็สามารถทำได้ ซึ่งเรียกได้ว่าเรามีบริการครบทุกความต้องการของลูกค้าเลยทีเดียว

ดังนั้น สตรีมฯ กล้าพูดได้อย่างเต็มปากว่าเรามีความพร้อมในการเป็นผู้นำสำหรับโซลูชั่น e-Contract (Digital Contract : dContract) พร้อมเข้ามายกระดับการเซ็นสัญญาสำหรับองค์กรของท่านให้มีความคล่องตัวมากขึ้น ลดการใช้กระดาษลงได้เป็นอย่างมาก และมีความปลอดภัยสูง รวมถึงมีกฎหมายรองรับในการทำธุรกรรมอีกด้วย

สนใจสอบถามรายละเอียดเพิ่มเติมได้ที่

marketing@stream.co.th หรือโทร 0-2679-2233

 

เรียบเรียงโดย Siripod Surabotsophon

Stream I.T. Consulting Ltd.

0 1 Continue Reading →

Face Comparison API with Python

มาลองทำ API ง่าย ๆ เพื่อเปรียบเทียบใบหน้า (Face Comparison) โดยใช้ภาษา Python

ในปัจจุบันหลายธุรกิจเริ่มผันตัวเข้าสู่โลกของดิจิทัล หรือเริ่มหันมาทำ Application เพื่อให้บริการลูกค้ามากขึ้น สิ่งหนึ่งที่สำคัญและขาดไม่ได้คือการระบุตัวตนของลูกค้า ซึ่งการเปรียบเทียบใบหน้านั้น เป็นหนึ่งในวิธีการระบุตัวตนของผู้ใช้งาน ไม่ให้ผู้อื่นมาแอบอ้างเป็นเรา เช่น การลงทะเบียนผู้ใช้งานใหม่ จำเป็นจะต้องให้ลูกค้าถ่ายรูปหน้าบัตรประชาชน และถ่ายรูปหน้าตัวเอง เพื่อทำการเปรียบเทียบว่าเป็นคนเดียวกันหรือไม่

หากไม่มีการเปรียบเทียบใบหน้าลองคิดกันดูว่าจะเกิดอะไรขึ้น !!! สมมุติว่าเราทำบัตรประชาชนหาย แล้วมีใครที่ไหนไม่รู้ เอาบัตรประชาชนของเราไปสมัคร Application โดยที่เราไม่รู้ตัว หรือแอบนำไปทำธุรกรรมใดๆ ก็อาจสร้างความเสียหายแก่เราได้

วันนี้เราจะใช้ Python มาทำการเปรียบเทียบใบหน้า โดยใช้ Library ที่ชื่อว่า “DeepFace” และ “Flask” มาทำ Rest API มาดูขั้นตอนการทำได้เลย!!

DeepFace เป็น Library Python สำหรับการจดจำใบหน้าแบบโอเพ่นซอร์ส ที่มีขนาดเล็กได้รับความนิยมสูงสุด สามารถการจดจำและวิเคราะห์คุณลักษณะใบหน้า (อายุ เพศ อารมณ์ และเชื้อชาติ)  ซึ่งเราจะนำมาใช้ในส่วน Face Comparison

Flask เป็น Python Web Framework ที่มีส่วนควบคุมการทำงานที่มีขนาดเล็กและง่ายต่อการขยาย ซึ่งเราจะนำมาใช้ในส่วนของการสร้าง API

ก่อนที่เราจะเริ่มพัฒนา จำเป็นต้องต้องติดตั้ง 2  ตัวนี้ก่อน

ภาพจาก : towardsai

  • Python 3

ภาษาไพธอน เป็นภาษาโปรแกรมมิ่ง แบบ Open Source ที่ทำงานบนระบบปฎิบัติการได้หลากหลาย สามารถทำงานได้เหมือนกับภาษาโปรแกรมมิ่งทั่วไป และมีจุดเด่นเหมาะสำหรับงานที่ต้องการประมวลผลแบบพิเศษ เช่น การวิเคราะห์ข้อมูล (Data analytics) งานที่เกี่ยวกับการประมวลผลด้านสื่อกราฟฟิก และการประมวลผลภาพ (Multimedia & Image processing) การประมวลผลทางวิทยาศาสตร์และสถิติ (Scientific & Statistics computing) และงานด้าน Machine learning เป็นต้น

  • VS Code application และ VS Code Python extension

หรือ Visual Studio Code (VS Code) เป็นโปรแกรมแก้ไขซอร์สโค้ดที่มีขนาดเล็กแต่ทรงพลัง ซึ่งทำงานบนเดสก์ท็อปรองรับการทำงานบน Windows, macOS และ Linux พร้อมทั้งยังสามารถปรับแต่ง ด้วยการใช้ส่วนขยาย (Extension) อื่นๆ ได้อีกมากมาย ในที่นี้เราจะใช้ ส่วนขยาย ที่ชื่อว่า VS Code Python extension เข้ามาช่วยในการเขียนนะครับ (link วิธีการติดตั้ง https://code.visualstudio.com/docs/python/python-tutorial)

ส่วนใครที่ติดตั้ง Python และ VS code เรียบร้อยแล้วก็ข้ามมาได้เลย ส่วนใครที่ยังไม่แน่ใจว่าเคยติดตั้ง Python ไปแล้ว ให้ใช้ Command นี้เพื่อตรวจสอบเวอร์ชั่นของ Python (Execute ใน Command Prompt)

python — version

1. สร้าง Folder ขึ้นมาใหม่ และตั้งชื่อตามใจชอบได้เลย และเปิด Folder ด้วย VS code

2. สร้าง File ขึ้นมาใหม่ ภายใต้ Folder ที่สร้างไป ในทีนี้ใช้ชื่อว่า face.py

3. Setup Environment โดยกด ctrl+shift+P และพิมพ์ว่า Python: Create Environment จากนั้นคลิกเลือก Venv

4. ทำการ Import Library DeepFace และ Flask โดยเปิด Terminal ใน VS code และพิมพ์ Command ดังนี้

5. Copy Code ส่วนนี้ไปวางในไฟล์ face.py

อธิบาย Code แบบสั้นๆ

บรรทัดที่ 8 เป็นการสร้าง API โดยกำหนด Path คือ /face-compare และกำหนดให้เป็น Method-POST

บรรทัดที่ 11-13 เป็นการอ่านรูปจาก Path ใน Request Body

บรรทัดที่ 16 ทำการส่งรูปเข้าไปยัง Library DeepFace เพื่อเปรียบเทียบรูป

บรรทัดที่ 21 ใส่เงื่อนไขว่าคะแนนให้เกินเท่าไหร่ ถึงจะถือว่าเป็นคนๆเดียวกัน ตรงนี้สามารถปรับคะแนนได้

บรรทัดที่ 28-31 เป็นการกำหนด Json ที่จะ Response สามารถแก้หรือเพิ่มลบ attributes ตรงนี้ได้

บรรทัดที่ 36 เป็นการ Return Json กลับไปให้คนที่ Call API มา

*** ใครอยากแก้ Port ของ Service ให้แก้ตรงบรรทัดที่ 44 ได้เลย

 

6. สร้าง Folder Images ใน Project

จากนั้นนำรูปที่ต้องการ Compare เข้าไปใส่ใน Folder

7. Start program โดยการกดปุ่ม Run > Run Without Debugging หรือพิมพ์ Command ใน Terminal “python face.py” เมื่อ Start เรียบร้อยจะขึ้นหน้าตาแบบนี้

8. ทดสอบ Call API โดยใช้ Postman

 

ภาพตัวอย่างที่ใช้ในการเปรียบเทียบ

ผลที่ได้

ความหมายคือ ตรวจพบใบหน้าในรูป (detected = true)
เป็นใบหน้าคนๆเดียวกัน (sameFace = true)
คะแนนความเหมือนกันอยู่ที่ 71.16%

 

มาลองคนละคนดีกว่า

ผลที่ได้

ความหมายคือ ตรวจพบใบหน้าในรูป (detected = true)
ไม่ใช่ใบหน้าคนๆเดียวกัน (sameFace = false)
คะแนนความเหมือนกันอยู่ที่ 29.63%

 

การนำไปใช้งานจริงควรจะมี Service มาครอบตัวนี้อีกทีนะครับ เช่นเขียน Java Service ขึ้นมา 1 ตัว และรับเป็น Multipart Form-data เพื่อให้ Front-end หรือคนที่เรียก Service แนบรูปมาได้ จากนั้นเราก็เขียนให้ Java ไปเก็บรูปลงใน Path Images ของ Project Python จากนั้นก็ Call Python Service และส่ง Path ของรูปไปด้วย เมื่อ Java Service ได้รับ Response จาก Python ก็ให้ไปลบไฟล์รูปที่เคยเก็บไว้ใน Folder Images

เป็นยังไงกันบ้างครับ กับการทำการเปรียบเทียบใบหน้าโดยใช้ Python ที่เราได้นำเสนอไป ทางทีมงานสตรีมฯ ของเรายังมี โซลูชั่น เทคโนโลยี นวัตกรรม ด้านดิจิทัลอีกมากมาย รอติดตามบทความต่อๆไปได้เลยครับ

หากสนใจโซลูชั่นด้านดิจิทัล สามารถติดต่อเราได้ที่อีเมล marketing@stream.co.th หรือโทร. 02-679-2233

*Head Banner Image Credit: recfaces

 

เรียบเรียงโดย Phasathon Yingcharoenrat

Senior Software Engineer, Stream I.T. Consulting Ltd.

0 3 Continue Reading →

Stream vClaim

Stream vClaim Application

แอปพลิเคชั่นสำหรับเคลมประกันออนไลน์ ผ่านวิดีโอคอนเฟอเรนซ์(VDO Conference) ไม่ต้องรอตัวแทนประกัน สามารถถ่ายรูป พร้อมคุยกับเจ้าหน้าที่ประกันได้ทันที!!

สุดยอดแอปพลิเคชั่น สำหรับบริษัทประกันภัยรถยนต์ยุคใหม่ที่ไม่ควรพลาด!!

ทำไมถึงต้อง vClaim

♦ Easy to use – ใช้งานง่าย ไม่ซับซ้อน เพียง 3 ขั้นตอน

♦ Claim Anywhere – สามารถใช้งานได้ทุกที่ ทุกแพลตฟอร์มไม่ว่าจะเป็น Mobile, Tablet หรือ Desktop

 

สนใจสอบถามเพิ่มเติม

สนใจสอบถามข้อมูลเพิ่มเติม

ปรึกษาฟรี!

 

ฝ่ายการตลาด

บริษัท สตรีม ไอ.ที. คอนซัลติ้ง จำกัด

Email: marketing@stream.co.th

Facebook: https://www.facebook.com/Streamitconsulting

Tel. 0-2679-2233

 

Content Writer: Kanlayakorn Chotawisakul, Solutions Consultant

 

0 0 Continue Reading →

Blockchain in Healthcare: A Game Changer for Data Security and Privacy

Introduction: What is blockchain, and why is it relevant for healthcare

Blockchain has been hailed as a game-changer in many industries, and healthcare is no exception. This revolutionary technology, which allows for secure and transparent record-keeping, has the potential to transform the way sensitive health information is managed, shared, and accessed.

With its inherent features of immutability, decentralization, and encryption, blockchain technology can help improve data security and privacy, reduce errors and fraud, and enable interoperability and better coordination among different stakeholders in the healthcare ecosystem. In fact, the use of blockchain in healthcare has been growing rapidly in recent years, with many healthcare organizations and startups exploring its potential to solve some of the biggest challenges facing the industry.

In this blog post, we will dive into the world of blockchain in healthcare and explore its exciting potential. We will provide examples of how it is being used in real-life scenarios, discuss the challenges and limitations of implementing blockchain technology in healthcare, and look at the future of this transformative technology in the industry.

 

How blockchain technology can improve data security and privacy in healthcare

Blockchain technology offers several key features that can enhance data security and privacy in the healthcare industry.

 

First, it allows for decentralized data storage. In a traditional centralized system, health information is stored on a single, central server, which makes it vulnerable to attacks and data breaches. With blockchain, data is distributed across multiple nodes or computers in a network, making it much harder for attackers to access sensitive health data. An attacker would need to compromise multiple nodes simultaneously to access the data, which is much more difficult than compromising a single server. This decentralized storage model also makes it easier to maintain data integrity and availability, as the data can be accessed from any node in the network.

 

Second, blockchain uses advanced encryption algorithms to protect data from unauthorized access. Each record or “block” in the blockchain is encrypted and linked to the previous block using a unique digital signature. This creates a tamper-evident chain of records that cannot be altered without detection. This encryption ensures that only authorized stakeholders can access the data and that the data remains secure even if it is intercepted or hacked.

 

Third, blockchain allows for transparent and auditable record-keeping. Because all the data in the blockchain is publicly visible and verifiable, it enables stakeholders to track and verify the authenticity and integrity of health data. This can help reduce errors, fraud, and mismanagement of health information. For example, if a healthcare provider makes a mistake in a patient’s record, it can be easily detected and corrected using the blockchain. Similarly, if a patient’s medical data is accessed without permission, it can be traced and traced using the blockchain’s auditable records.

 

Overall, the use of blockchain technology in healthcare can help improve data security and privacy by providing decentralized, encrypted, and transparent data management. This can benefit patients, healthcare providers, and other stakeholders by protecting their sensitive health information and enabling better data sharing and coordination.

 

Real-life examples of blockchain applications in healthcare

Here are some possible examples of real-life applications of blockchain technology in healthcare:

 

  • Electronic medical records (EMR): Blockchain can be used to create a decentralized and secure EMR system, where patients’ medical records are stored on multiple nodes in the network and encrypted using blockchain technology. This can help protect patients’ sensitive health information from unauthorized access and ensure that the data is accurate, up-to-date, and accessible to authorized stakeholders.
  • Clinical trials: Blockchain can be used to improve the transparency, accountability, and integrity of clinical trials. By storing trial data on the blockchain, researchers can ensure that the data is tamper-evident and verifiable, which can help prevent fraud and improve the reliability of the results.
  • Supply chain management: Blockchain can be used to track and verify the authenticity and origin of medical products, such as drugs, medical devices, and vaccines. By storing supply chain data on the blockchain, healthcare organizations can ensure that the products they use are safe, effective, and compliant with regulatory standards.
  • Patient consent and data sharing: Blockchain can be used to enable patients to control and manage their own health data. By using blockchain-based systems, patients can give and revoke consent for their data to be shared with healthcare providers and other stakeholders, and track who has accessed their data and for what purposes. This can help empower patients and improve data privacy and security.

 

These are just a few examples of how blockchain technology can be applied in the healthcare industry. Many other potential applications exist, including for health insurance, public health surveillance, and medical research.

 

The challenges and limitations of implementing blockchain in healthcare

Here are some potential challenges and limitations of implementing blockchain technology in healthcare:

 

  • Technical complexity: Blockchain technology can be complex to implement and require specialized knowledge and expertise. Healthcare organizations may need to invest in training and infrastructure to develop and maintain blockchain-based systems.
  • Scalability: Blockchain networks can be slow and limited in their ability to process large volumes of data. This can be a challenge in the healthcare industry, where data is often voluminous and complex. Healthcare organizations may need to find solutions to scale up blockchain systems to meet their needs.
  • Interoperability: Blockchain systems are often built on different platforms and use different protocols, which can make it difficult for them to communicate and share data with each other. This can be a challenge for healthcare organizations that need to exchange data with multiple stakeholders, such as patients, providers, and regulators.
  • Regulation: The use of blockchain technology in healthcare is still relatively new, and there are few legal and regulatory frameworks in place to govern it. This can create uncertainty and risks for healthcare organizations that want to implement blockchain-based systems.

 

While blockchain technology has great potential to transform the healthcare industry, there are challenges and limitations that need to be overcome to realize its full potential. Healthcare organizations will need to carefully consider these challenges and develop strategies to address them in order to successfully implement blockchain technology in their operations.

 

Conclusion: The potential of blockchain to transform the healthcare industry

Blockchain technology has the potential to transform the healthcare industry by improving data security and privacy, reducing errors and fraud, and enabling interoperability and better coordination among stakeholders. With its inherent features of decentralization, encryption, and transparency, blockchain can help protect patients’ sensitive health information, improve the reliability and trustworthiness of medical data, and enable better data sharing and collaboration in the healthcare ecosystem.

 

While there are challenges and limitations to implementing blockchain technology in healthcare, these can be overcome with the right strategies and solutions. Healthcare organizations that are able to overcome these challenges and harness the power of blockchain can benefit from its transformative potential and gain a competitive advantage in the industry.

The future of blockchain in healthcare looks promising, as more and more organizations and startups are exploring its potential and developing innovative applications. As the technology continues to evolve and mature, we can expect to see more widespread adoption of blockchain in the healthcare industry, leading to improved data security and privacy, better patient care, and a more efficient and effective healthcare system.

If you are interested in any digital solutions, please contact Marketing Department email at marketing@stream.co.th.

 

Content Writer: Hayan Hammad, Blockchain Business Development

 

0 0 Continue Reading →

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายการใช้คุกกี้ และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้ประเภทนี้จะทำการเก็บข้อมูลการใช้งานเว็บไซต์ของคุณ เพื่อเป็นประโยชน์ในการวัดผล ปรับปรุง และพัฒนาประสบการณ์ที่ดีในการใช้งานเว็บไซต์ ถ้าหากท่านไม่ยินยอมให้เราใช้คุกกี้นี้ เราจะไม่สามารถวัดผล ปรังปรุงและพัฒนาเว็บไซต์ได้

Save