Tags:
Node Thumbnail

เมื่อวันที่ 10 - 11 ธันวาคม พ.ศ. 2551 ที่ผ่านมา ผมได้เข้าคอร์สอบรมของไมโครซอฟท์ ในหัวข้อ Live Services Jumpstart 2009 จัดขึ้นที่โรงแรมแมริออท ประเทศสิงคโปร์ ทั้งนี้ Live Services Jumpstart จัดว่าเป็นการอบรมครั้งยิ่งใหญ่ของไมโครซอฟท์ เพราะจัดอบรมในเวลาไล่เลี่ยกันในหลายประเทศ และใช้งบในการจัดอบรมไม่น้อยทีเดียว (ดูจากจำนวนผู้เข้าอบรม และสถานที่อบรมกับอาหารชั้นดี) ขอแนะนำสั้นๆก่อนว่า การอบรมนี้เป็นภาคปฏิบัติที่แนะนำให้นักพัฒนาซอฟต์แวร์เข้าใจวิธีการพัฒนาแอพพลิเคชันเพื่อทำงานอยู่บน "กลุ่มเมฆของไมโครซอฟท์"

ต่อไปนี้ ผมจะใช้คำว่า "กลุ่มเมฆ" แทนแพลตฟอร์มของฮาร์ดแวร์และซอฟต์แวร์ที่ทำงานอยู่บนเครือข่ายอินเทอร์เน็ต เพื่อให้บริการในรูปแบบต่างๆแก่ผู้ใช้

การอบรม Live Services Jumpstart

Live Services Jumpstart เป็นคอร์สอบรมภาคปฏิบัติ ส่วนใหญ่ผู้เข้าอบรมเป็นบริษัทพาร์ทเนอร์ของไมโครซอฟท์ ส่วนบริษัทอื่นๆหรือบุคคลทั่วไปก็สามารถลงทะเบียนเข้าอบรมได้ด้วยเช่นกัน โดยไม่เสียค่าลงทะเบียนใดๆทั้งสิ้น ซึ่งเนื้อหาอบรมจะเน้นไปที่ แนวทางการพัฒนาแอพพลิเคชันด้วยเครื่องมือต่างๆที่จัดเตรียมโดย Live Services สำหรับตารางหัวข้ออบรม ท่านสามารถดูได้จาก Agenda สำหรับข้อมูลอื่นๆของการอบรมสามารถดูได้ที่เว็บ lsjumpstart.com

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

สำหรับผู้ที่สนใจศึกษาวิธีการพัฒนาโปรแกรมด้วย Live Services จริงๆ ท่านสามารถศึกษาได้ด้วยตนเองที่ MSDN

Windows Live กับ Live Services

ก่อนที่จะลงรายละเอียดของเนื้อหาอบรมจริงๆ ผมขออธิบายความหมายของ Windows Live กับ Live Services

Windows Live เป็นบริการบนอินเทอร์เน็ต สำหรับหน้าเว็บหลักของ Windows Live อยู่ที่ home.live.com ส่วน live.com เป็นหน้าหลักของบริการ Live Search หากจะลงรายละเอียดไปอีกนิดนึง Windows Live ก็คือ ศูนย์กลางของบริการต่างๆที่ทำงานอยู่บนกลุ่มเมฆของไมโครซอฟท์ โดยมีบริการอยู่หลายตัวด้วยกันตามที่แสดงไว้ในภาพต่อไปนี้ ก่อนอื่นขอบอกไว้ล่วงหน้าก่อนว่า บริการบนกลุ่มเมฆของไมโครซอฟท์ไม่ได้มีแค่เพียง Windows Live เท่านั้น แต่ยังมีบริการอื่นอีก ซึ่งจะกล่าวในรายงานนี้นิดหน่อยในส่วนของ Azure

alt="alt text"

ผมเชื่อว่าหลายท่านรู้จักและได้ใช้หรือกำลังใช้บริการของ Windows Live กันแล้ว บริการของ Windows Live มีมากมาย อันได้แก่ Windows Live Hotmail, Windows Live Calendar, Windows Live Alerts, Windows Live Favorites, Windows Live SkyDrive, Windows Live Spaces, Windows Live Messenger และอีกมากมาย (เคยใช้กันหมดหรือยังครับ) ส่วนท่านที่สนใจข้อมูลเพิ่มเติม สามารถอ่านข้อมูลคร่าวๆได้ที่ Wikipedia

