Web Service #4 : Microsoft's Vision

    ในบทก่อนๆ นั้น เราได้เห็นถึงว่า Microsoft นั้นรองรับ Web Service อย่างไร เมื่อ Web pages เหล่านี้ถูก published ขึ้น twoguru.com ก็มีคน email มาถามผมว่า แล้ว Microsoft จะยกเลิก Windows DNA แล้วหรือ อีกคนก็ email มาบอกว่า ผมเข้าใจผิดว่า .NET Framework นั้นไม่ได้เป็นอย่างที่ผมเขียน แต่หากเป็นรุ่นใหม่ของ Windows DNA ต่างหาก

     วันนี้ผมขอคุยอะไรเกี่ยวกับ Microsoft ซะหน่อย จะได้เห็นว่าอะไรมันเกิดขึ้นบ้าง อย่างแรกเรามาลองดู C# ครับ ทาง Microsoft พยายามจะพูดทำนองว่า พัฒนามาจาก C และ C++ ซึ่งผมก็ไม่เถียงหรอกครับ แต่ว่าถ้าพิจารณาดูจริงๆ แล้ว คงจะเห็นชัดเจนเลยว่าต้นแบบจริงๆ แล้วมันมาจาก Java นั่นเอง ทาง Microsoft ไม่ยอมพูดเรื่องนี้หรอกครับ มันดูเสียหน้าน่าดู

                มาถึง XML ที่จริงแล้วมันเป็นมาตรฐานของ W3C แต่ทาง Microsoft เป็นเจ้าแรกๆ ที่พยายามประยุกต์ใช้ XML แต่สื่อที่ทาง Microsoft ประกาศออกไปนั้น พยายามจะพูดว่าตัวเองเป็นผู้คิดค้น XML ถ้าใครติดตาม Microsoft เมื่อ 2 ปีที่แล้ว คงจะถูกหลอกเหมือนผม กว่าจะเข้าใจถูกจริงๆ ว่า XML เป็นมาตรฐานจริงๆ ก็ใช้เวลาอยู่นานเหมือนกัน

     มาถึงเรื่อง Web Service เหมือนกัน ทาง Microsoft นั้นเป็นเจ้าแรกๆ ที่หันมาจับเรื่องนี้ และพยายามเช่นเดิมที่จะบอกว่าตัวเองเป็นผู้ค้นคิด แถมบอกต่อไปว่า .NET Framework นั้นที่พัฒนาขึ้นมาเพื่อเป้าหมายปลายทางคือ Web Service การโมเมแบบนี้กระทำกันทั้งบริษัท ทุกคนต้องพูดตรงกันว่า การพัฒนาเริ่มต้นที่ COM มาเป็น COM+ แล้วตามมาด้วย Windows DNA แล้วจบลงด้วย .NET Framework ถ้าจะบอกว่ามันผิดก็คงพูดได้ไม่เต็มปาก แต่ถ้าจะบอกว่าถูกก็คงไม่ เพราะทาง Microsoft ยังพูดขัดกันเองหลายอย่าง เช่น บอกว่า Windows นั้นต่อไปจะเป็นเพียงแค่ USER Interface ส่วน .NET Framework จะเป็นส่วนของการเขียนโปรแกรม ถ้าเป็นเช่นนั้นก็หมายความว่า Win32 และ COM ที่อยู่ใน Windows นั้นยังคงอยู่ ซึ่งมันก็ขัดกับที่ Microsoft พยายามจะบอกว่า .Net Framework คือสิ่งใหม่ที่จะมาทดแทน Win32 และ COM กลายเป็นว่ายังต้องทำงานควบคู่กันไป ซ้ำร้าย ถ้าเราต้องการใช้ Web Service ซึ่งคุยว่าเป็นสิ่งใหม่ทดแทน Windows DNA นั้น ก็ไม่จำเป็นต้องเป็น .NET Framework เท่านั้นถึงจะใช้ Web Service ได้ VB6 ก็มี SOAP Toolkit ซึ่งรองรับ Web Serviceได้โดยไม่ต้องมี .NET Framework

   นั่นเป็นเหตุผลที่ผมบอกว่า .NET Framework นั้นเหมือนกับ JAVA Framework ซึ่งเป็นโครงพื้นฐานที่จะทำให้ Microsoft สามารถทำในสิ่งที่ต้นเองทำไม่ได้ โดยเฉพาะอย่างยิ่ง การกระโดดข้าม Platform ที่ Java ทำสำเร็จมาแล้ว JAVA Framework นั้นสีสันฉูดฉาดยิ่ง แต่การที่ Microsoft จะบอกว่าตัวเองเลียนแบบนั้น ย่อมเป็นไปไม่ได้  ก็เลยเอาจุดเด่นที่สุดจุดหนึ่งของ .NET Framework มาขยาย แล้วบอกว่ามันเป็นเป้าหมาย ถ้าจะเอาเฉพาะ Windows DNA นั้นก็ไม่จำเป็นต้องขี่ช้างจับตักแตนขนาดนั้น

      พอหอมปากหอมคอกันนะครับ วกกลับมาเข้าเรื่องของ Microsoft ดีกว่า เรามาลองดูหน่อยว่าในขั้นแรก Microsoft วางเป้าว่าจะทำอะไรกับ Web Service บ้าง

   ทาง Microsoft นั้นมอง Web Service โดยเน้นคำว่า Service มากกว่าคำว่า Web คำว่า Web นั้น ทาง Microsoft มองว่ามันเป็นที่ฝากของ Service โดยแทนที่จะใช้ MTS ในการเก็บเหมือนกับ Windows DNA แต่ Micrsoft กลับใช้ Internet Information Server (IIS) เป็นที่เก็บ Service ต่างๆ และคำว่า Web ยังหมายรวมถึงว่า Service ต่างๆ นั้น Web Application ที่สร้างจาก ASP.NET สามารถเรียกใช้งานได้

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

   วิสัยทัศน์ของทาง Microsoft นั้นมอง Web Service เป็นเหมือนเครื่องมือทางการค้าแนวใหม่ คือในยุคปัจจุบันก่อน .NET การทำธุรกิจต่างๆ บน Internet ค่อนข้างจะจำกัด เป็นที่พูดกันว่า Business to Consumer (B2C) นั้น นับวันยิ่งจะล้มเหลว แม้แต่การขายสินค้าที่ดูเหมือนจะมีอนาคตสดใสเช่นร้านขายหนังสือ Amazon นั้นก็ประสบปัญหาขาดทุนอยู่เรื่อยๆ ผู้เชี่ยวชาญพูดทำนองเดียวกันว่าการค้านั้นต้องเป็น Business to Business (B2B) เท่านั้น พอมาเรื่อง Web Service มันจะเปลี่ยนรูปไปอีก ขอให้ Web คุณมีข้อมูลที่เด่น คุณสามารถเก็บเงินจากข้อมูลเหล่านั้นได้ ทำให้แนวคิดของ Pay Per View (PPV) จะรุกตลาด Internet ได้

   วิสัยทัศน์ของ Microsoft ต่อมามีคำว่า Integrated ครับ นอกจากจะสามารถแตก Web Service ย่อยๆ กันแล้ว เราสามารถสร้าง Application เพื่อ Integrate Web Service ต่างๆ ที่มีอยู่ เพื่อร่วมกันสร้าง Value Add ให้กับผู้ใช้ ผมขอยกตัวอย่างหน่อยครับ สมมุติว่า ถ้าผมอยากกินหูฉลาม ในอดีตนั้นวิธีหนึ่งที่สะดวกที่สุดวิธีหนึ่ง คือใช้ Web ช่วย เข้าไปที่ Search Engine อาจจะค้นหาคำว่า ร้านหูฉลาม จะมีชื่อร้านพร้อม Web Site ของแต่ละร้านเข้ามาให้เลือก แต่นั่นก็ใช่ว่าผมจะสามารถย่อยข้อมูลเหล่านั้นได้โดยง่าย บ่อยครั้งที่ Search Engine ก็ทำไม่สำเร็จ สุดท้ายอาจต้องเสี่ยงดวงดูร้านใดร้านหนึ่ง หรืออาจมีอีกวิธีหนึ่งคือใช้ Web Site สำหรับผู้ชื่นชอบการรับประทานเช่น อร่อย.com แต่ก็ยังห่างไกลจะความสมบูรณ์ครับ

   แต่ถ้าผมบอกว่าในอนาคตอันใกล้นี้ มี Web Site ใหม่คือ ร้านอาหาร.com ที่นี่จะมีสิ่งต่างๆ ให้คุณเลือก เท่านี้ยังไม่พอ สนนราคาของอาหารจานต่างๆ ตลอดจน Promotion ของร้านอาหารต่างๆ นั้น ทันสมัยอยู่เสมอ ยิ่งไปกว่านั้นเราอาจจะนั่งอยู่ที่บ้านเพื่อจองที่นั่งสำหรับร้านอาหารในดวงใจได้ เรามาลองดูว่า ร้านอาหาร.com ทำงานได้อย่างไร

  ในยุคปัจจุบันนั้นถ้าร้านอาหาร.com สามารถทำงานใด้โดยการรวบเอาข้อมูลทุกอย่างไว้ในตัวเอง ซึ่งข้อมูลนั้นมักจะไม่ Update และการจองที่นั้นเลิกคิดไปเลย แต่ในอนาคตอันใกล้นี้ ร้านอาหาร.com นั้นจะไม่บวมขนาดนั้น ร้านอาหาร.com เป็นเพียงตัว Integrator เท่านั้น ส่วนข้อมูลต่างๆ ของแต่ละร้านนั้น ก็จะอยู่ที่ Web Site ของแต่ละร้านนั่นเอง เมื่อมีนักชิมค้นหาคำว่าหูฉลาม ร้านอาหาร.com จะใช้ Web Service เพื่อติดต่อไปยัง Web Service ของร้านต่างๆ เพื่อขอข้อมูล และนำข้อมูลเหล่านั้นเพื่อนำมาแสดงให้นักชิมดู ดังนั้นด้วยวิธีนี้จึงไม่ใช่เรื่องแปลกที่เราจะสามารถสั่งจองโต๊ะจากร้านต่างๆ โดยใช้บริการของร้านอาหาร.com มันดูคล้ายๆ กับ Search Engine แต่ทำงานได้ลึกกว่ามาก คอยดูให้ดีครับ Web Site แบบ Integrator นี้ จะผุดขึ้นเป็นดอกเห็ดในปีหน้า ใครทำก่อนรวยก่อนครับ แต่อย่าลืมมาแบ่งผมบ้างนะครับ

    นี่เป็นวิสัยทัศน์ของ Microsoft เกี่ยวกับ Web Service ครับ ใจจริงผมอยากเขียนเรื่องเกมส์ที่ทาง devx.com และ Microsoft ร่วมมือกันสร้าง เพื่อเอาไว้สอนเรื่อง Web Service แต่วันนี้เอาเท่านี้ก่อน เอาไว้ตอนหน้าครับ