เรื่องที่ผมจะเขียนเรื่องนี้ จริง ๆ เป็นเรื่องเล็กมาก ใครที่ได้เรียนวิชาการสื่อสารข้อมูล หรือวิชาเครือข่ายคอมพิวเตอร์น่าจะเข้าใจ
แต่ก็นั่นแหล่ะ ของมันเรียนมาแล้วแต่ไม่ได้ใช้นาน ๆ ก็มีลืม งั้นมาทบทวนกันหน่อยแล้วกัน
ผมเคยเจอตัวอย่างหนึ่ง เป็นการร่วมงานกันระหว่างหน่วยงานรัฐกับบริษัทเอกชน โดยบริษัทเอกชนเสนอว่าจะเอาโปรแกรมคอมพิวเตอร์มาติดตั้งในห้องดาต้าเซ็นเตอร์ของหน่วยงานรัฐ จุดประสงค์เพื่อจะมาอ่านข้อมูลภายในของหน่วยงานรัฐ แล้วส่งออกไปข้างนอกเพื่อประมวลผล
ก็ประชุมกันไปครับ เอาคนที่ทำด้านเครือข่าย เครื่องแม่ข่าย โปรแกรมคอมพิวเตอร์ และ ความมั่นคงปลอดภัย มานั่งคุยกัน คุยกันตั้งนานกว่าจะเข้าใจวิธีการทำงาน เพราะพวกเขาคิดว่า ต่างฝ่ายต่างรู้เรื่อง Push Technology กับ Pull Technology กัน เลยไม่ได้อธิบายให้ชัดว่าจะเลือกใช้วิธีไหนกัน
ที่ต้องคุยกันเยอะเพราะมันมีเรื่องของความมั่นคงปลอดภัย แต่ล่ะที่ก็มีนโยบายความปลอดภัยทางคอมพิวเตอร์แตกต่างกัน บางที่ก็มีประตูกันหลายชั้น บางที่ก็ไม่มีประตูกั้นเลย ส่วนบางที่ก็ยอมให้ออกได้อย่างเดียวห้ามต่อเข้า แต่บางที่ก็ยอมให้ต่อเข้าได้ ก็ต้องมาคุยกัน
Push Technology กับ Pull Technology เป็นเรื่องง่าย ๆ ด้านการสื่อสารข้อมูลผ่านเครือข่ายภายใน เครือข่ายภายนอก หรือเครือข่ายอินเทอร์เน็ตครับ ไม่สนว่าจะใช้โปรโตคอลอะไรเลยก็ยังได้ ขอแค่ปฏิบัติประมาณนี้ก็เรียกว่า Push Technology หรือ Pull Technology แล้ว
เริ่มแรก มาดูภาพที่ผมพยายามอธิบายเกี่ยวกับ Push Technology กันดีกว่า ผมไม่เขียนเยอะนะ ดูหลักการเอาจากรูปแล้วกันครับ
จากภาพข้างบนจะเห็นว่า หลักการ Push Technology คือ ถ้ามองตัวเราเป็น Server เราก็จะมีบทสนทนากับ Client ประมาณว่า
“เธอต่อเข้ามาหาฉันนะ แล้วเธอก็รับโน่นรับนี่จากฉันไปแล้วกัน อย่าบ่นล่ะ รับไปเฉย ๆ นิ่ง ๆ เธอไม่ต้องขอ ฉันให้เธอเอง”
ในขณะที่ถ้าเป็น Pull Technology จะเป็นยังไง โดยปรกติมันจะเป็นแบบภาพข้างล่างนี้ครับ ไม่อธิบายเยอะนะ ลองดูจากภาพเอา
ถ้าให้อธิบายภาพข้างบนของ Pull Technology เป็นบทสนทนา โดยมองว่าตัวเราเป็น Server แล้วคุยกับ Client ก็จะมีบทสนทนาประมาณว่า
“เธอต่อเข้ามาหาฉันนะ จากนั้นเธอก็บอกมาว่าเธอจะเอาอะไร แล้วถ้าฉันให้ได้ฉันก็ให้เธอเองแหล่ะ แต่ถ้าเธอไม่บอก ฉันก็จะเฉย ๆ นะ ถึงฉันคิดว่ามีสิ่งที่เธอต้องการ ฉันก็ไม่ส่งให้เธอหรอก”
ทีนี้ แบบข้างบนมันเป็น Pull Technology สองทิศทาง มันมีอีกแบบหนึ่งเป็นแบบทิศทางเดียว แบบข้างล่างนี้
ถ้าอธิบายเป็นบทสนทนาสำหรับ Pull Technology ทิศทางเดียวตามภาพข้างบน โดยมองว่าตัวเราเป็น Server บทสนทนาก็จะประมาณว่า
“เธอต่อเข้ามาหาฉันนะ จากนั้นมีอะไรก็ว่ามา ฉันจะฟังเฉย ๆ อย่างเดียว”
จังหวะจะโคนในการต่อท่อ และรับ ๆ ส่ง ๆ ข้อมูลแบบนี้ ก็มีอยู่แพร่หลายในโปรแกรมคอมพิวเตอร์ที่พวกเราใช้กันอยู่ทุกวันนี้แหล่ะครับ เพียงแต่มันเป็นงานเบื้องหลัง ผู้ใช้งานอย่างพวกเราเลยไม่ต้องไปสนใจนัก แต่ถ้าเป็นคนทำงานด้านนี้เค้าก็ต้องสนใจเยอะหน่อย เพราะมันมีผลกับต้นทุนในการเขียนโปรแกรมคอมพิวเตอร์ ต้นทุนในการติดตั้งเครื่องแม่ข่าย ความยากง่ายในการกำหนดนโยบายเครือข่าย ก็วุ่นวายนิดนึง
ทีนี้เพื่อให้เข้าใจง่ายขึ้นอีกนิดนึง ผมจึงได้ทำตารางเปรียบเทียบครับ จะได้เห็นว่า Push / Pull Technology มันเป็นเบื้องหลังของโปรแกรมคอมพิวเตอร์แบบไหนบ้าง
จุดสำคัญอีกอย่างหนึ่งที่ผมพบเวลาคุยเรื่อง Push กับ Pull ก็คือ ไม่ค่อยมีใครบอกชัด ๆ ครับว่าใครเป็น Server และใครเป็น Client
อย่าเข้าใจว่า Server คือเครื่องใหญ่ และ Client คือเครื่องเล็กนะครับ สำหรับ Push กับ Pull ไม่จำเป็นที่ Server ต้องเป็นเครื่องใหญ่ และ Client ต้องเป็นเครื่องเล็กเสมอไป
ดังนั้น ก่อนตกลงเรื่อง Push กับ Pull ต้องตกลงกันก่อนเรื่อง Server กับ Client ให้เรียบร้อยครับ คุยผิดนี่ออกทะเลกันเลยทีเดียว