วันศุกร์ที่ 3 มกราคม พ.ศ. 2557

เรื่องความรู้เกี่ยวกับ Web Application, Search Engine




Web Application

1. ความหมายของ Web Application

               คือ การพัฒนาระบบงานบนเว็บ ซึ่งมีข้อดีคือ ข้อมูลต่าง ๆ ในระบบมีการไหลเวียนในแบบ Online ทั้งแบบ Local (ภายในวง LAN) และ Global (ออกไปยังเครือข่ายอินเตอร์เน็ต) ทำให้เหมาะสำหรับงานที่ต้องการข้อมูลแบบ Real Time ระบบมีประสิทธิภาพ แต่ใช้งานง่าย เหมือนกับท่านทำกำลังท่องเว็บ ระบบงานที่พัฒนาขึ้นมาจะตรงกับความต้องการกับหน่วยงาน หรือห้างร้านมากที่สุด ไม่เหมือนกับโปรแกรมสำเร็จรูปทั่วไป ที่มักจะจัดทำระบบในแบบกว้าง ๆ ซึ่งมักจะไม่ตรงกับความต้องการที่แท้จริง ระบบสามารถโต้ตอบกับลูกค้า หรือผู้ใช้บริการแบบ Real Time ทำให้เกิดความประทับใจ เครื่องที่ใช้งานไม่จำเป็นต้องติดตั้งโปรแกรมใด ๆ เพิ่มเติมทั้งสิ้น  ตัวอย่างระบบงานที่เหมาะกับเว็บ แอพพลิเคชั่น เช่น ระบบการจองสินค้าหรือบริการต่าง ๆ เช่น การจองที่พัก การจองโปรแกรมทัวร์ การจองแผ่น CD-DVD ฯลฯ ระบบงานบุคลากร ระบบงานแผนการตลาด ระบบการสั่งซื้อแบบพิเศษ ระบบงานในโรงเรียน เช่น ระบบงานวัดและประเมินผล ระบบงานปกครอง ระบบงานห้องสมุด ระบบการลงทะเบียน เช็คเกรด ฯลฯ ระบบงานอื่น ๆ ที่ต้องการนำข้อมูลมา Online   ค่าใช้จ่ายในการทำเว็บ แอพพลิเคชั่น ปกติจะใช้วิธีการคำนวณจากขอบเขตของระบบงาน และปริมาณของข้อมูลที่ไหลเวียนในระบบ รวมถึงปัจจัยด้านอื่น ๆ ซึ่งทางเว็บ โปรแกรมเมอร์จะคำนวณราคาออกเป็นงาน ๆ ไป ซึ่งส่วนใหญ่จะมีค่าใช้จ่ายต่าง ๆ ต่อไปนี้รวมกัน ค่าจัดทำระบบงาน ค่าชื่อโดเมน และ Web Hosting (ในกรณีจะนำระบบออกทางเครือข่ายอินเตอร์เน็ต) ค่าบริการหลังการขาย ค่า Hardware และอุปกรณ์ด้านเครือข่าย เพิ่มเติม อื่น ๆ




2. ลักษณะการทำงานของ Web Application

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

           ฝั่งเซิร์ฟเวอร์จะประกอบไปด้วยเว็บเซิร์ฟเวอร์ซึ่งทำหน้าที่เชื่อมต่อกับไคลเอนต์ตามโปรโตคอล  HTTP/HTTPS  โดยนอกจากเว็บเซิร์ฟเวอร์จะทำหน้าที่ส่งไฟล์ที่เกี่ยวเนื่องกับการแสดงผลตามมาตรฐาน HTTP ตามปกติทั่วไปแล้ว   เว็บเซิร์ฟเวอร์จะมีส่วนประมวลผลซึ่งอาจจะเป็นตัวแปลภาษา เช่น Script Engine ของภาษา PHP  หรืออาจจะมีการติดตั้ง .NET Framework ซึ่งมีส่วนแปลภาษา CLR (Common Language Runtime) ที่ใช้แปลภาษา intermediate จากโค้ดที่เขียนด้วย VB.NET หรือ C#.NET  หรืออาจจะเป็น J2EE  ที่มีส่วนแปลไบต์โค้ดของคลาสที่ได้จากโปรแกรมภาษาจาวา เป็นต้น 




 search engine
Search Engine คือ เครื่องมือการค้นหาข้อมูลผ่านอินเตอร์เน็ต ที่ทุกคนสามารถเข้าไปค้นหาข้อมูลผ่านอินเตอร์เน็ตก็ได้ โดย กรอก ข้อมูลที่ต้องการค้นหา หรือ Keyword (คีเวิร์ด) เข้าไปที่ช่อง Search Box แล้วกด Enter แค่นี้ข้อมูลที่เราค้นหาก็จะถูกแสดงออกมาอย่างมากมายก่ายกอง เพื่อให้เราเลือกข้อมูลที่เราโดนใจที่สุดเอามาใช้ งาน โดยลักษณะการแสดงผลของ Search Engine นั้นจะทำการแสดงผลแบบ เรียงอันดับ Search Results ผ่านหน้าจอคอมพิวเตอร์ของเรา
 