ส่วน Live Services คือ ศูนย์กลางของเครื่องมือสำหรับพัฒนาแอพพลิเคชันที่สามารถเข้าถึงผู้คนที่มีมากกว่า 400 ล้านรายที่กำลังใช้บริการต่างๆของ Windows Live อยู่ ถ้าหากมองความสัมพันธ์ระหว่าง Windows Live กับ Live Services แล้วจะกล่าวได้ว่า Live Services จัดเตรียมเครื่องมือสำหรับการพัฒนาแอพพลิเคชันเพื่อเรียกบริการของ Windows Live ทั้งนี้ หน้าเว็บหลักของ Live Services จะอยู่ที่ dev.live.com

เกาะทั้งสี่

การอบรมเริ่มที่การอธิบายถึง การดำรงชีวิตในยุคดิจิตอล (digital lives) ที่ต้องเกี่ยวข้องกับองค์ประกอบทั้งหมด 4 กลุ่ม ซึ่งไมโครซอฟท์เรียกแต่ละกลุ่มว่า เกาะ (island) ได้แก่ เกาะของผู้คน (people), เกาะของอุปกรณ์ (devices), เกาะของแอพพลิเคชัน (applications), และ เกาะของข้อมูลที่เป็นหนึ่งเดียวกัน (data synchronization) โดยเกาะทั้งสี่นี้ก็คือวิสัยทัศน์ของไมโครซอฟท์ และไมโครซอฟท์ตั้งเป้าหมายไว้ว่าต้องพิชิตเกาะทั้งสี่นี้ให้ได้ ด้วยการรวมเกาะทั้งสี่ภายใต้กลุ่มเมฆเดียวกัน ซึ่งไมโครซอฟท์เรียกกลุ่มเมฆของตนว่า Azure

  • เกาะของผู้คน คือ มนุษย์ที่ใช้ชีวิตในยุคดิจิตอล

  • เกาะของอุปกรณ์ เกิดจากการที่ไมโครซอฟท์เล็งเห็นว่าเกาะ people เป็นเจ้าของหรือมีส่วนเกี่ยวข้องกับอุปกรณ์หรือ device เป็นอย่างมาก ตัวอย่่างของอุปกรณ์ ได้แก่ โทรศัพท์มือถือ (อย่าง Windows Mobile), พีดีเอ (เช่น Pocket PC), เครื่องเกมคอลโซล (เช่น XBOX 360), โทรทัศน์, เครื่อง set-top-box, Microsoft Surface, เครื่องเล่น MP3 แบบพกพา (เช่น Zune) และอุปกรณ์ไฟฟ้าต่างๆ

  • เกาะของแอพพลิเคชัน เป็นเกาะของกลุ่มซอฟต์แวร์ ซึ่งต้องยอมรับเลยว่า ไมโครซอฟท์เป็นเจ้าพ่อที่สร้างสรรค์ผลิตภัณฑ์ซอฟต์แวร์หลากหลายประเภทและครอบคลุมความต้องการได้อย่างกว้าง ตั้งแต่ Microsoft Windows สำหรับเป็นระบบปฏิบัติการ, Microsoft Office สำหรับจัดการงานเอกสารสำนักงาน, Microsoft Encarta สำหรับการศึกษา, และซอฟต์แวร์เกมต่างๆในเครือ Microsoft Game Studios เป็นต้น

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

วิสัยทัศน์ของไมโครซอฟท์ คือ เกาะทั้งสี่ ได้แก่

People, Devices, Applications, Data Synchronization

ผมขอเปรียบเทียบเกาะทั้งสี่ของไมโครซอฟท์ กับ กลยุทธ์ C3 ​​(Client Connectivity Cloud) ของกูเกิล ขออ้างอิงจากรายงาน Google Developer Day 2008 นำเสนอโดย mk

กูเกิลมีวิสัยทัศน์ว่า ผู้ใช้ ซึ่งเทียบได้กับ "เกาะของผู้คน" สามารถเข้าถึงบริการต่างๆที่ทำงานบนกลุ่มเมฆของกูเกิลผ่านเบราว์เซอร์ ทั้งนี้บริการของกูเกิลก็เทียบได้กับ "เกาะของแอพพลิเคชัน" โดยมีเบราว์เซอร์ทำหน้าที่เป็น client หรือตัวแทนของผู้คนในการเข้าถึงบริการต่างๆ และกูเกิลก็มี Gears สำหรับประสานข้อมูลระหว่างกลุ่มเมฆ กับ client ซึ่งเทียบได้กับ "เกาะของข้อมูลที่เป็นหนึ่งเดียวกัน" นอกจากนี้แล้ว กูเกิลยังมี Android ซึ่งเป็นแพลตฟอร์มที่ทำให้ผู้คนเข้าถึงบริการผ่านโทรศัพท์มือถือได้อีกด้วย และอุปกรณ์อย่างโทรศัพท์มือถือก็เทียบได้กับ "เกาะของอุปกรณ์"

กลุ่มเมฆของไมโครซอฟท์ ในนามว่า Azure

