ผมได้อ่านเอกสารวิจัยหลาย ๆ ชิ้น ซึ่งวิจัยเกี่ยวกับการรวมคุณสมบัติด้านดีของ Web Service และ Peer To Peer เข้าไว้ด้วยกัน โดยเอกสารเหล่านั้นมีคติตรงกันเรื่องหนึ่งที่ว่า Web Service มันเป็นอะไรที่รวมศูนย์ ดังนั้น โอกาสที่มันจะเกิดปรากฎการณ์คอขวดจึงเป็นไปได้ เพราะงั้น ผู้วิจัยเหล่านั้นก็เลยคิดว่าน่าจะเป็นการดี หากสามารถแบ่งเบาภาระของศูนย์กลางซึ่งให้บริการ Web Service (เพียงลำพัง) โดยการกระจายภาระการร้องขอไปยัง Peer ต่าง ๆ แทน (ตามหลักการ Peer To Peer)!!!
โดยส่วนตัวมองว่า การนำเอาสถาปัตยกรรม Peer To Peer มาประยุกต์กับ Web Service เป็นเรื่องที่เลอเลิศมาก ดังนั้น เราจะตัดอคติเรื่องความเป็นไปไม่ได้ของมันออกไป แล้วมามองว่าอะไรคือสิ่งสนับสนุนให้มันเกิดขึ้นมาได้แทน โดยจะต้องวิเคราะห์ออกเป็นสามเรื่องใหญ่ ๆ คือ ต้นทุน, เทคนิค และ การใช้งาน …
1. ต้นทุน
ปัญหาคอขวดที่อ้างขึ้นมาในงานวิจัยส่วนใหญ่ (ที่เกี่ยวกับ Web Service + P2P) ถึงสุดท้ายแล้วอาจจะไม่เป็นประเด็นนัก ในแง่ของการต่อเติมสถาปัตยกรรม เพราะเราสามารถเอา Cloud Computing เข้ามาช่วยในเรื่องนี้ได้ แต่ก็อย่างว่าแหล่ะ ถ้าเราต้องให้บริการที่ใหญ่โต เราก็ต้องมีต้นทุนสำหรับ Cloud Computing ที่มี Instance ซึ่งมี CPU แรง ๆ และ RAM เยอะ ๆ อยู่ดี … เงินทั้งนั้น!!
ดังนั้น การทำ Web Service แบบ Peer To Peer มันก็เลยน่าจะตอบโจทย์เรื่องต้นทุนได้ดีทีเดียว!
2. เทคนิค
การจะควบรวมเอาสถาปัตยกรรมแบบ Peer To Peer มาเข้ากับ Web Service เราก็ต้องมาดูก่อนว่า สถาปัตยกรรมพวกนี้เขาใช้ Protocol อะไรในการทำงานบ้าง …
จากภาพข้างบน (ตัวอักษรสีแดง) ชี้ให้เห็นว่า ทั้ง Web Service และ Peer To Peer ต่างก็ใช้ Protocol บน Transport Layer และ Internet Layer เหมือนกัน จะต่างกันก็ตรงส่วนของ Protocol บน Application Layer เท่านั้น … ดังนั้น … หากจะทำให้ Web Service ทำงานแบบ Peer To Peer ก็มีเพียงหนทางเดียว (หรือเปล่า?) นั่นก็คือ ออกแบบ Protocol ใหม่บน Application Layer ซึ่งมีคุณสมบัติสำหรับเรื่องที่กำลังโม้นี้แทน!!!
อันนี้อ่ะ ของแข็งของจริง!!!!
3. การใช้งาน
สถาปัตยกรรม Peer To Peer ถูกออกแบบมาเพื่อแบ่งของกัน และของที่จะแบ่งกันมันก็ชัดเจนมาก ๆ นั่นคือ ไฟล์คอมพิวเตอร์ ทีนี้ถ้าลองมองแบบถู ๆ ไถ ๆ เราก็พอจะอ้อมแอ้มได้ว่า ผลลัพธ์ที่เราได้จาก Web Service มันก็เป็นไฟล์คอมพิวเตอร์ ซึ่งจัดรูปแบบภายในเป็นแบบ XML เหมือนกัน
ทีนี้ประเด็นการประยุกต์ใช้งานก็จะอยู่ที่ … มันจะมีเรื่องอะไรบ้างที่สมควรอย่างยิ่งยวด ที่จะใช้งาน Web Service แบบ Peer To Peer?
โหะ ๆ โดยส่วนตัวผม ผมก็นึกไม่ออกเหมือนกันแฮะ ว่ามันจะเอาไปใช้งานในเรื่องอะไรดี????
—
สรุปแล้วกลายเป็นว่า มีความเป็นไปได้ทางเทคนิค แต่ดันไม่รู้จะเอาไปใช้ทำอะไร ฮา ^-^
[tags]Web Service, Peer To Peer, P2P[/tags]
ผมใช้ P2P + Web Service กับข้อมูล GIS ครับ
มันไม่เหมาะกับไฟล์บนเครื่องผู้ใช้ แต่กับ Server 2 Server หลายกรณี ก็ถือเป็น P2P ได้นะครับ
Bittorrent นี่ถ้ามองว่ามันคือ cloud storage นี่
ก็ถือว่าเวิร์กอยู่นะครับ
แต่ถ้าเอาไปรวมกับ webservice เนี่ย มันจะช่วยลด cost ได้จริงหรอครับ
เพราะถ้าบอกว่า result ครึ่งนึงไปเอาจากโหนดนี้ ส่วนอีกครึ่งก็ไปเอาจากอีกโหนด
นั่นหมายความว่าทั้งสองโหนดก็จะต้องประมวลผลเหมือนกันเลยน่ะสิ
เคยคิดอยู่เหมือนกันว่า
ถ้าเปลี่ยนจาก sv client tcp เป็น client client p2p
คงจะโหลดเว็บ โหลดข้อมูลได้เร็วขึ้น ลดค่าใช้จ่ายพวก idc ได้มากขึ้น
หรือเปล่านี่ล่ะครับ แบบว่าความรู้ไม่ถึง ^^a
เดี๋ยวผมต้องไปค้นดูหน่อยอ่ะคุณ apirakb ว่าไอ้เจ้า GIS นี่มันคืออะไรหนอ?
อือม ผมเองก็ยังไม่แน่ใจเรื่องการลดต้นทุนเหมือนกันแฮะคุณ AMp เพราะมันเป็นแค่สมมติฐานเฉย ๆ
ผมก็ความรู้ไม่ถึงเหมือนกันคุณ TAXZe อิ อิ