Search Engine มี 3 ประเภท

ประเภทที่ 1 Crawler Based Search Engines  คือ เครื่องมือการค้นหาบนอินเตอร์เน็ตแบบอาศัยการบันทึกข้อมูล และ จัดเก็บข้อมูลเป็นหลัก ซึ่งจะเป็นจำพวก Search Engine ที่ได้รับความนิยมสูงสุด เนื่องจากให้ผลการค้นหาแม่นยำที่สุด และการประมวลผลการค้นหาสามารถทำได้อย่างรวดเร็ว จึงทำให้มีบทบาทในการค้นหาข้อมูลมากที่สุดในปัจจุบัน โดยมีองค์ประกอบหลักเพียง 2 ส่วนด้วยกันคือ
          1. ฐานข้อมูล โดยส่วนใหญ่แล้ว Crawler Based Search Engine เหล่านี้จะมีฐานข้อมูลเป็นของตัวเอง ที่มีระบบการประมวลผล และ การจัดอันดับที่เฉพาะ เป็นเอกลักษณ์ของตนเองอย่างมาก
          2. ซอฟแวร์ คือ เครื่องมือหลักสำคัญที่สุดอีกส่วนหนึ่งสำหรับ Serch Engine ประเภทนี้ เนื่องจากต้องอาศัยโปรแกรมเล็กๆ ทำหน้าที่ในการตรวจหา และทำการจัดเก็บข้อมูล หน้าเพจ หรือ เว็บไซต์ต่าง ๆ ในรูปแบบของการทำสำเนาข้อมูล เหมือนกับต้นฉบับทุกอย่าง ซึ่งเราจะรู้จักกันในนาม  Spider หรือ Web Crawler หรือ Search Engine Robots เช่น www.google.com




ประเภทที่ 2 Web Directory หรือ Blog Directory คือ สารบัญเว็บไซต์ที่ให้สามารถค้นหาข่าวสารข้อมูล ด้วยหมวดหมู่ข่าวสารข้อมูลที่เกี่ยวข้องกัน ในปริมาณมากๆ คล้าย ๆ กับสมุดหน้าเหลือง ซึ่งจะมีการสร้าง ดรรชนี มีการระบุหมวดหมู่อย่างชัดเจน ซึ่งจะช่วยให้การค้นหาข้อมูลต่าง ๆ ตามหมวดหมู่นั้น ๆ ได้รับการเปรียบเทียบอ้างอิง เพื่อหาข้อเท็จจริงได้ในขณะที่เราค้นหาข้อมูล เพราะว่าจะมีเว็บไซต์มากมาย หรือ Blog มากมายที่มีเนื้อหาคล้าย ๆ กันในหมวดหมู่เดียวกัน ให้เราเลือกที่จะหาข้อมูลได้อย่างตรงประเด็นที่สุด (ลดระยะเวลาได้มากในการค้นหา) ตัวอย่างเช่น

    1. ODP หรือ Dmoz ที่หลาย ๆ คนรู้จัก ซึ่งเป็น Web Directory ที่ใหญ่ที่สุดในโลก Search Engine หลาย ๆ แห่งก็ใช้ข้อมูลจากที่แห่งนี้เกือบทั้งสิ้น เช่น Google, AOL, Yahoo, Netscape และอื่น ๆ อีกมากมาย ODP มีการบันทึกข้อมูลประมาณ 80 ภาษาทั่วโลก รวมถึงภาษาไทยด้วย (URL : http://www.dmoz.org )
     2. สารบัญเว็บไทย SANOOK ก็เป็น Web Directory ที่มีชื่อเสียงอีกเช่นกัน และเป็นที่รู้จักมากที่สุดในเมืองไทย(URL : http://webindex.sanook.com )



ประเภทที่ 3 Meta Search Engine  คือ Search Engine ที่ใช้หลักการในการค้นหาโดยอาศัย Meta Tag ในภาษาHTML ซึ่งมีการประกาศชุดคำสั่งต่าง ๆ เป็นรูปแบบของ Tex Editor ด้วยภาษา HTML นั่นเองเช่น ชื่อผู้พัฒนา คำค้นหา เจ้าของเว็บ หรือ บล็อก คำอธิบายเว็บหรือบล็อกอย่างย่อ ผลการค้นหาของ Meta Search Engine นี้มักไม่แม่นยำอย่างที่คิด เนื่องจากบางครั้งผู้ให้บริการหรือ ผู้ออกแบบเว็บสามารถใส่อะไรเข้าไปก็ได้มากมายเพื่อให้เกิดการค้นหาและพบเว็บ หรือ บล็อกของตนเองและอีกประการหนึ่งก็คือ มีการอาศัย Search Engine Index Server หลาย ๆ แห่งมาประมวลผลรวมกัน จึงทำให้ผลการค้นหาข้อมูลต่าง ๆ ไม่เที่ยงตรงเท่าที่ควร



2 ความคิดเห็น: