OpenCARE

เมื่อวานมีคนจากกระทรวงโทรมาที่โต๊ะ บอกว่าส่งแฟ็กซ์มา ให้เช็คหน่อยว่าได้มั้ย อันนี้ไม่เกี่ยวกับผมแต่ว่าไหนๆ โทรมาแล้วก็เลยเดินไปดูให้ เป็นแฟ็กซ์เชิญ ผอ. ไปประชุมเรื่องกู้วิกฤตน้ำท่วมสุโขทัยที่กระทรวง

เมื่อวานวันที่ 26 น้ำท่วมจบมาหลายวันแล้ว บางกระทรวงเพิ่งเรียกประชุม เรามีวิธีที่ดีกว่านี้หรือเปล่าในการเตรียมพร้อมรับภัยพิบัติต่างๆ ทั้งธรรมชาติและไม่ธรรมชาติ

ขอเสนอ OpenCARE

OpenCARE เป็น middleware ในระดับ infrastructure มีจุดประสงค์เพื่อ "บริการข้อมูล" ที่จำเป็นต้องใช้เมื่อเกิดภัยพิบัติหรือแจ้งเตือนภัย งานหลักของ OpenCARE คือการ convert ข้อมูลรูปแบบต่างๆ (เช่น excel, scan) ให้อยู่ในรูป OASIS Emergency Data Exchange Language (EDXL) และกระจายไปยัง node อื่นๆ เพื่อความรวดเร็วในการดึงข้อมูล ส่วนจะเอาข้อมูลไปทำอะไรต่อ ก็ขึ้นกับคนทำจะเขียน app ขึ้นมาเรียก

ย่อหน้าข้างบนนี้เป็นการย่อความตามความเข้าใจของผมเอง หลังจากคุยกับคุณตฤณเมื่อวาน

OpenCARE เป็นโครงการของคุณตฤณ ซึ่งตอนสึนามิก็ได้กระโดดไปช่วยเต็มที่ คิดว่าประสบการณ์จากกรณีจริงจะช่วยให้ OpenCARE ประสบความสำเร็จครับ

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

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

OpenCARE จึงเลือกใช้ลักษณะ plug-in ดึงข้อมูลมาเปลี่ยนให้เป็นข้อมูลแบบกลางๆ (ตอนนี้คิดว่า EDXL ดีที่สุด แต่ก็อาจจะมีแบบอื่นๆอีกได้) แล้วส่งไปยัง OpenCARE node อื่นๆ การใช้ plug-in ก็เพื่อที่ระบบภายนอกหนึ่งระบบจะได้ใช้ plug-in หนึ่งตัว เป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง ไม่วุ่นวายมากนัก maintain ได้ง่าย isolate ปัญหาได้ง่าย

ระบบ A ส่ง ข้อมูลใน format A ให้ OpenCARE plug-in A เปลี่ยนเป็น EDXL
OpenCARE กระจาย EDXL ออกไปในเครือข่าย
ระบบ B ดึงข้อมูลใน format B จาก OpenCARE ซึ่งใช้ plug-in B แปลง EDXL เป็น format B
ระบบ C ดึงข้อมูลใน format C จาก OpenCARE ซึ่งใช้ plug-in C แปลง EDXL เป็น format C
ระบบ D ดึงข้อมูลใน format D จาก OpenCARE ซึ่งใช้ plug-in D แปลง EDXL เป็น format D

แบบข้างบนนี้ดีกว่าการต่อตรงเสียอีก เพราะเวลาต่อตรง admin ของระบบ A จะต้องเขียน interface module ของระบบ B, C, D เอง ราชการไทยอะไรๆก็เป็นความลับไปหมด คนนอกจะช่วยก็ช่วยไม่ได้ ครั้นจะทำเองก็ไม่ไหว ก็เลยเป็นแบบที่เป็นอยู่ คือใช้แฟ็กซ์ (ฮา)

จริงอยู่ที่ EDXL มันค่อนข้างจะอ้วน อันนี้เป็นเพราะ input ก่อนที่จะเกิด EDXL มันหลากหลายเหลือเกิน ที่มันเกิดขึ้นได้เพราะผู้คนรู้สึกรุนแรงต่อเหตุการณ์เครื่องบินชนตึกเมื่อปี 2001 แล้วยังมีเฮอริเคน Katrina เมื่อปี 2005 อีก ก็เลยรวมตัวกัน

ของศรีลังกา เขียน Sahana ออกมาเป็นระบบ Camp Management ได้รับรางวัลและคำยกย่องต่างๆจากทั่วโลก และใช้ในแผ่นดินไหวในปากีสถาน โคลนถล่มในฟิลิปปินส์ และในแอฟริกา

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

  1. ความฉับไวของข้อมูล -- ข่าวต้องต่อคิวทีวีและไม่มีมิติของเวลา
  2. รายละเอียดของข้อมูล -- ซึ่งข่าวทีวีไม่สามารถอ่านข้อมูลเต็มได้ ถึงอ่านก็จดรายละเอียดไม่ได้ทั้งหมด การดู/การฟังต้องทำในจังหวะที่ถูกต้อง ใครจะไปนั่งเฝ้าได้ตลอดเวลา
  3. ข้อมูลทางเดียวทำให้ไม่มีการประสานงาน เช่นพอประกาศอะไรออกมาทีหนึ่ง ก็จะแห่ส่งกันไปมากเกินความจำเป็นทุกที

งาน OpenCARE มีอยู่สองส่วนคือการพัฒนา plug-in ซึ่งอาจจะเป็นโปรแกรม scraping ง่ายๆ (โปรแกรมอ่าน HTML แล้วกรองเฉพาะข้อมูลที่ต้องการ) ใช้ HTML::Mechanize หรือจะใช้ภาษาอื่นๆที่ถนัดก็ได้ เพราะ plug-in เขียนด้วยภาษาอะไรก็ได้

ส่วนที่สองยังไม่ได้ตัดสินใจ คือเมื่อมีข้อมูลแล้วจะกระจายอย่างไรระหว่าง OpenCARE node -- EDXL เขาใช้ web services เป็นหลัก แต่ประสบการณ์สึนามิบอกว่าใช้ web services จะทำให้ server เดี้ยงแน่ แค่ส่ง HTML ธรรมดาไม่มีโปรแกรมอะไรอื่นก็ยังเอาตัวรอดได้ยาก หากมีโหลดมหาศาลแบบนั้น ใช้ P2P หรือ Tuple space จะดีกว่าหรือไม่

ทำดีกว่าคิด คิดดีกว่าพูด ทั้งทำทั้งคิดทั้งพูดดีที่สุด ติดขัดอะไรเขียนก็ได้ ยังมีทางออกเสมอ

ใครมีกำลังและความเก็บกดเหลืออยู่ เรียนเชิญที่ Thailand forum ครับ

Post new comment

The content of this field is kept private and will not be shown publicly.