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

#10 AJAX Development


AJAX Development

AJAX คืออะไร ?

Ajax (Asynchronous JavaScript and XML) เป็นวิธีการสร้างโปรแกรมประยุกต์ปฏิสัมพันธ์สำหรับเว็บที่ประมวลผลคำขอของ ผู้ใช้ทันที Ajax รวมเครื่องมือโปรแกรมหลายอย่างรวมถึง JavaScript, dynamic HTML (DHTML), Extensible Markup Language (XML), cascading style sheets (CSS), the Document Object Model (DOM) และ Microsoft object, XMLHttpRequest โดย Ajax ยอมให้เนื้อหาบนเว็บเพจเพื่อปรับปรุงอย่างทันที เมื่อผู้ใช้ทำการกระทำ ต่างจาก HTTP request ซึ่งผู้ใช้ต้องคอยเพจใหม่เพื่อโหลดทั้งหมด ตัวอย่าง การไซต์พยากรณ์อากาศสามารถแสดงเงื่อนไขท้องถิ่นบนด้านหนึ่งของเพจ ปราศจากการล่าช้าหลังจากผู้ใช้พิมพ์รหัสไปรษณีย์
          Google Maps เป็นโปรแกรมประยุกต์ที่รู้จักกันดีที่ใช้ Ajax อินเตอร์เฟซนี้ยอมให้ผู้ใช้ที่เปลี่ยนมุมมองและควบคุมแผนที่ในเวลาจริง โปรแกรมประยุกต์ Ajax ไม่ต้องมีการติดตั้ง plug-in แต่ทำงานโดยตรงกับ browser เนื่องจากความมั่นทางเทคนิคกับ XMLHttpRequest โปรแกรมประยุกต์ก่อนหน้าที่ทำงานเฉพาะกับ Internet Explorer browser ของ Microsoft แต่ browser อื่นส่วนมากสนับสนุน Ajax

โปรแกรมประยุกต์ที่สร้างด้วย Ajax ใช้ engine ที่กระทำเป็นตัวกลางระหว่าง browser ของผู้ใช้กับแม่ข่ายที่กำลังขอสารสนเทศ แทนที่การโหลดเว็บเพจแบบดั้งเดิม browserของผู้ใช้โหลด Ajax engine ซึ่งแสดงเพจที่ผู้ใช้มองเห็น โดย engine นี้ยังคงทำงานอยู่เบื้องหลัง ด้วยการใช้ JavaScript ติอต่อกับ browser การนำเข้าของผู้ใช้หรือการคลิกบนเพจส่ง JavaScript เรียก Ajax engine ซึ่งสามารถตอบสนองในหลายกรณีอย่างทันที ถ้า engine ต้องการข้อมูลเพิ่ม จะขอจากแม่ข่าย ตามปกติใช้ XML ที่สามารถปรับปรุงเพจได้พร้อมกัน
          Ajax ไม่ใช่เทคโนโลยีที่เจ้าของหรือผลิตภัณฑ์แพ็คเกจ ผู้พัฒนาเว็บต้องใช้ JavaScript และ XML รวมกันเป็นเวลาหลายปี Jesse James Garrett จากบริษัทที่ปรึกษา Adaptive Path ได้รับเครดิตกับการตั้งชื่แ “Ajax” เป็นชื่อย่อที่อ้างถึงเทคโนโลยีเฉพาะที่เกี่ยวข้องกับวิธีการทำให้สำเร็จใน ปัจจุบัน

เมื่ออ่านแล้วจะยากต่อการทำความเข้าใจ การอธิบายด้วยรูปภาพจะทำให้สามารถทำความเข้าใจได้ง่ายยิ่งขึ้น