Azure คือ กลุ่มเมฆของไมโครซอฟท์ มีสถาปัตยกรรมดังภาพต่อไปนี้

alt="alt text"

ภาพรวมของสถาปัตยกรรมAzure มีอยู่ 3 ชั้น โดยชั้นล่างจะให้บริการงานเฉพาะทางแก่ชั้นบน ขออธิบายจากชั้นล่างขึ้นบน ดังนี้

  • Windows Azure คือ ระบบปฏิบัติการของกลุ่มเมฆ

  • องค์ประกอบหลักทั้งห้า (หรือ building blocks ทั้งห้า) ประกอบด้วยเฟรมเวิร์คและรันไทม์สำหรับการทำงานของบริการและซอฟต์แวร์ต่างๆที่อยู่ชั้นบนสุด ซึ่งแบ่งออกเป็น 5 ประเภท อันได้แก่ Live Services, .NET Services, SQL Services, Sharepoint Services, และ CRM Services โดยเราจะเรียกองค์ประกอบในชั้นนี้กับชั้นของ Windows Azure รวมกันว่า Azure Services Platform

  • ชั้นบนสุด เป็นซอฟต์แวร์และบริการที่ใช้โดยเกาะทั้งสี่ตามที่กล่าวไปแล้ว ทั้งนี้ การอบรมจะครอบคลุมเพียง Windows Live

ขออนุญาตไม่ลงรายละเอียดของ Azure เพราะผมยังไม่ได้มีโอกาสริวิวมันแบบจริงจัง ดังนั้น ขอย้อนกลับมาที่ Live Services อันเป็นหัวข้อหลักของการอบรมนะครับ

พัฒนาแอพพลิเคชันด้วย Live Services

ขอกล่าวถึง Live Services แบบกว้างๆว่า Live Services เป็น ชุดพัฒนาซอฟต์แวร์ที่ประกอบด้วยเฟรมเวิร์คและ API มากมายสำหรับการพัฒนาแอพพลิเคชันเพื่อเข้าถึงบริการต่างๆของ Windows Live และยังมีชุดพัฒนาสำหรับการประสานข้อมูลระหว่างอุปกรณ์ต่างๆ ทั้งนี้ Live Services ได้จัดเตรียมเครื่องมือสำหรับพัฒนาแอพพลิเคชันโดย Visual Studio .NET และที่สำคัญไปกว่านั้น Live Services ยังจัดเตรียมวิธีการพัฒนาแอพพลิเคชันที่อิงกับมาตรฐานสากล ทำให้รองรับภาษาคอมพิวเตอร์และแพลตฟอร์มอื่นๆได้อีกด้วย

alt="alt text"

ภาพข้างบน แสดงองค์ประกอบของ Live Services ทั้งหมด 6 องค์ประกอบด้วยกัน คือ Identity, Directory, Storage, Communications and Presence, Search and Geospatial, และ Mesh Services ผมจะไม่ลงรายละเอียดขององค์ประกอบทั้งหมดนี้ ผมเพียงอยากแสดงให้เห็นว่า แต่ละองค์ประกอบได้จัดเตรียมเครื่องมือและวิธีการพัฒนาซอฟต์แวร์ (เช่น API) ไว้สำหรับเรียกบริการเฉพาะทางที่อยู่บนกลุ่มเมฆ มาดูตัวอย่างส่วนหนึ่งของเครื่องมือเหล่านี้ว่ามีอะไรบ้าง

  • Windows Live ID SDK สำหรับจัดการข้อมูลประจำตัวของผู้ใช้ (ผู้ใช้อยู่บนเกาะของผู้คน) ที่เรียกว่า Windows Live ID (ชื่อเดิมคือ Microsoft Passport) ซึ่งตอนนี้สนับสนุน OpenID แล้วด้วย

  • Live Framework SDK สำหรับพัฒนาแอพพลิเคชันที่เรียกว่า Mesh-enabled ซึ่งจะกล่าวต่อไป

  • Live Search API สำหรับพัฒนาแอพพลิเคชันเพื่อค้นหาข้อมูลผ่านบริการ Live Search

  • Microsoft Virtual Earth SDK สำหรับพัฒนาแอพพลิเคชันเพื่อค้นหาข้อมูลอย่างเช่น ค้นหาแผนที่ของสถานที่ และพิกัดเส้นรุ่งเส้นแวงของสถานที่ ผ่านบริการของ Microsoft Virtual Earth

  • Live Services Communications and Messaging APIs สำหรับพัฒนาแอพพลิเคชันเพื่อรับส่งข้อความระหว่าง Windows Live Messenger, กำหนดสถานะของผู้ใช้ (Windows Live Presence), และรับส่งข้อความแจ้งเตือนของบริการ Windows Live Alerts นอกจากนี้แล้ว ยังจัดเตรียมไลบรารี JavaScript สำหรับพัฒนาโปรแกรมให้มีความสามารถอย่าง Windows Live Messenger อีกด้วย

  • Windows Live Spaces SDK สำหรับพัฒนาแอพพลิเคชันสำหรับจัดการข้อมูลข่าวสารบนบริการ Windows Live Spaces

  • Silverlight Streaming SDK สำหรับพัฒนาแอพพลิเคชันเพื่อจัดการไฟล์ที่อยู่บนบริการ Silverlight Streaming (เป็นบริการคล้ายๆ YouTube)

เราสามารถสร้างแอพพลิเคชันโดยใช้ API หลายชนิดเพื่อเข้าถึงบริการที่หลากหลายพร้อมกันได้ ท่านสามารถดูตัวอย่างของเว็บแอพพลิเคชันที่ใช้ Live Services ได้ที่ Quick Applications ในนั้นมีแอพพลิเคชันกว่า 10 ตัวให้เราได้ชม โดยกดที่ลิงค์ชื่อ Tour the Demo Site ของแอพพลิเคชันที่เราต้องการชม ลองเริ่มดูสาธิตที่ Tifiti และ Contoso Bicycle Club และถ้าท่านไม่สามารถเปิดแอพพลิเคชันบางตัวใน Quick Applications ได้ แนะนำว่าให้ท่าน sign in ด้วย Windows Live ID ของท่านผ่านการกดที่แท็ปชื่อ sign in นอกจากนี้ แอพพลิเคชันอาจต้องใช้ Silverlight ดังนั้นอย่าลืมติดตั้ง Silverlight ด้วย เท่าที่ผมทดลองใช้งาน แอพพลิเคชันเหล่านี้จะทำงานได้ดีบน IE และ Firefox

วิทยากรได้สาธิตวิธีการใช้เครื่องมือพัฒนาของ Live Services เพื่อเรียกบริการต่างๆ เริ่มตั้งแต่ Live ID, Live Search, Virtual Earth, Messenger, Presence, Alerts และ Silverlight Streaming ตามลำดับ ซึ่งหัวข้อทั้งหมดนี้ได้ถูกอบรมแบบอัดแน่นภายในวันเดียว นั่นคือวันแรกของการอบรม ส่วนวันที่สองซึ่งเป็นวันสุดท้ายจะเน้นไปที่ Live Framework SDK อันเป็นเครื่องมือพัฒนาที่เกี่ยวข้องกับ Live Mesh

เชื่อมทุกเกาะด้วย Live Mesh

alt="alt text"

Live Mesh คือ ระบบสำหรับประสานข้อมูลระหว่างแอพพลิเคชันและอุปกรณ์ต่างๆ หรือกล่าวอีกนัยหนึ่ง คือ เชื่อมเกาะต่างๆให้อยู่ภายใต้กลุ่มเมฆเดียวกัน (นั่นคือ Azure) มากไปกว่านั้น Live Mesh ยังทำให้ผู้ใช้สามารถใช้งานแอพพลิเคชันได้ทุกเวลาแม้ว่าจะเชื่อมต่อหรือไม่เชื่อมต่อกับอินเทอร์เน็ตก็ตาม ทำให้ผู้ใช้สามารถเปิดดูข้อมูลและแก้ไขข้อมูลได้ โดยไม่ต้องกังวลว่าอุปกรณ์ต้องเชื่อมต่อกับอินเทอร์เน็ตตลอดเวลา แต่ทว่า การเชื่อมต่ออินเทอร์เน็ตจะทำให้ผู้ใช้ได้ข้อมูลที่ทันสมัย ทั้งนี้ เราจะเรียกแอพพลิเคชันที่สนับสนุนการประสานข้อมูลโดย Live Mesh ว่า Mesh-enabled (เวลาผมฟังวิทยากรออกเสียงคำนี้ เขาออกเสียงคล้ายคำว่า Meshable)

วิทยากรได้เปิดวิดีโอแนะนำ Live Mesh ด้วย อาทิเช่น วิดีโอชื่อ Synchronizing life ต่อไปนี้ (ผมเอามาจาก YouTube แนะนำให้เปิดดูแบบ HD)

คลิปวิดีโออีก 2 คลิปที่วิทยากรเปิดให้ดูช่วงพัก ดูได้จาก Channel 9 MSDN ในหัวข้อ Ori Amiga: Programming the Mesh และ Ori Amiga: Mesh Mobile

ลองเข้าไปใช้บริการ Live Mesh ได้ที่ mesh.com ผมเชื่อว่าหลายท่านในที่นี้ได้ลองใช้ Live Mesh แล้ว และเชื่อว่าหลายท่านยังไม่ประทับใจในความสามารถของ Live Mesh แต่ทางวิทยากรบอกว่า ตอนนี้ Live Mesh ยังอยู่ในช่วงทดลอง (หรือเบต้า) ดังนั้น ความสามารถของ Live Mesh ยังจำกัดอยู่เยอะ

เมื่อเราเข้าไปที่ Live Mesh ด้านบนจะมีแท็ปชื่อ Desktop กับ Devices ในส่วนแท็ป Devices เราสามารถเพิ่มอุปกรณ์ (ได้แก่ คอมพิวเตอร์, โทรศัพท์มือถือ, และอุปกรณ์อื่นๆ) ที่เราต้องการประสานข้อมูลระหว่างอุปกรณ์เหล่านั้น ส่วนแท็ป Desktop เป็นการเข้าไปจัดการ Desktop (เหมือน Desktop ของระบบปฏิบัติการ) ซึ่งเรียกว่า Mesh Desktop ส่วนนี้ เราสามารถสร้างโฟลเดอร์ใหม่ อัพโหลดไฟล์เข้าโฟลเดอร์ โพสต์ข้อความลงโฟลเดอร์ และอัพโหลดแอพพลิเคชันใหม่ๆลงไปได้ ซึ่งข้อมูลและแอพพลิเคชันเหล่านี้สามารถซิงค์หรือประสานให้อุปกรณ์ทุกตัวที่เราใส่ในแท็ป Devices สามารถได้รับข้อมูลเดียวกัน (ทั้งโฟลเดอร์ ไฟล์ ข้อความ และแอพพลิเคชัน)

ใน Live Mesh คำว่า ประสานข้อมูลหรือซิงค์ข้อมูล หมายถึง เป็นการประสานทุกสิ่งทุกอย่างที่อยู่บน Mesh Desktop ให้ทุกๆอุปกรณ์มองเห็นและใช้งานเหมือนกัน ในเวอร์ชันเบต้าของ Live Mesh เราอาจไม่เห็นอะไรมากมายนัก แต่ในเวอร์ชันเต็ม เราจะไม่ได้เห็นแค่เพียงโฟลเดอร์วางอยู่บน Mesh Desktop เท่านั้น แต่ว่าจะมีแอพพลิเคชันที่หลากหลายวางอยู่บน Mesh Desktop อีกด้วย ซึ่งแอพพลิเคชันเหล่านี้ก็เหมือนกับแอพพลิเคชันที่ทำงานได้บนคอมพิวเตอร์ทั่วๆไป เช่น Notepad, Calculator, Paintbrush, Windows Media Player, เกม, หรือแม้แต่ Microsoft Office เป็นต้น และเราสามารถซิงค​์ให้อุปกรณ์ทุกๆเครื่องมีแอพพลิเคชันแบบเดียวกันได้

คำถามมีอยู่ว่าเราจะพัฒนาแอพพลิเคชันบน Mesh Desktop ได้อย่างไร ? คำตอบคือ Ajax กับ Silverlight ซึ่งจะอยู่ในหัวข้อ Live Framework

สร้าง Mesh ด้วย Live Framework

alt="alt text"

Live Framework หรือเรียกสั้นๆว่า Live FX (ก่อนหน้านี้เรียกว่า Mesh FX) เป็นเครื่องมือสำหรับการพัฒนาซอฟต์แวร์เพื่อการประสานข้อมูลระหว่างเกาะต่างๆ กล่าวอีกนัยหนึ่งคือ Live FX เอาไว้พัฒนาแอพพลิเคชันให้มีความสามารถแบบ Mesh-enabled โดย Live FX จะจัดเตรียมวิธีการพัฒนาที่อิงกับมาตรฐานหรือเป็นที่ยอมรับกว้างขวาง อาทิเช่น REST, [Atom](http://en.wikipedia.org/wiki/Atom_(standard)), JSON, RSS, POX, และ FeedSync และแน่นอน Live FX ยังมี API สำหรับสาวก .NET นอกจากนี้ Live FX ยังจัดเตรียม API สำหรับพัฒนาแอพพลิเคชันบน Mesh Desktop ด้วย Ajax และ Silverlight อีกด้วย

โจทย์ปัญหาที่ว่าจะทำอย่างไรให้ประสานข้อมูลระหว่างอุปกรณ์ที่มีอยู่หลากหลายชนิดได้ คำตอบของไมโครซอฟท์คือ​ จัดเตรียมวิธีการพัฒนาซอฟต์แวร์ที่อิงกับมาตรฐานดั่งที่กล่าวไปแล้ว ดังนั้น นักพัฒนาต้องเข้าใจการจัดการข้อมูลด้วย REST และมีวิธีจัดการรูปแบบของการนำเสนอข้อมูลอย่างใดอย่างหนึ่ง ได้แก่ Atom, JSON, RSS และ POX และก็เข้าใจโปรโตคอล FeedSync ซึ่งวิธีการเหล่านี้ก็ไม่ได้จำกัดภาษาคอมพิวเตอร์หรือแพลตฟอร์มที่จะใช้ในการพัฒนาเลย

แผนภาพข้างล่างนี้แสดงให้เห็นถึงแพลตฟอร์มและภาษาคอมพิวเตอร์ส่วนหนึ่งที่เอาไปใช้กับ Live FX ได้ ซึ่งไมโครซอฟท์เรียกการพัฒนาแอพพลิเคชันด้วย Live FX ว่าเป็นแบบ "Write Once, Run Anywhere" อย่างไรก็ดี ไมโครซอฟท์ก็ไม่ลืมที่จะจัดเตรียม API สำหรับนักพัฒนาที่ต้องการใช้ .NET Framework

alt="alt text"

สถาปัตยกรรมของ Live FX ออกจะซับซ้อน ผมเลยไม่แสดงภาพไว้ในที่นี้ ท่านใดสนใจสามารถเปิดดูจากลิงค์ต่อไปนี้ สถาปัตยกรรม Live FX ฉบับย่อ กับ ฉบับเต็ม

การอบรมได้จบที่ภาคปฏิบัติ โดยผู้เข้าอบรมต้องเขียนแอพพลิเคชันเล็กๆให้ทำงานบน Mesh Desktop นั่นคือแอพพลิเคชันสำหรับโหลดรูปภาพที่เก็บอยู่บน Flickr ขึ้นมาแสดง จากนั้น วิทยากรกล่าวว่า ถ้าหากเราสามารถพัฒนาแอพพลิเคชันบน Mesh Desktop ได้ ก็เป็นเรื่องที่ไม่ยากเลยที่เราจะพัฒนาแอพพลิเคชันลักษณะเดียวกันให้รันบนแพลตฟอร์มหรืออุปกรณ์อื่นๆ เช่น iPhone, Android, XBOX 360, PlayStation 3, Linux และ Mac OS X เป็นต้น แน่นอนว่าเราไม่จำเป็นต้องใช้ Siverlight หรือ Ajax ในการสร้างแอพพลิเคชัน เราอาจจะใช้ Java FX, Adobe AIR, C++, หรือตัวอื่นๆก็ได้ ขอเพียงแค่ภาษาคอมพิวเตอร์หรือเฟรมเวิร์คสามารถพัฒนาแอพพลิเคชันที่เข้าใจมาตรฐานในการจัดการข้อมูลดั่งที่ได้กล่าวไว้ก็พอ

หลังการอบรม

หลังจบการอบรม ในขณะที่ผมกำลังเดินทางกลับบ้าน ผมหวนคิดถึงเนื้อหาในหนังสือที่ผมเพิ่งอ่านไป ชื่อ The Big Switch Rewiring the World, from Edison to Google ในหนังสือได้อ้างถึงไมโครซอฟท์ในบทที่ 4 ชื่อ Goodbye, Mr. Gates ซึ่งกล่าวไว้ว่า ในวันที่ 30 ตุลาคม ปี พ.ศ. 2548 บิล เกตส์ ได้ส่งสารถึงบรรดาผู้บริหารระดับสูงและทีมวิศวกรของไมโครซอฟท์ ให้เริ่มแผนกลยุทธ์เทคโนโลยี ภายใต้ชื่อ "Internet Software Services" ซึ่งนับว่าเป็นจุดเริ่มต้นก่อนไมโครซอฟท์ก้าวเข้าสู่ยุค "กลุ่มเมฆ" ผมเรียบเรียงใจความสำคัญส่วนหนึ่งของข้อความที่เกตส์ได้ส่งถึงกองทัพไมโครซอฟท์ไว้ว่า

เราไม่จำเป็นต้องติดตั้งซอฟต์แวร์ที่คอมพิวเตอร์ของเราเอง แต่เราสามารถใช้ซอฟต์แวร์ที่ให้บริการบนเครือข่ายอินเทอร์เน็ตโดยองค์กรที่สาม (third-party company) และผู้ให้บริการสามารถรองรับผู้ใช้ได้เป็นหลักสิบล้านถึงร้อยล้านรายพร้อมๆกันได้ ซึ่งนี่จะเป็นเทคโนโลยีดิสรัปทีฟ (disruptive technology) ที่ครองตลาดและถูกใช้กันอย่างกว้างขวางต่อไป

จากข้อความดังกล่าว ผมมีความเห็นว่า การอบรม Live Services Jumpstart ครั้งนี้คงจะสอดคล้องกับแผนที่เกตส์เคยวางไว้เมื่อ 3 ปีก่อน โดยการอบรมนี้ก็เสมือนเป็นการสอนหรือสร้างกองกำลังเสริมของไมโครซอฟท์ ซึ่งเป็นกองกำลังที่ประกอบด้วยบุคคลภายนอก (นอกบริษัทไมโครซอฟท์) เป็นการอบรมให้กองกำลังเรียนรู้วิธีพัฒนาแอพพลิเคชันเพื่อทำงานกับ "กลุ่มเมฆของไมโครซอฟท์" การอบรมครั้งนี้ นับว่าเป็นกลยุทธ์ที่ชาญฉลาดเลยทีเดียว เพราะด้วยทีมพัฒนาซอฟต์แวร์ของไมโครซอฟท์เพียงลำพัง คงมีกำลังไม่มากพอที่จะนำกลุ่มเมฆของตนครอบครองเครือข่ายอินเทอร์เน็ตให้เป็นกลุ่มเมฆอันดับหนึ่งได้ ทั้งนี้ การยืมมือของกองกำลังเสริม ต้องเริ่มจากการปูทางให้กองกำลังเสริมได้ "เริ่มกระโดด" (Jumpstart) เข้ามาใน Live Services ซึ่งนับว่าเป็นการซ้อมรบครั้งยิ่งใหญ่ของไมโครซอฟท์ในศึกสงครามกลุ่มเมฆเลยก็ว่าได้

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

Get latest news from Blognone

Comments

By: tomazzu
AndroidUbuntu
on 16 December 2008 - 10:30 #75978

ขอบคุณครับ

http://tomazzu.exteen.com

By: wiennat
Writer
on 16 December 2008 - 11:04 #75988

สุดท้าย HTTP ต่างหากที่ทำให้ Write once, Run anywhere.

แน่ยิ่งกว่าแช่แป้ง

ว่าแต่ เดโมของ ไมโครซอฟท์แต่ก็ยังเอารูปจาก flickr มาใช้ มันบอกถึงอะไรได้บ้างเนี่ย

onedd.net


onedd.net

By: javaboom
WriteriPhone
on 16 December 2008 - 11:39 #75993 Reply to:75988
javaboom's picture

:) อิอิ คำถามดีครับ เรื่องเดโมเอารูปมาจาก flickr

ผมคิดเอาเองนะ เหมือนเขาอยากบอกว่า Live FX เชื่อมกับเว็บนอกเครือไมโครซอฟท์ได้ด้วย และถ้ามองอีกแง่ Flickr เองสนับสนุนการใช้ REST ซึ่งเข้าทาง Live FX พอดี

ส่วนในมุมของวิทยากรที่มาบรรยาย เขาเองก็ใช้ Flickr ครับ (ผมว่า ก็คงเหมือนไอบีเอ็มใช้ MS Office) มากไปกว่านั้น ตัววิทยากรเองยังเป็น "I'm Mac" เลยครับ ดูได้จากภาพนี้ ภาพอาจไม่ชัด เขาเอาสติกเกอร์ใสกลมมาแปะทับรูปแอปเปิล จากนั้นก็เอาสติกเกอร์ IE มาแปะที่มุม อย่างไรก็ดี วิทยากรใช้ Vista ในตอนบรรยายครับ

JavaBoom (Boom is not Java, but Java was boom)
http://javaboom.wordpress.com


My Blog

By: wiennat
Writer
on 17 December 2008 - 21:48 #76254 Reply to:75993

หุหุ ผมเกรงว่าต่อไป Flickr จะกลายเป็นของไมโครซอฟท์นี่สิ ยิ่งมีข่าวไม่ค่อยดีจากทางยาฮู! อยู่ด้วย

onedd.net


onedd.net

By: javaboom
WriteriPhone
on 17 December 2008 - 22:07 #76261 Reply to:76254
javaboom's picture

เป็นไปได้ครับ เคยได้ยินคำว่า Microsoft Flickr ตอนแรกก็เคยคิดเลยว่าเป็นของไมโครซอฟท์ ดังนั้น ท่าทางจะเป็นไปได้มากครับ

JavaBoom (Boom is not Java, but Java was boom)
http://javaboom.wordpress.com


My Blog

By: polaromonas
ContributorWindows PhoneWindows
on 16 December 2008 - 12:07 #76010

ฮาในคลิปอยู่อย่างหนึ่ง ตัวพ่อที่ใช้ Macbook AIR กลับมี Zune อยู่ในกระเป๋า -*-

By: loptar on 16 December 2008 - 12:16 #76011
loptar's picture

thanks a lot :-)

ได้ความรู้มาอีกเพียบเลยครับ

By: goommt on 16 December 2008 - 20:21 #76085

