แสดงบทความที่มีป้ายกำกับ ASSIGNMENT10-1 แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ ASSIGNMENT10-1 แสดงบทความทั้งหมด

วันเสาร์ที่ 11 สิงหาคม พ.ศ. 2555

#10 ColdFusion Development


ขอขอบคุณ ที่มา  http://flexblog.teerasej.com
image
     ได้รับความนิยมและทันสมัยในชุดของผลิตภัณฑ์สำหรับการสร้างเว็บไซต์และเพจใช้ งานกับผู้ใช้ ด้วย ColdFusion บริษัทสามารถสร้างฐานข้อมูลเนื้อหาที่ใช้ต้นแบบนำเข้าและรวมสิ่งเหล่านี้ เข้าด้วยกันด้วยโปรแกรมประยุกต์เพื่อสร้างเว็บไซต์ซึ่งเว็บเพจได้รับการ พัฒนาแบบไดนามิคส์ ColdFusion ประกอบด้วย ColdFusion Studio ที่ใช้ในการสร้างไซต์ และ ColdFusion Server ที่ให้บริการเพจกับผู้ใช้ ColdFusion Studio ได้รับการอธิบายเป็น “integrated development environment (IDE) สมบูรณ์” และ ColdFusion Server เป็น “แพล็ตฟอร์มจัดวาง”
AdobeColdFusionคืออะไร?
image

· ถ้าคุณเคยเขียนโปรแกรม ผมก็จะบอกว่ามันคือภาษาฝั่ง server side แบบเดียวกับจำพวก ASP.NET, JSP, PHP,Django, และ Ruby on Rails แต่เพียงสร้างด้วยโครงสร้างภาษาของมันเองเหมือนกับตัวอื่นๆ
· แต่ถ้าคุณไม่เคยเขียนโปรแกรมมาก่อนเลย สรุปง่ายๆ มันคือ “โปรแกรม” ที่ตั้งเปิดตลอดเวลาในเครื่อง server มีจุดประสงค์ไว้เป็นที่อยู่ของพวก web site และ web application ต่างๆ ไว้ตอบสนองการใช้งานเวลาเราใช้ Web browser อย่าง IE, FireFox, หรือ Chrome เรียก URL เข้าไปนั่นเองครับ โดยเหล่านักพัฒนาโปรแกรมก็จะเขียน web application หรือ web site ตามที่เราต้องการใส่เข้าไปในตัวของมันนี่แหละ
AdobeColdFusionมีจุดเด่นด้านไหน?
เมื่อไหร่ที่จะถามจุดเด่นจาก Adobe จุดเด่นแรกๆ เลยนั่นคือความ “เร็ว” ในการทำงาน งานหนึ่งให้เสร็จสิ้น (เหมือนกับการแต่งภาพใน Photoshop) ในที่นี้มันหมายถึง
“เมื่อคุณใช้ ColdFusion คุณต้องสร้าง Web application ที่ใช้เวลาสร้างน้อยกว่าผลิตภัณฑ์ตัวอื่น และดูแลแก้ไขน้อยกว่าตัวอื่น”
ฟังดูก็เหมือนๆ กับเจ้าอื่นเกทับกันใช่ไหมครับ อย่างนี้แหละครับ ไม่มีใครบอกว่าตัวเองด้อยกว่าหรอก ผู้ใช้เท่านั้นเป็นผู้ตัดสินที่แท้จริงครับ งั้นมาดูกันดีกว่าว่าหลักๆ มีอะไรบ้าง
ชุดคำสั่งที่สร้างมาสำหรับการพัฒนาWebApplicationระดับEnterpriseโดยเฉพาะ
ทีมพัฒนา ColdFusion ได้ศึกษาและรวบรวมข้อมูลของการใช้งาน web application อย่างต่อเนื่อง และได้พัฒนา tool และ library tag ต่างๆ เพื่ออำนวยความสะดวกให้ผู้ใช้ สร้าง web application และ feature ทั่วไปได้ง่าย และเร็วกว่าเดิมมาก ยกตัวอย่าง code ด้านล่างนี้
ตัวอย่างcodeที่ใช้ในการส่งemail
1
2
3
4
5
6
7
8
9
10
11
12










<cfmail to="#form.emailaddress#"
                 from="barney@bedrock.com"
                 subject="Welcome to Bedrock"
                 type="text">
                 Dear #form.firstname#
                  We, here at Bedrock, would like to thank you for joining.
                 Best wishes
                 Barney