รูปจาก
จากรูป ด้านซ้ายเป็นรูปการทำงานของ 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 ทั้งหน้าจึงไม่ใช่คำตอบที่ดี คราวนี้มาดูหลักการของ AJAX ทางด้านขวาบ้างสิ่งที่เราเห็นก็คือจากรูปจะมีสิ่งที่เรียกว่า AJAX Engine เข้ามาคั้นกลางเจ้า AJAX Engine
นี้จะทำหน้าที่เป็นตัวกลางในการติดต่อ และนำข้อมูลมาแสดงผลให้กับ Browser เจ้า AJAX Engine นี้ถูกเขียนด้วย Javascript โดยการที่มันมาคั้นกลางนี้ เราสามารถกำหนดการรูปแบบการติดต่อของ AJAX Engine ตามเงื่อนไขของ Javascript ที่สร้างขึ้นได้
- ทำให้เราสามารถกำหนดได้ว่า เราอยากให้ tag html ก้อนนี้เปลี่ยนแปลงหน้าตาใหม่ทุกๆ 5 วินาที
- ทำให้เราเปลี่ยนแปลงข่าวสารใหม่ๆได้ตลอดเมื่อมีข้อมูลใหม่เข้ามา (โดยไม่ต้องเรียก Load หน้าใหม่)
จากรูปจะเห็นว่าสิ่งที่ส่งกลับมาให้ AJAX Engine นั้นจะเป็น XML Data ความจริงไม่จำเป็นก็ได้
ถ้าขี้เกียจตัดข้อมูลก็สามารถนำ HTML มาแปะแสดงก็ได้ ตามรูปเป็นแนวคิดเท่านั้นเอง
 
รูปจาก
จากรูปเป็นการขยายความของคำว่า 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 ไปด้วย ซึ่งจริงๆแล้วข้อมูลอาจจะไม่จำเป็นต้องเป็น X ML ก็ได้พอเข้าใจแนวคิดรูปแรกแล้วจะกระจ่างในเรื่องต่อไป
 

คลิปวีดีโอ Training AJAX from BuyCDToday 

 

 

แนวทางการพัฒนา AJAX 

      

แบบจำลองการทำงานของเว็บแอพพลิเคชั่นแบบเดิม

 

 