เล่นแรงแฮะงวดนี้ เล็กนุ่มนี่เดินหมากแต่ละทีเขย่าโลกตลอด

By: pawinpawin
Writer
on 16 December 2008 - 21:58 #76098

ว่าแล้วว่าครั้งนี้เอาจริงแน่ๆ

ว่าแต่เวลาใช้จริงแต่ละบริการมันอืดกว่าฝั่ง Google เยอะเลย (ขนาดแค่จะเขียนอีเมลสักฉบับยังต้องรอโหลดตั้งนาน) สรุปก็ใช้บริการของ Google ต่อไป

___________pawinpawin

By: javaboom
WriteriPhone
on 17 December 2008 - 12:56 #76168 Reply to:76098
javaboom's picture

ที่กูเกิลเร็ว เพราะกูเกิลมันมีฮับที่สิงคโปร์ครับ โดยเฉพาะถ้าเป็นเครือข่ายที่ใช้ในองค์กรศึกษาและวิจัย (R&E) ของไทย มันจะต้องผ่านฮับที่สิงคโปร์คือ SingAREN ก่อนครับ โดย SingAREN ต่อเข้ากับญี่ปุ่นแล้วไปโผล่อเมริกา แล้วเชื่อมเข้า Internet 2 อ้างอิง มากไปกว่านั้น SingAREN มันต่อตรงกับกูเกิลเลย ก็เพิ่งมีได้ไม่นานมานี้เองครับ อ้างอิง ดังนั้น ตอนนี้การต่อเข้ากูเกิลก็จะเร็วยิ่งกว่าไมโครซอฟท์หลายขุม

(ป.ล. ถ้าหากเล่นเน็ตต่อ ISP ท้องถิ่น อาจจะไม่วิ่งมาที่ SingAREN เพราะมันเป็น best-effort ถ้าต่อจากมหาลัยแล้วพบว่าช้า ก็ต้องดูว่าการจัดการ route ของมหาลัยเป็นอย่างไร และเรื่องคอขวดในเครือข่ายในมหาลัยด้วย)

มีอีกเรื่อง ถ้าอิงจากข่าวที่ผมกล่าวเรื่องสิ่งที่เกตส์พูดไว้เมื่อ ปี 2549 ณ ตอนนั้น สิ่งที่ทำให้เกตส์เปลี่ยนธรรมชาติของซอฟท์แวร์หลายตัวของตนวิ่งมาที่อินเทอร์เน็ต เหตุผลหนึ่ง (อาจจะไม่ใช่ทั้งหมด) มาจากกูเกิลครับ ในหนังสือได้รายงานโครงการลับของกูเกิล (ในเวลานั้น) ที่ได้สร้างศูนย์ข้อมูลระดับยักษ์ที่ Dalles, Oragon ศูนย์นั้นมีเครื่องคอมจำนวนมากที่ประมวลผลแบบขนาดโดยใช้ Map/Reduce ทำให้กูเกิลประมวลผลได้เร็วและรองรับผู้ใช้จำนวนมากได้

จากเหตุการณ์นี้เอง ทำให้บริษัทต่างๆ อย่างไมโครซอฟท์ ต้องขนลุก ถ้าหากว่ากูเกิลใช้ระบบดังกล่าวสร้างโซลูชันอะไรบางอย่าง ย่อมก่อให้เกิด disruptive technology ที่คาดไม่ถึง ในปีนี้ เราเลยพบว่า ไมโครซอฟท์ทุ่มงบกว่า 8 พันล้านเหรียฐ (และอีกหลายสิบพันล้านในอนาคตอันใกล้) เพื่อปั๊มศูนย์ข้อมูลหลายสิบแห่ง พร้อมคอมพิวเตอร์อีกหลายแสนเครื่อง เพื่อเพิ่มสมรรถนะของระบบครับ

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

JavaBoom (Boom is not Java, but Java was boom)
http://javaboom.wordpress.com


My Blog

By: Ford AntiTrust
ContributorAndroidBlackberryUbuntu
on 17 December 2008 - 13:36 #76193 Reply to:76168
Ford AntiTrust's picture

Microsoft น่าจะมาตั้งในไทยสักศูนย์นะครับ แต่คงกลัวโดนยึด ;P

Ford AntiTrust’s Blog | PHP Hoffman Framework

By: mk
FounderAndroid
on 17 December 2008 - 17:44 #76223 Reply to:76193
mk's picture

ไมโครซอฟท์ปิดเองตะหาก

By: lew
FounderJusci's WriterMEconomicsAndroid
on 17 December 2008 - 19:18 #76229 Reply to:76223
lew's picture

สงสัย ผอ. ต้องรับผิดชอบ?

LewCPE


lewcpe.com, @wasonliw