</cfmail>
เชื่อมต่อกับRIAอย่างAdobeFlashPlatformได้อย่างรวดเร็ว
คำถามหนาหูที่สุดที่ถามกันเข้าเกี่ยวกับ Adobe Flash Platform คือ “จะต่อกับ database ได้อย่างไร?” ซึ่งด้วยการออกแบบที่ยืดหยุ่น ทำให้ Flash client เป็นอะไรที่ต่อ database โดยตรงไม่ได้ ต้องผ่านวิธีมาตรฐานอย่าง Web Service (WSDL), JSON และ RESTful (HTTP), หรือไม่ก็ AMF (อ่านคำอธิบายเกี่ยวกับ AMF ที่นี่) ซึ่ง Adobe เขาก็สร้างให้เจ้า ColdFusion เนี่ยพร้อมทำงานกับ Flash client ที่สร้างจาก Flex หรือ Flash Professional ได้สบายๆ ไร้กังวล ในที่นี่ก็รวมถึง Web Application อย่าง Adobe Flex และ client อย่าง Adobe AIR บน device ต่างๆ ด้วย 
โปรแกรมฐานข้อมูลได้ง่ายดายด้วยORM(Object-RelationalMapping)
clip_image001จัดการกับข้อมูลใน database ได้ง่ายและสะดวกขึ้นด้วยหลักการเดียวกับ Hibernate (Java) และ LINQ (.NET) โดย ORM จะเป็นการสร้าง framework โดยแทนที่ฐานข้อมูลด้วย Object ในระบบ ทำให้การเขียนโปรแกรมจัดการข้อมูล สามารถทำได้ในลักษณะที่มีความจำเป็นต้องเขียน SQL (แบบวิธีการเดิม) น้อยมาก หรือแทบไม่มีเลย เพราะเวลาเราเขียนโปรแกรมเพื่อเพิ่ม user ใหม่เข้าไปในฐานข้อมูล จะสามารถทำได้โดยเรียกคำสั่งด้านล่างเท่านั้น
1 User.create("John");

ColdFusion ยังมีส่วนช่วยในการสร้าง source code ระบบ ORM พื้นฐานในตัว โดยตัว      ColdFusion จะใช้ ColdFusion Builder ในการเขียนโค้ดที่ใช้ในการสร้าง Code ORM ทำให้ลดเวลาในการพัฒนา code เชื่อมต่อฐานข้อมูลด้วยตัวเองไปเยอะ
สามารถทำงานกับJavaและ.NETLibrary(DLL)ได้อย่างมีประสิทธิภาพ
clip_image002
ความกังวลด้านการต้องเพิ่มทรัพยากรในการเปลี่ยนมาใช้ระบบใหม่ถอดด้ามอย่าง ColdFusion จะหมดไป เพราะตัว Adobe Coldfusion นั้นออกแบบมาให้สามารถเรียกใช้งาน Class ใน .jar (Java language) หรือ DLL (.NET) ได้อย่างไม่มีปัญหา ทำให้องค์กรสามารถ port ระบบการทำงานที่มีอยู่ในใส่ในระบบใหม่ได้ โดยสูญเสียเวลาและทรัพยากรน้อยกว่าการทำใหม่ทั้งหมด
ติดตั้งให้ทำงานบนApplicationserverสำหรับJavaหรือIISบนWindowsก็ได้
clip_image003
ทางเลือกที่มากกว่าทำให้การใช้ Adobe ColdFusion ไม่ยึดติดกับ Application Server บนระบบใดระบบหนึ่งแบบตายตัว จะเลือกลงแบบทำงานเดี่ยวๆ หรือลงบน Internet Information Service (IIS) ซึ่งที่ใช้ dev ก็เป็นเวอร์ชั่นล่าสุด 7.5 ได้อย่างไม่มีปัญหา หรือจะเลือกลงบน JBoss หรือ Apache Tomcat ก็ทำงานได้ไหลลื่นไม่สะดุด
นี่เป็นส่วนหลักๆ ที่สามารถยกตัวอย่างมาอธิบายให้พวกเราได้รู้กัน จริงๆ แล้วมีคุณประโยชน์อีกมากมายในตัว Adobe ColdFusion เอง เพียงแต่ราคาที่ดูเหมือนจะสูงไปสักนิด แต่ถ้าเทียบความสะดวกและความเร็วในการพัฒนาและดูแล ทำให้ ColdFusion เป็นตัวเลือกที่น่าลิ้มลองไม่น้อย
 