รูปที่ 1.1 แบบจำลองการทำงานของเว็บแอพพลิเคชั่นแบบเดิม
           การทำงานของเว็บแอ ปพลิเคชั่นแบบเดิม (Classic Web Application) จะเริ่มจากผู้ใช้ (User) เปิดเว็บบราวเซอร์ (Web Brower) เช่น Internet Explorer(IE) หรือ Firefox แล้วร้องขอข้อมูลหรือ Web Page ที่เราต้องการโดยการพิมพ์ชื่อ ที่อยู่ หรือที่เราเรียกกันว่า "URL" เช่น www.ktpbook.com หรือ wwwgoogle.com เป็นต้น สำหรับ User ที่เปิด Web Broser ก็คือ ลูกค้า หรือ ผู้ใช้ ที่อยู่ทางฝั่งไคลเอนต์ (Client Side) จากนั้น URL ที่ถูกร้องขอจะถูกส่งผ่านอินเตอร์เน็ตไปยังฝั่งผู้ให้บริการ (Server Side) เมื่อผู้ให้บริการได้รับการร้องขอก็จะจัดการส่ง Web Page กลับมาให้ และทันทีที่ Server ส่ง Web Page มาให้ตามที่ User ร้องขอไป การติดต่อระหว่างฝั่ง Server และฝั่ง Client จะสิ้นสุดหรือขาดการติดต่อจากกันทันที (ภาษาเทคนิคเรียกว่า "Stateless" ดังนั้นเมื่อ User ต้องการข้อมูลหรือ Web Page ใหม่จาก Server เดิม ต้องเริ่มการติดต่อหรือร้องขอ URL ใหม่อีกครั้ง Server จะส่งหน้า Web Page ใหม่มาให้ จากนั้น Web Browser จะนำ Web Page ที่ได้มานั้นแสดงเป็นหน้าใหม่ ผลที่เกิดขึ้นคือ จอกระพริบ เนื่องจากมี Web Page ใหม่จึงต้องรีเฟรซ (Refresh) หน้าจอใหม่มีความล่าช้าเนื่องจากต้องรอการประมวลผลที่ฝั่ง Server ให้เสร็จก่อนแล้วจึงส่งผลลัพธ์ตอบกลับมาให้ User อีกทั้งข้อมูลที่ใช้ในการส่งแต่ละครั้งมีจำนวนมากทำให้ใช้แบนด์วิธ (Bandwidth) ค่อนข้างสูง ส่งผลให้การส่งข้อมูลเกิดความล่าช้าตามไปด้วย
 

แบบจำลองการทำงานของเว็บแอพพลิเคชั่นแบบ AJAX

 จากปัญหาที่เกิดขึ้นกับเว็บแอปพลิเคชั่นแบบเดิม จึงเกิดแนวคิดใหม่ที่นำมาใช้ในการแก้ปัญหาดังกล่าว นั่นคือ การใช้ AJAX โดยเว็บแอปพลิเคชั่นที่ใช้ AJAX สามารถลดการรีเฟรซของหน้าจอทำให้การแสดงผลมีความนุ่มนวล และเปลี่ยนรูปแบบเอกสารให้มีขนาดเล็กลง โดยจากเดิมที่เป็นการส่ง Web Page ทั้งหน้าที่มีข้อมูลรวมกันมากมาย (HTML + CSS Data ในรูปที่ 1.1) กลายมาเป็นเพียงข้อมูลชิ้นเล็กๆ (XML Data ในรูปที่ 1.2) ซึ่งใช้แบนด์วิธน้อยกว่าการส่งข้อมูลในเว็บแอปพลิเคชั่นแบบเดิม มีผลทำให้สามารถส่งข้อมูลได้เร็วขึ้น

 

 

รูปที่ 1.2 แบบจำลองการทำงานของเว็บแอพพลิเคชั่นแบบ AJAX
            จากรูปที่ 1.2 หัวใจสำคัญในการทำงานของ AJAX คือ "XMLHttpRequest Object" ซึ่งทำหน้าที่ติดต่อร้องขอข้อมูลจากฝั่ง Server โดยข้อมูลที่ร้องขอนั้นเป็นแค่ข้อมูลเล็กๆ ทาง Server จัดหาข้อมูลและตอบกลับมาในรูปแบบ XML Data จากนั้นเป็นหน้าที่ของ JavaScript ในการนำผลลัพธ์มาแสดงผลใน Web Page เดิมที่ปรากฎอยู่บน Web Browser การแสดงผลบนหน้าจอจะแสดงข้อมูลในช่องว่างหรือบางส่วนบนหน้าจอเท่านั้น ไม่ต้องรีเฟรซหน้าจอใหม่ อีกทั้งสามารถแสดผลข้อมูลใน Web Page ได้เร็วขึ้นเนื่องจากข้อมูลที่ส่งมาจากฝั่ง Server มีจำนวนน้อยไม่ต้องส่ง Web Page ทั้งหน้าทำหน้าใช้แบนด์วิธน้อยลง เช่น หาก User ป้อนข้อมูลที่เป็น "รหัสไปรษณีย์" ลงไปบน Web Page ข้อมูลที่เป็นส่วน "เมือง" หรือ "เขต" จะปรากฎขึ้นมาทันที โดยที่ไม่ต้องมีการรีเฟรซหน้าจอ
          ดังนั้นลักษณะการทำงานของเว็บแอปพลิเคชั่นที่พัฒนาตามแบบ AJAX จะคล้ายกับการทำงานของโปรแกรมทั่วไปที่ทำงานบน Desktop หรือทำงานบนระบบปฏิบัติการ Windows กล่าวคือ โปรแกรมจะโต้ตอบกับผู้ใช้ได้ทันทีในเหตุการณ์ใดเหตุการณ์หนึ่งโดยไม่ต้องรอ

 

องค์ประกอบของ AJAX 

AJAX ไม่ใช่ภาษาโปรแกรมหรือเทคโนโลยีที่คิดค้นขึ้นมาใหม่ แต่เป็นวิธีการใช้ประโยชน์จากภาษาและเทคโนโลยีต่างๆที่มีอยู่แล้ว โดยประกอบด้วยส่วนต่างๆที่สำคัญดังนี้
  • การแสดงผลในเบราเซอร์โดยใช้ HTML, CSS และ DOM
  • ข้อมูลที่ดึงมาจากเซิร์ฟเวอร์ ซึ่งเก็บอยู่ในรูปแบบของ Database หรือ XML
  • การดึงข้อมูลข้อมูลจากเซิร์ฟเวอร์โดยใช้ XMLHttpRequest Object ในเบราเซอร์ซึ่งเป็นการดึงข้อมูลแบบฉากหลัง (behind-the-scence หรือ background) เพราะไม่ทำให้เบราเซอร์รีเฟรซหน้าจอ
  • ภาษา JavaScript สำหรับเขียนโค้ดควบคุมการทำงานทั้งหมด
          ความจริงการเขียน AJAX ไม่จำเป็นต้องใช้ส่วนประกอบเหล่านี้ทั้งหมด เช่น ข้อมูลที่เก็บอยู่ในเซิร์ฟเวอร์ไม่จำเป็นต้องเป็น XML แต่เป็นข้อความธรรมดาก็ได้ ซึ่งทำให้เราไม่ต้องยุ่งเกี่ยวกับ XML แต่โดยทั่วไปนิยมใช้ XML เพราะช่วยให้ทำงานกับข้อมูลได้สะดวกกว่า และที่ต้องไม่ลืมก็คือ ตัวอักษร X ในคำว่า AJAX นั้นย่อมาจาก XML ดังนั้นถ้าหากเราไม่ใช้ XML ก็คงเรียกเทคนิคนี้ว่า AJAX ได้ไม่เต็มปาก
          ในทางกลับกัน AJAX ไม่ได้จำกัดอยู่แค่ส่วนประกอบตามที่กล่าวข้างต้น แต่อาจมีส่วนประกอบอื่นๆอีก เช่น ภาษาหรือเทคโนโลยีที่ใช้เขียนโปรแกรมทางฝั่งเซิร์ฟเวอร์ เช่น PHP,JSP,ASP.NET และอื่นๆ เป็นต้น ช่วยให้การนำ AJAX ไปประยุกต์ใช้งานมีความหลากหลายยิ่งขึ้น 

ขั้นตอนการทำงานของ AJAX

ขั้นตอนการทำงานของ AJAX อย่างคร่าวๆ สามารถอธิบายได้ดังนี้
1.      เขียนโค้ด JavaScript ไว้ในเพจ ซึ่งจะทำให้ดึงข้อมูลจากเซิร์ฟเวอร์ และนำข้อมูลนั้นมาปรับปรุงในเพจ
2.      เมื่อต้องการข้อมูลจากเวิร์ฟเวอร์ JavaScript ของเราจะสั่ง XMLHttpRequest Object ให้ส่ง Request ไปยังเซิร์ฟเวอร์แบบหลังฉาก (ถ้าหากเบราเซอร์มีข้อมูลที่ต้อวการส่งให้เซิร์ฟเวอร์ด้วย ก็จะส่งไปพร้อมกับ Request นี้ ) ทั้งนี้ JavaScript จะไม่ทำให้เพจหยุดการทำงานในระหว่างที่รอข้อมูลจากเซิร์ฟเวอร์ เพราะมันจะรอข้อมูลอยู่หลังฉาก (เรียกว่าเป็นการดึงข้อมูลแบบ Asynchronous) ผู้ใช้จึงไม่รู้สึกว่าถูกขัดจังหวะในช่วงที่ JavaScript กำลังรอข้อมูลจากเซิร์ฟเวอร์
3.      เมื่อข้อมูลส่งมาถึง โค้ด JavaScript ของเราก็จะนำข้อมูลนั้นออกมาแสดงตรงตำแหน่งที่เรากำหนดไว้ในหน้าเว็บเพจ ข้อมูลนี้อาจมีรูปแบบเป็น XML หรืแเป็นข้อความธรรมดาก็ได้แล้วแต่การออกแบบที่ฝั่งเซิร์ฟเวอร์
AJAX มีหลักการทำงานง่ายๆแค่นี้เอง โดยสรุปคือ เราจะใช้ XMLHttpRequest Object ติดต่อขอข้อมูลจากเซิร์ฟเวอร์ โดยไม่ทำให้เบราเซอร์รีเฟรซหน้าจอ แล้วนำข้อมูลที่ได้มาใช้ในหน้าเน็บเพจ การทำงานทั้งหมดเกิดจากโค้ด JavaScript ที่เราเขียนไว้ในเว็บเพจ ซึ่งเป็นการทำงานที่ฝั่งเบราเซอร์หรือไคล์เอนท์

 

 

แหล่งอ้างอิง 

  http://www.bcoms.net/dictionnary/detail.asp?id=602

http://www.scriptdd.com/webtip/ajax-lesson-1.html


#10 JAVA/ J2EE/ J2ME Development


JAVA/ J2EE/ J2ME Development


             ภาษาจาวา (อังกฤษ: Java programming language) เป็นภาษาโปรแกรมเชิงวัตถุ (อังกฤษ: Object Oriented Programming) พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่ ซัน ไมโครซิสเต็มส์ ภาษาจาวาถูกพัฒนาขึ้นในปี พ.ศ. 2534 (ค.ศ. 1991) โดยเป็นส่วนหนึ่งของ โครงการกรีน (the Green Project) และสำเร็จออกสู่สาธารณะในปี พ.ศ. 2538 (ค.ศ. 1995) ซึ่งภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แต่ว่ามีปัญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน
และแม้ว่าจะมีชื่อคล้ายกัน แต่ภาษาจาวาไม่มีความเกี่ยวข้องใด ๆ กับภาษาจาวาสคริปต์ (JavaScript) ปัจจุบันมาตรฐานของภาษาจาวาดูแลโดย Java Community Process ซึ่งเป็นกระบวนการอย่างเป็นทางการ ที่อนุญาตให้ผู้ที่สนใจเข้าร่วมกำหนดความสามารถในจาวาแพลตฟอร์มได้


รุ่นต่าง ๆ ของภาษาจาวา

  • 1.0 (ค.ศ. 1996) — ออกครั้งแรกสุด
  • 1.1 (ค.ศ. 1997) — ปรับปรุงครั้งใหญ่ โดยเพิ่ม inner class
  • 1.2 (4 ธันวาคม, ค.ศ. 1998) — รหัส Playground ด้านจาวาแพลตฟอร์มได้รับการเปลี่ยนแปลงครั้งใหญ่ใน API และ JVM (API สำคัญที่เพิ่มมาคือ Java Collections Framework และ Swing; ส่วนใน JVM เพิ่ม JIT compiler) แต่ตัวภาษาจาวานั้น เปลี่ยนแปลงเพียงเล็กน้อย (เพิ่มคีย์เวิร์ด strictfp) และทั้งหมดถูกเรียกชื่อใหม่ว่า "จาวา 2" แต่ระบบเลขรุ่นยังไม่เปลี่ยนแปลง
  • 1.3 (8 พฤษภาคม, ค.ศ. 2000) — รหัส Kestrel แก้ไขเล็กน้อย
  • 1.4 (13 กุมภาพันธ์, ค.ศ. 2002) — รหัส Merlin เป็นรุ่นที่ถูกใช้งานมากที่สุดในปัจจุบัน (ขณะที่เขียน ค.ศ. 2005)
  • 5.0 (29 กันยายน, ค.ศ. 2004) — รหัส Tiger (เดิมทีนับเป็น 1.5) เพิ่มคุณสมบัติใหม่ในภาษาจาวา เช่น Annotations ซึ่งเป็นที่ถกเถียงกันว่านำมาจากภาษาซีชาร์ป ของบริษัทไมโครซอฟท์, Enumerations, Varargs, Enhanced for loop, Autoboxing, และที่สำคัญคือ Generics
  • 6.0 (11 ธันวาคม, ค.ศ. 2006) — รหัส Mustang เป็นรุ่นในการพัฒนาของ Java SDK 6.0 ที่ออกมาให้ทดลองใช้ในเดือนพฤศจิกายน ค.ศ. 2004
  • 7.0 (กำลังพัฒนา กำหนดออก ค.ศ. 2008) — รหัส Dolphin กำลังพัฒนา 

 

        
        J2EE (Java 2 Platform Enterprise Edition) เป็นแพล็ตฟอร์มที่ออกแบบสำหรับเครื่องคอมพิวเตอร์ระดับ เมนเฟรมของวิสาหกิจขนาดใหญ่ ซันไมโครซิสเตม (Sun Microsystems) ได้ออกแบบ สามารถพัฒนาโปรแกรมประยุกต์ง่ายขึ้นโดย J2EE และลดส่วนของการเขียนโค้ดและให้บางส่วนถูก ควบคุมอย่างอัตโนมัติ J2EE ได้รวมส่วนประกอบจำนวนมากของแพล็ตฟอร์ม J2SE (Java 2 Standard Edition) เช่น
  • Java Development Kit (JDK) เพื่อให้ระบบปฏิบัติการสนับสนุนการทำงานของภาษาจาวา
  • สนับสนุน Common Object Request Broker Architecture (CORBA) รุ่นก่อนที่จะเปลี่ยนมาเป็น Enterprise JavaBeans (EJB) ในปัจจุบัน
  • Java Database Connectivity 2.0 (JDBC) เทียบได้กับ Open Database Connectivity (ODBC) ได้รับการรวมเป็นการอินเตอร์มาตรฐานกับฐานข้อมูลของ Java


 
         J2ME (Java 2 Platform, Micro Edition) เป็นเทคโนโลยีที่ยอมให้ผู้เขียนโปรแกรมใช้ภาษา Java และเครื่องที่เกี่ยวข้องในการพัฒนาโปรแกรมสำหรับอุปกรณ์สารสนเทศไร้สาย เคลื่อนที่ เช่น โทรศัพท์เซลลูลาร์ และ personal digital assistant (PDA) โดย J2ME ประกอบด้วยข้อกำหนดโปรแกรมและเครื่องสเมือนเฉพาะ หรือ K Virtual Machine ที่ยอมให้โปรแกม J2ME เข้ารหัสในการเรียกใช้บนอุปกรณ์เคลื่อนที่
มี 2 ข้อกำหนด คือ Connected, Limited Device Configuration (CLDC) และ Mobile Information Device Profile (MIDP) โดย CLDC เป็นผังของ application program interface (API) และส่วนการทำงานเครื่องเสมือนที่จำเป็นต่อการสนับสนุนอุปกรณ์เคลื่อนที่ ส่วน MIDP เพิ่มรายละเอียดให้ CLDC ในด้านการอินเตอร์เฟซ เครือข่าย และ messaging ที่จำเป็นต่อการอินเตอร์เฟซกับอุปกรณ์เคลื่อนที่ MIDP รวมแนวคิดของ midlet ที่เป็นโปรแกรมประยุกต์ Java ขนาดเล็กคล้ายกับ applet แต่ midlet สอดคล้องกับ CLDC และ MIDP และมุ่งไปที่อุปกรณ์เคลื่อนที่
อุปกรณ์กับระบบที่ใช้ประโยชน์ J2ME มีให้แล้วและคาดว่าจะมีมากขึ้นในอนาคตอันใกล้



ขอขอบคุณข้อมูลจาก:: http://www.com5dow.com/%E0%B9%84%E0%B8%82%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%A8%E0%B8%B1%E0%B8%9E%E0%B8%97%E0%B9%8C-IT/1283-J2ME-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.html และ วิกิพีเดีย

#10 LAMP Application Development


 LAMP
      คือตัวย่อของกลุ่มโปรแกรมฟรีโอเพนซอท อย่าง Linux (operating system), Apache HTTP Server, MySQL(database software) and originally Perl (but now sometimes PHP or Python)

L-   ระบบปฏิบัติการลีนุกซ์ (Linux Operating System) คือ ระบบปฏิบัติการ (Operating System) ที่พัฒนาต่อยอดมาจากระบบยูนิกส์ (UNIX) ซึ่งยูนิกส์ใช้งานบนเครื่องมินิคอมพิวเตอร์ (Mini Computer) หรือเครื่องเมนเฟรม (Mainframe Computer) ดังนั้นลินุกซ์ถูกปรับปรุงให้ใช้งานบนเครื่องคอมพิวเตอร์ส่วนบุคคล (Personal Computer) คล้ายกับระบบปฏิบัติการดอส (DOS) หรือระบบปฏิบัติการวินโดว์ (Windows Operating System) ซึ่งลีนุกซ์เป็นซอฟต์แวร์ภายใต้ลิขสิทธิ์จีพีแอล (GPL = GNU Public License) ถูกพัฒนาโดยนักศึกษาชื่อ Linus B. Torvalds จาก University of Helsinki ประเทศ Finland ประกอบการเรียนในวิชาระบบปฏิบัติการ โดยต่อยอดมาจากระบบปฏิบัติการมินิกส์ (Minix Operating System)
ทีมงานอีสอินไทย (isinthai Team) ได้ศึกษา เรียบเรียง และจดบันทึก เพื่อบอกเล่าเรื่องราวเกี่ยวกับการติดตั้ง ทดสอบ และใช้งานในเครื่องบริการที่ใช้ระบบปฏิบัติการลีนุกซ์ โดยหวังว่า นักศึกษา หรือผู้สนใจ จะได้เรียนรู้ ร่วมแลกเปลี่ยนประสบการณ์ จนมีความรู้ไปขยายผล เพื่อพัฒนาสังคมต่อไปและหวังว่าข้อมูลเหล่านี้จะทำให้ผู้ดูแลระบบ สามารถจัดตั้งเครื่องบริการ และใช้งานในองค์กรของตนได้อย่างมีประสิทธิภาพ
ประเทศจีนพัฒนาระบบปฏิบัติการขึ้นมาเอง ประกาศใช้ Red Flag Linux และ Kingsoft WPS Office เป็นซอฟท์แวร์ของจีนไปแล้ว ? หมายความว่า ลีนุกซ์ คือ ระบบปฏิบัติการ

  คู่แ

          A - อะแพชี เว็บเซิร์ฟเวอร์
                อะแพชี เว็บเซิร์ฟเวอร์ (อังกฤษ: Apache HTTP Server) คือซอฟต์แวร์สำหรับเปิดให้บริการเซิร์ฟเวอร์บน    โพรโทคอล HTTP โดยสามารถทำงานได้บนหลายระบบปฏิบัติการ
ที่มาของชื่อ Apache มาจากกลุ่มคนที่ช่วยสร้างแพตช์ไฟล์สำหรับโครงการ NCSA httpd 1.3 ซึ่งกลายมาเป็นที่มาของชื่อ A PAtCHy server และในอีกความหมายหนึ่งยังกล่าวถึงเผ่าอะแพชีหรืออาปาเช่ ซึ่งเป็นเผ่าอินเดียนแดงที่มีความ  สามารถในการรบสูง


Apache พัฒนามาจาก HTTPD Web Server ที่มีกลุ่มผู้พัฒนาอยู่ก่อนแล้ว โดย ร็อบ แม็คคูล (Rob McCool) ที่ NCSA (National Center for Supercomputing Applications) มหาวิทยาลัยอิลลินอยส์ เออร์แบนา-แชมเปญจน์ สหรัฐอเมริกา แต่หลังจากที่ แม็คคูล ออกจาก NCS และหันไปให้ความสนใจกับโครงการอื่นๆ มากกว่าทำให้ HTTPD เว็บเซิร์ฟเวอร์ ถูกปล่อยทิ้งไม่มีผู้พัฒนาต่อ แต่เนื่องจากเป็นซอร์ฟแวร์ที่อยู่ภายใต้ลิขสิทธิ์ กนู คือ ทุกคนมีสิทธิ์ที่จะนำเอาซอร์สโค้ดไปพัฒนาต่อได้ ทำให้มีผู้ใช้กลุ่มหนึ่งได้พัฒนาโปรแกรมขึ้นมาเพื่ออุดช่องโหว่ ที่มีอยู่เดิม (หรือ แพช) และยังได้รวบรวมเอาข้อมูลการพัฒนา และการแก้ไขต่างๆ แต่ข้อมูลเหล่านี้อยู่ตามที่ต่างๆ ไม่ได้รวมอยู่ในที่ที่เดียวกัน จนในที่สุด ไบอัน บีเลนดอร์ฟ (Brian Behlendorf) ได้สร้างจดหมายกลุ่ม (mailing list) ขึ้นมาเพื่อนำเอาข้อมูลเหล่านี้เข้าไว้เป็นกลุ่มเดียวกัน เพื่อให้สามารถเข้าถึงข้อมูลเหล่านี้ได้ง่ายยิ่งขึ้น และในที่สุด กลุ่มผู้พัฒนาได้เรียกตัวเองว่า กลุ่มอาปาเช่ (Apache Group) และได้ปล่อยซอฟต์แวร์ HTTPD เว็บเซิร์ฟเวอร์ ที่พัฒนาโดยการนำเอาแพชหลายๆ ตัวที่ผู้ใช้ได้พัฒนาขึ้นเพื่อปรับปรุงการทำงาน ของซอฟ์ตแวร์ตัวเดิมให้มีประสิทธิภาพมากยิ่งขึ้น
ตั้งแต่ ปี พ.ศ. 2539 Apache ได้รับความนิยมขึ้นเรื่อยๆ จนปัจจุบันได้รับความนิยมเป็นอันดับหนึ่ง มีผู้ใช้งาน อยู่ประมาณ 65% ของเว็บเซิร์ฟเวอร์ที่ให้บริการอยู่ทั้งหมด

 
M - MySQL (มายเอสคิวแอล) เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System) โดยใช้ภาษา SQL แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
MySQL สร้างขึ้นโดยชาวสวีเดน 2 คน และชาวฟินแลนด์ ชื่อ David Axmark, Allan Larsson และ Michael "Monty" Widenius.
ปัจจุบันบริษัทซันไมโครซิสเต็มส์ (Sun Microsystems, Inc.) เข้าซื้อกิจการของ MySQL AB เรียบร้อยแล้ว ฉะนั้นผลิตภัณฑ์ภายใต้ MySQL AB ทั้งหมดจะตกเป็นของซัน
ชื่อ "MySQL" อ่านออกเสียงว่า "มายเอสคิวเอล" (maɪˌɛskjuːˈɛl) หรือ "มายเอสคิวแอล" (ในการอ่านอักษร L ในภาษาไทย) ซึ่งทางซอฟต์แวร์ไม่ได้อ่าน มายซีเควล หรือ มายซีควล เหมือนกับซอฟต์แวร์จัดการฐานข้อมูลตัวอื่น

P - ภาษาเพิร์ล (อังกฤษ: Perl) (ย่อมาจาก Practical Extraction and Report Language) เป็นภาษาโปรแกรมแบบไดนามิก พัฒนาโดยนายแลร์รี วอลล์ (Larry Wall) ในปี ค.ศ. 1987 เพื่อใช้งานกับระบบปฏิบัติการยูนิกซ์
ภาษาเพิร์ล นั้นถูกออกแบบมาให้ใช้งานได้ง่าย โครงสร้างของภาษาจึงไม่ซับซ้อน มีลักษณะคล้ายกับภาษาซี นอกจากนี้เพิร์ลยังได้แนวคิดบางอย่างมาจากเชลล์สคริปต์, ภาษา AWK, sed และ Lisp


ขอขอบคุณข้อมูลจาก:: วิกิพีเดีย