#10 LAMP Application Development

 

LAMP คืออะไร?

LAMP เป็นตัวอักษรย่อของโอเพ่นซอร์สซอฟต์แวร์ 4 ชนิด มารวมกัน เพื่อทำหน้าที่เป็นเครื่องให้บริการเว็บ (Web Server) อันประกอบด้วย Linux, Apache, MySQL และ PHP, Perl หรือ Python ขึ้นอยู่กับว่าจะใช้อะไรเป็นหลัก
clip_image001Linux ระบบปฏิบัติการสายพันธุ์ยูนิกซ์ที่มีความทนทาน รองรับการใช้งานหนักๆ จนถูกนำมาใช้เป็นเครื่องให้บริการทั่วโลก ปลอดภัยจากการโจมตีของไวรัสเนื่องจากไวรัสคอมพิวเตอร์ในปัจจุบันไม่สามารถทำงานบน Linux ได้ นอกจากนี้ Linux สามารถติดตั้งบนเครื่องคอมพิวเตอร์ที่มีทรัพยากรน้อยๆ แต่สามารถทำงานได้เต็มประสิทธิภาพ ดูรายละเอียดเพิ่มเติมที่ http://www.linux.org
clip_image002Apache สุดยอดเว็บเซิร์ฟเวอร์อีกตัวที่ได้รับความนิยมมากที่สุด มีจุดเด่นที่มีความแข็งแกร่ง ทนทาน รองรับภาระงาน (Load) มากๆ ได้ สามารถนำไปใช้ได้ในหลายระบบปฏิบัติการ และยังมีการพัฒนาเทคโนโลยีใหม่ ๆ เพื่อรองรับการทำงานอยู่ตลอด โดยเฉพาะด้านเว็บเซอร์วิส ดูรายละเอียดเพิ่มเติมที่ http://www.apache.org
clip_image003MySQL โปรแกรมสำหรับจัดการฐานข้อมูล ที่มีขนาดเล็ก ความเร็วสูง มีความสามารถในด้านฐานข้อมูลที่ครบครันและมีความแม่นยำน่าเชื่อถือสูง เหมาะสำหรับใช้งานเว็บไซต์ทั่วๆ ไป และมีโปรแกรมช่วยจัดการฐานข้อมูล เช่น phpMyAdmin, Mysql Admin เป็นต้น ดูรายละเอียดเพิ่มเติมที่ http://www.mysql.com
clip_image004สำหรับ P ตัวสุดท้าย มาจากคำสั่งต่างๆ ขึ้นอยู่กับว่าจะใช้อะไรเป็นหลัก อันได้แก่ PHP, Perl และ Python ซึ่งเป็นภาษาสคริปต์ที่เขียนง่าย ใช้โค้ดสั้นๆ ไม่ซับซ้อน เหมาะกับเว็บไซต์ที่ต้องการความยืดหยุ่น เนื้อหาเปลี่ยนแปลงได้ สามารถใช้งานร่วมกับฐานข้อมูล MySQL หรือฐานข้อมูลอื่นๆ ได้ทันที ดูรายละเอียดเพิ่มเติมที่ http://www.php.net http://www.perl.org http://www.python.org




#10 WEB 2.0 Development

WEB 2.0 Development
บทความนี้คัดลอกมาจากเว็บ http://web2.0thai.info ของคุณพีระพงษ์ พูลพิพัฒนันท์ (พีท)
บทความนี้ให้คำนิยามของคำว่าเว็บ 2.0 (Web 2.0) แบบ (เข้าใจ) ง่ายๆ แต่ได้ใจความ เลยอยากเอามาเผยแพร่ให้คนที่ต้องการรู้จักความหมายของคำว่า Web 2.0 กัน
clip_image001
Web 2.0 คืออะไร?
หลายๆคนคงเคยได้ยินคำว่า Web 2.0 กันมามากมาย แต่ก็ยังไม่ค่อยเข้าใจว่าทำไมมันต้องเป็น 2.0 เป็น 2.1, 3.11 หรือ 2007 ไม่ได้เหรอ ผมก็เลยจะมาเขียนบทความเกี่ยวกับความหมายของ Web 2.0 ตามที่ผมเข้าใจ (เท่าที่ความรู้ที่พอจะมีบ้าง) ซึ่งอาจจะไม่ถูกไปซะทีเดียว แต่ก็หวังว่าคงทำให้หลายๆคนมองเห็นภาพรวมได้มากยิ่งขึ้นนะครับ
Web 2.0 จริงๆแล้วก็คือการให้ความหมายของสิ่งที่เปลี่ยนไปของเทคโนโลยีเว็บไซต์ ซึ่งก็เหมือนกับที่สมัยก่อน เราเปลี่ยนจากทีวีขาวดำมาเป็นทีวีจอสีนั่นล่ะครับ โดยกำหนดตัวเลขว่าเป็น generation ที่ 2 ของเว็บนั่นเอง สิ่งต่างๆที่เกี่ยวข้องกับ Web 2.0 นั้นก็ เช่น AJAX, Blog, Feeds, Podcast, Social networking ฯลฯ โดย Web 2.0 application จะคุณสมบัติดังต่อไปนี้ครับ
  • ให้ความสำคัญกับผู้เข้าชมเว็บไซต์ โดยที่ผู้เข้าชมเว็บไซต์จะมีส่วนร่วมต่อเว็บไซต์มากขึ้น ไม่ใช่แค่เข้ามาชมเว็บไซต์ที่เจ้าของเว็บจัดทำขึ้นเท่านั้น ผู้เข้าชมเว็บไซต์สามารถสร้าง content ของเว็บไซต์ขึ้นมาได้เองหรือสามารถ tag content ของเว็บไซต์ (คล้ายๆการกำหนด keyword ที่เกี่ยวข้องกับ content โดยผู้เข้าชมเว็บไซต์เป็นผู้กำหนดขึ้น) ตัวอย่างเช่น Digg, Flickr, Youtube , Wiki
  • Web 2.0 application จะมีคุณสมบัติที่เรียกว่า RIA (Rich Internet Application) นั่นคือ Web 2.0 application จะมี userinterface ที่ดียิ่งขึ้น เช่น คุณสมบัติ drag & drop ซึ่งเราใช้กับใน desktop application ทั่วๆไปก็สามารถใช้ได้บนเว็บเช่นกัน โดยเทคโนโลยีที่เกี่ยวข้องในการสร้าง RIA เช่น AJAX, Flash
  • คุณสมบัติที่เรียกว่า mash-up ก็เป็นส่วนสำคัญอีกส่วนนึงของ Web 2.0 application นั่นก็คือการที่เราสร้าง Web application ขึ้นมาสักตัวนึง แล้วเราสามารถเปิด service ของ Web application ให้คนอื่นๆสามารถมาใช้ได้ ยกตัวอย่างเช่น ผมสร้าง Web application เกี่ยวกับระบบการซื้อขายสิ้นค้า online ขึ้นมาโดยผมสามารถ mash-up ระบบของผมเข้ากับ Google maps ได้อย่างง่ายดายเพื่อที่จะทำ Web application ของผมนั่นมีความสามารถในการ ซื้อขายสินค้า online แล้วยังสามารถคำนวนระยะทางและเวลาในการขนส่งสินค้าไปให้ลูกค้า รวมทั้งสามารถพิมพ์แผนที่เส้นทางได้ โดยที่ปผมไม่ต้องสร้าง Application สำหรับสร้างแผนที่ขึ้นมาเองเลย โดยเทคโนโลยีที่เกี่ยวข้องคือ Feeds, RSS, SOA, Web services
เทคโนโลยีที่น่าสนใจสำหรับ Web 2.0
  • AJAX สำหรับผมแล้วถือว่าเป็น เทคโนโลยีที่สำคัญมากๆ สำหรับ Web 2.0 application เลยทีเดียว โดย AJAX ใช้สำหรับการสร้าง userinterface ที่สามารถใช้งานได้ง่ายยิ่งขึ้นและรวดเร็วยิ่งขึ้นบนเว็บ สิ่งที่สำคัญที่สุดก็คือ AJAX นั้นสามารถทำงานบนทุก browser ไม่ว่าจะเป็น IE, Firefox, Opera หรือ Safari ก็ตาม ตัวอย่าง Web 2.0 application ที่นำ AJAX ไปใช้ก็เช่น Gmail, Google Docs & Spreadsheets, Google Calendar หรือ LetsProve VO
  • XML, Web services ใช้ในการทำให้ Web 2.0 application สามารถ integrate functional ในการทำงานร่วมกันได้ง่ายยิ่งขึ้น application ที่เราคุ้นเคยก็เช่น เราสามารถติดตามตำแหน่งงานที่เราสนใจใน Jobsdb ได้โดย RSS feeds
  • SaaS (Software as service) เป็น Model ใหม่สำหรับการใช้บริการ software โดยที่แต่ก่อนเราอาจจะต้องซื้อ software เป็น license แล้วนำมา install บนเครื่องเรา แล้วเมื่อถึงเวลาที่ผู้ผลิต update software เป็น version ใหม่เราก็ต้องไป download หรือซื้อ software ใน version ใหม่ และถ้าหากมีผู้ใช้ software เป็นจำนวนมากๆก็จะต้องเสียเวลาและเงินอย่างมากในการ update software แต่ละที ซึ่ง SaaS จะสามารถแก้ปัญหาในจุดนี้ได้โดยมอง software เป็นเหมือนบริการๆนึง โดยผู้ใช้บริการเพียงแค่จ่ายเงินค่าบริการ แล้วก็สามารถใช้งาน software ผ่านทาง web browser ได้ทันที เมื่อมีการ update software ก็จะทำเองอัตโนมัติโดยผู้ผลิต SaaS มีข้อดีคือ ผู้ใช้จะสามารถวางแผนงบประมาณสำหรับการซื้อ software ได้มากยิ่งขึ้น (ไม่ใช่ว่าซื้อ software มาแล้วยังต้องจ่ายค่า support, fix bug ตามมาอีก) และใช้เวลาน้อยกว่าในการ update version software แต่ละครั้ง ตัวอย่าง SaaS เช่น Google, Salesforce, Zoho
สรุป Web 2.0 ก็คือการกำหนดสิ่งที่เปลี่ยนแปลงไปของเทคโนโลยีเว็บ ว่ามีอะไรบ้าง คล้ายๆกับการทำหนดยุคปัจจุบันของเว็บว่าอยู่ในยุคที่ 2 ของการพัฒนา โดยมีองค์ประกอบที่สำคัญรวมๆเข้าด้วยกัน (จากตัวอย่างข้างบน) นั่นเองครับ







#10 AJAX Development

AJAX Development
เอแจ็กซ์ (อังกฤษ: AJAX: Asynchronous JavaScript and XML /ˈeɪdʒæks/) เป็นกลุ่มของเทคนิคในการพัฒนาเว็บแอปพลิเคชันเพื่อให้ความสามารถโต้ตอบกับผู้ใช้ได้ดีขึ้น โดยการรับส่งข้อมูลในฉากหลัง ทำให้ทั้งหน้าไม่ต้องโหลดใหม่ทุกครั้งที่มีการเปลี่ยนแปลง ซึ่งช่วยทำให้เพิ่มการตอบสนอง ความรวดเร็ว และการใช้งานโดยรวม
เอแจ็กซ์นั้นไม่ใช่เทคโนโลยีใหม่ แต่เป็นเทคนิคที่ได้ใช้เทคโนโลยีหลายอย่างที่มีอยู่แล้วรวมกันดังต่อไปนี้:
XHTML (หรือ HTML) และ CSS ใช้ในการแสดงผลลัพธ์และรูปแบบข้อมูล
ECMAScript เช่นจาวาสคริปต์ ในการเข้าถึง Document Object Model (DOM) เพื่อใช้ในการแสดงข้อมูลที่มีการเปลี่ยนแปลงหรือโต้ตอบกับผู้ใช้
XMLHttpRequest ใช้ในการแลกเปลี่ยนข้อมูล asynchronously กับเว็บเซิร์ฟเวอร์
XML ใช้เป็นรูปแบบข้อมูลในการแลกเปลี่ยน ซึ่งรูปแบบอื่นก็สามารถใช้ได้เช่นกันไม่ว่าจะเป็น HTML, JSON, EBML, หรือ เพลนเท็กซ์
เทคนิคเอแจ็กซ์นั้นสามารถสร้าง HTML ได้ในเครื่องผู้ใช้ ทำให้ขนาดข้อมูลนั้นเล็กลงในครั้งต่อๆไป เพราะสามารถส่งเพียงข้อมูล และคำสั่งจาวาสคริปต์ลงมาเฉพาะส่วนที่มีการเปลี่ยนแปลง แทนที่จะต้องส่งข้อมูลใหม่หมดมาทั้งหน้า. ซึ่งทั้งนี้ขึ้นอยู่กับการออกแบบของเว็บแอปพลิเคชันนั้นๆ
ความรวดเร็วในการตอบสนอง
เนื่องจากการใช้เทคนิค เอแจ็กซ์นั้นทำให้การเปลี่ยนแปลงต่างๆ เช่นการแก้ไข เพิ่มเติม ลบทิ้งรายการข้อมูล หรือการดึงข้อมูลที่ต้องการจะค้นหานั้น สามารถทำได้ในฉากหลัง ทำให้ผู้ใช้รู้สึกการตอบสนองนั้น คล้ายคลึงกับโปรแกรมคอมพิวเตอร์ มากกว่าเว็บปกติที่ต้องรอโหลดใหม่ทั้งหน้าสำหรับการเปลี่ยนแปลงต่างๆ
- AJAX สามารถทำลายข้อจำกัดของ HTML กับ Server
- AJAX สามารถทำให้ HTML แห้งๆมีชีวิตชีวา ไม่ต่างกับ Windows Application
- AJAX สามารถทำให้ Web Programmer ทุกแขวง (ไม่ว่าจะ Perl PHP ASP ASP.NET) มีเครื่องมือลดข้อจำกัดในการแสดงผลข้อมูลได้
- AJAX ทำให้ Gmail ดังเป็นพลุแตก (Gmail เป็น Web Application ตัวแรกที่ผมพบเจอว่านี่แหล่ะ AJAX)
- AJAX ทำให้ผมแข็งแกร่งเรื่อง Javascript มากขึ้น
- AJAX ทำให้ผมมีความรู้ อิอิ
และทำให้ผมตั้งใจจะเขียนมันให้เพื่อนๆสมาชิกได้อ่านกันติดตามและติชมเนื้อหาของผมได้เลย
พื้นฐานของผู้อ่าน
- รู้เรื่อง Javascript พอสมควร
- เขียน perl,php,asp,asp.net หรือเขียน web application เป็น
- ขยันศึกษาหาข้อมูลจาก Google
ว่าแล้วเริ่มกันเลย

บทนำ AJAX คืออะไร
AJAX ย่อมาจากคำว่า Asynchronous JavaScript and XML แปลตรงตัวแบบกำปั้นทุบดินก็คือ
เทคนิคการใช้ Javascript และ XML ทำงานแบบไม่สัมพันธ์กันตามช่วงเวลา -__-
อ่านแล้วประสาทแดกแน่นอน เดี๋ยวผมอธิบายด้วยรูปภาพดีกว่าจะได้เข้าใจง่ายๆ
clip_image002[10]
รูปจาก
http://www.adaptivepath.com/publications/essays/archives/000385.php
จากรูป ด้านซ้ายเป็นรูปการทำงานของ Browser เมื่อติดต่อกับ Web Server ตามปกติ
การทำงานก็มันก็อย่างที่เราเข้าใจกันคือ เมื่อเรา เรียก url ไป Browser จะทำการติดต่อ
กับ Web Server และ Web Server ทำการประมวลผลส่งค่าเป็น HTML, Image , CSS อะไรก็แล้วแต่
กลับไปหา Browser นำไปแสดงผล
จากหลักการดังกล่าวการพัฒนาให้หน้า Web แสดงผลแบบมีชีวิตชีวา เช่นการแสดงผลข้อมูลแบบ
Realtime ไม่ว่าจะเป็นข้อมูลข่าวสารที่มีการเปลี่ยนแปลงอย่างทันด่วน ยกตัวอย่าง ราคาหุ้น
มีการเปลี่ยนแปลงทุกวินาที หากการติดต่อแบบนี้ Browser ต้องเรียกขอข้อมูลใหม่กับ
Web Server ทุกๆครั้ง
หลายๆท่านอาจจะบอกว่า ใน HTML ก็มี Tag ที่ว่าให้ใช้แล้วนั้นก็คือ
<meta http-equiv="refresh" content="5;URL=url">
ก็ใช่ครับ แต่การใช้ Tag refresh นั้นเป็นการเปลี่ยนแปลงทั้งหน้าจอ
บางครั้งข้อมูลที่ต้องการเป็นข้อมูลแค่กรอบๆเดียวในหน้า web การ refresh ทั้งหน้า
จึงไม่ใช่คำตอบที่ดี (ก็เห็นหลายๆ Web ดันทุรังกันด้วย ใช้ IFRAME อยู่ดี เอาจนได้แหล่ะครับอิอิ)
คราวนี้มาดูหลักการของ AJAX ทางด้านขวาบ้างสิ่งที่เราเห็นก็คือจากรูปจะมีสิ่งที่เรียกว่า AJAX Engine
เข้ามาคั้นกลาง เจ้า AJAX Engine นี้จะทำหน้าที่เป็นตัวกลางในการติดต่อ และนำข้อมูลมาแสดงผลให้กับ
Browser เจ้า AJAX Engine นี้ถูกเขียนด้วย Javascript ครับโดยการที่มันมาคั้นกลางนี้ เราสามารถกำหนด
การรูปแบบการติดต่อของ AJAX Engine ตามเงื่อนไขของ Javascript ที่สร้างขึ้นได้
ทำให้เราสามารถกำหนดได้ว่า เราอยากให้ tag html ก้อนนี้เปลี่ยนแปลงหน้าตาใหม่ทุกๆ 5 วินาที
- ทำให้เราเปลี่ยนแปลงข่าวสารใหม่ๆได้ตลอดเมื่อมีข้อมูลใหม่เข้ามา (โดยไม่ต้องเรียก Load หน้าใหม่)
จากรูปจะเห็นว่าสิ่งที่ส่งกลับมาให้ AJAX Engine นั้นจะเป็น XML Data ความจริงไม่จำเป็นก็ได้
ถ้าขี้เกียจตัดข้อมูลก็สามารถนำ HTML มาแปะแสดงก็ได้ ตามรูปเป็นแนวคิดเท่านั้นเอง
clip_image004[10]
รูปจาก
http://www.adaptivepath.com/publications/essays/archives/000385.php
จากรูปเป็นการขยายความของคำว่า Asynchronous ครับให้เราพิจารณาว่า
หาก Browser กับ Web Server มีการ synchronous ระบบดังกล่าวก็คือ
Browser เรียก -> Web Server ตอบ -> Browser รับทราบ แสดงผล
Browser เรียก -> Web Server ตอบ -> Browser รับทราบ แสดงผล
ไปเรื่อยๆ จะเห็นว่า Browser จะทำงานสัมพันธ์กับ Web Server เรียก -> ตอบ -> แสดงผล
แต่กรณีที่ เป็น AJAX นั้น การ Asynchronous นั้นก็คือ
Browser เรียก-> AJAX เรียก -> Web Server ตอบ -> AJAX รับทราบ แสดงผล -> Browser รับทราบ แสดงผล
Browser ไม่เรียก -> AJAX เรียก -> Web Server ตอบ -> AJAX รับทราบ บอกว่าไม่ต้องแสดงผล -> Browser รับทราบไม่แสดงผล
Browser ไม่เรียก -> AJAX เรียก -> Web Server ตอบ -> AJAX รับทราบ แสดงผล -> Browser รับทราบ แสดงผล
กล่าวคือคำว่า Asynchronous มันก็หน้าที่ของ AJAX ที่มาคั้นการไม่ให้ Browser และ Web Server
ทำงานสัมพันธ์กันนั้นแหล่ะ
ส่วนเหตุที่มีคำว่า XML มาด้วย เนื่องจากการเขียน Javascript แบบ AJAX นี้มีการเข้าไปเรียกใช้ Object ของ XMLHTTP
เราจึงให้เกียรติใส่เข้าคำว่า XML ไปด้วย อิอิ ซึ่งจริงๆแล้วข้อมูลอาจจะไม่จำเป็นต้องเป็น XML ก็ได้
อธิบายให้พอคร่าวๆพอเข้าใจก็พอครับ เพราะ อยากให้เข้าใจแนวคิดในรูปแรก ก็พอ
พอเข้าใจแนวคิดรูปแรกแล้วจะกระจ่างในเรื่องต่อไป
ก่อนจะตะลุยผมขอเพิ่มเติมความรู้เรื่อง HTML Javascript ก่อน