ใครจะรู้บ้างว่าความมุ่งหวังเริ่มแรกของทีมพัฒนา Java ที่มีชื่อกลุ่มว่า Green Team นั้นไม่ได้เป้าหมายหลักว่าจะให้นำ Java มาใช้กับ Web Applications หรือ Applications ทั่วๆ ไปสำหรับเครื่องคอมพิวเตอร์แต่มุ่งหวังว่าจะนำไปใช้ควบคุมการทำงานของสินค้าอุปโภคต่างๆ ไม่ว่าจะเป็นทีวี ตู้เย็น เครื่องซักผ้า หรืออะไรก็ตามที่เป็นของใช้ในชีวิตประจำวันของมนุษย์ แล้วเทคโนโลยี Java เป็นอย่างไร และมีความเป็นมาเป็นไปอย่างไร มาติดตามกันได้เลยครับ
ความเป็นมาเป็นไปของ Java
เทคโนโลยี Java พัฒนาขึ้นมาโดยบริษัท Sun Micro System ซึ่ง Java มีหลักการทำงานเป็นแบบภาษาเชิงวัตถุ (Object Oriented Language) ซึ่งในปัจจุบัน Java มีอยู่ 3 ประเภทใหญ่ๆ คือ J2EE (Java 2 Enterprise Edition), J2SE (Java 2 Standard Edition) และ J2ME (Java 2 Micro Edition)

เริ่มแรก ทีมนักพัฒนา Java รวมตัวกันเป็นกลุ่มเล็กๆ ทำการพัฒนาโปรแกรมขนาดเล็กที่ฝังตัว (Embed) อยู่ภายในอุปกรณ์เครื่องใช้ไฟฟ้าต่างๆ เช่น ทีวี ตู้เย็น เครื่องซักผ้า เป็นต้น สำหรับสมาชิกทีมพัฒนาผู้บุกเบิก Java ในปี 1991 ก็จะประกอบด้วย Patrick Naughton, Mike Sheridan และ James Gosling ของบริษัท Sun Micro System (ทำหน้าที่เป็นผู้วางกลยุทธ์ในการพัฒนาครั้งนี้) โดยตั้งชื่อกลุ่มว่า "The Green Project" ซึ่งพวกเขาได้ให้ความสำคัญกับอุปกรณ์อิเลคทรอนิค คอมพิวเตอร์ และเครื่องใช้ไฟฟ้าทั่วไป ซึ่งจะเห็นได้ว่ามีเป้าหมายในการพัฒนามาเพื่อครองตลาดซอฟแวร์สำหรับผลิตภัณฑ์ที่มนุษย์นิยมใช้งานกัน
การทุ่มเทพัฒนาครั้งนี้ กลุ่ม Green Team ได้ลงทุนเก็บตัว ปลีกตัวเพื่อทำงานหามรุ่งหามค่ำห่างจากโลกภายนอกเป็นเวลาถึง 18 เดือน ในสำนักงานที่ Sand Hill Road (Menlo Park) จนเมื่อปี 1992 พวกเขาก็ได้ออกมาเผยโฉมตัวอย่างการทำงานของเทคโนโลยี Java เช่น Interactive TV ที่มีโปรแกรมควบคุมอุปกรณ์กล่องสัญญาณ (Home-entertainment set-top box) พร้อมภาพเคลื่อนไหวและการติดต่อผู้ใช้ผ่านหน้าจอแบบสัมผัส (Touch Screen) และรีโมตคอนโทรล โดยในการเปิดตัวครั้งนี้ ก็ได้แต่งตั้งตัวนำโชค (Mascot) ที่ชื่อว่า "The Duke" เป็นครั้งแรกอีกด้วย
ในขณะนั้น การใช้งานเครือข่ายอินเทอร์เน็ตได้รับความนิยมอย่างสูง แต่ทว่าทีมพัฒนากลับมุ่งหวังไปที่สินค้าอุปโภคประเภทต่างๆ อีกทั้งยังพยายามทำการตลาดเกี่ยวกับสินค้าที่สามารถนำเทคโนโลยี Java ไปใช้งานได้ แต่ผิดคาด เพราะไม่มีทีท่าว่าจะมีธุรกิจสินค้าอุปโภคใดให้ความสนใจเทคโนโลยี Java เป็นพิเศษ
เมื่อเป็นเช่นนี้ ทางทีมพัฒนาจึงต้องเบนเข็มไปแนวทางอื่น เพื่อไม่ให้สิ่งที่พวกเขาทุ่มเทพัฒนามานั้นต้องสูญเปล่า ดังนั้นทางทีมงานจึงได้ข้อสรุปว่าจะมุ่งเน้นไปพัฒนากับการใช้งานเครือข่ายอินเทอร์เน็ตแทน เพราะจากกระแสความนิยมของอินเทอร์เน็ตที่เพิ่มขึ้นเรื่อยๆ อย่างมหาศาล จึงมีแนวโน้มว่า Java จะประสบความสำเร็จอย่างแน่นอน จะเห็นได้จากที่ Web page เป็นล้านๆ Web page ที่กระจายอยู่ทั่วเครือข่าย Internet มักจะประกอบด้วย ข้อความ (Text), รูปภาพกราฟฟิก (Images&Graphics), ภาพเคลื่อนไหว (Animations) และอื่นๆ
และจากข้อจำกัดของเอกสารแบบ HTML ที่เป็นเอกสารแบบ Static จึงได้มีการพัฒนา Java Applet ขึ้นมาเพื่อแทรกลงบน Web page แบบ HTML ในรูปแบบของ Applet ซึ่งทำให้สามารถทำงานตอบสนองได้หลากหลายยิ่งขึ้น ซึ่งช่วงแรกๆ จะทำงานได้บนโปรแกรม Browser ที่มีชื่อว่า WebRunner ต่อมาก็กลายเป็นโปรแกรม HotJava จนกระทั้งในปี 1994 เทคโนโลยี Java ก็สามารถทำให้ Web Browser นำเสนอข้อมูลแบบภาพเคลื่อนไหวและเนื้อหาแบบ Dynamic ได้อย่างเต็มรูปแบบเป็นครั้งแรก
รู้จักกับ Java Technology ให้มากขึ้น
รูปแบบต่างๆ ของ Java (Java Platform) ถือกำเนิดบนพื้นฐานของเครือข่ายอินเทอร์เน็ต ซึ่งมีจุดเด่นคือโปรแกรมที่พัฒนาด้วยภาษา Java ไม่ยึดติดกับชนิดของเครื่องคอมพิวเตอร์ รวมถึงสามารถนำไปใช้กับอุปกรณ์อิเล็กทรอนิคประเภทต่างๆ ได้เป็นอย่างดี ส่งผลให้หลังจากปี 1995 เทคโนโลยี Java ได้รับความนิยมอย่างมาก ด้วยการที่สามารถนำไปใช้งานได้ง่าย และมีอิสระในการทำงานสูง

โปรแกรมหรือ Applications ที่พัฒนาด้วย Java สามารถหาได้ง่ายทั่วไปบนเครือข่ายอินเตอร์เน็ต และสามารถนำไปใช้งานได้โดยไม่ต้องคำนึงถึงระบบปฏิบัติการ (Operating System) ของเครื่องคอมพิวเตอร์ และไม่ว่าจะเป็นเครื่อง PC หรือเครื่อง Macintosh ก็สามารถนำ Java ไปใช้ได้อย่างไม่มีปัญหา นอกจากนั้น Java ก็ได้ถูกพัฒนาให้มีระบบความปลอดภัยในระดับสูง เช่นหากโปรแกรม Java เกิดข้อผิดพลาด (Error) ก็จะไม่ส่งผลให้การทำงานของเครื่องคอมพิวเตอร์ต้องหยุดชะงักหรือเสียหายอีกด้วย
เรื่องข้อมูลส่วนตัวที่เป็นความลับต่างๆ ก็มีความปลอดภัยสูงเช่นกัน ซึ่งจะทำให้การเชื่อมต่อเข้าอินเทอร์เน็ต การเข้าถึงข้อมูลผ่านโทรศัพท์มือถือ หรือการใช้งาน Smart Card ทำธุรกรรมการเงิน เช่นเบิกถอนเงินกับธนาคารด้วยเทคโนโลยี Java ก็มีอนาคตที่สดใส Platform ของ Java ก็กำลังเป็นเทคโนโลยียุคใหม่สำหรับอุปกรณ์อิเลคทรอนิค ,โทรศัพท์มือถือ ,Set-top box, Smart Card และอุปกรณ์อื่นๆ อีกนานาชนิด
Platform ของ Java Technology
ทางทีมงานพัฒนา Java ของบริษัท Sun Micro System ได้แบ่งประเภทของ Java ออกเป็น 3 ประเภทตามลักษณะการใช้งานดังนี้
1. J2EE (Java 2 Platform Enterprise Edition) - รองรับการพัฒนา Applications แบบ Multitear - มีโมดูลต่างๆ ที่ครบครัน ที่ไม่มีความซับซ้อน - สนับสนุนการเชื่อมต่อฐานข้อมูลหลากหลายรูปแบบ (JDBC) - สนับสนุน Corba, Security, EJB component, Servlet API - รองรับการพัฒนา Applications ทางธุรกิจ รวมถึงเรื่องพนักงานในองค์กร การบริการคู่ค้าขององค์กรขนาดใหญ่ - รองรับการทำ Transaction จำนวนมากๆ
2. J2SE (Java 2 Platform Standard Edition) - เป็นแก่นของ Java ในปัจจุบัน ซึ่งมีความเป็นมาตรฐานสูง - สามารถทำงานครอบคลุมตั้งแต่ระดับ Client จนถึงระดับ Server กล่าวคือจาก PC ถึง Super Computer - ผู้พัฒนาหรือโปรแกรมเมอร์ใช้เวลาในการพัฒนาน้อยลง - สนับสนุน XML, COM, SSL, Kerberos, LDAP, Corba
3. J2ME (Java 2 Platform Micro Edition) - รองรับการใช้งานกับผลิตภัณฑ์ที่มีขนาดเล็ก หน่วยความจำภายในจำกัด เช่นโทรศัพท์มือถือ - รองรับการใช้งานกับอุปกรณ์อิเลกทรอนิคขนาดเล็กอื่นๆ เช่น Smart Card, Pager, Set-top box

รู้จักกับ JVM (Java Virtual Machine)
ก่อนอื่นต้องทราบว่า Java เป็นภาษาระดับสูง (High Level Language) เหมือนกับภาษาบางภาษาเช่น Pascal, C หรือ C++ ซึ่งสำหรับผู้พัฒนาหรือโปรแกรมเมอร์ทำความเข้าใจได้ง่าย (Source Code) เนื่องจากไวยากรณ์ค่อนข้างจะใกล้เคียงกับภาษาเขียน แต่ทว่าเครื่องคอมพิวเตอร์นั้นทำงานในระบบเลขฐานสอง ซึ่งเข้าใจความหมายของเลขเพียงสองตัวที่เรียงกันสลับกันคือ 0 และ 1 เท่านั้น ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องมีตัวแปลภาษา (Translator) ติดตั้งในเครื่องเพื่อแปลความหมายเป็นภาษาที่เครื่องเข้าใจก่อน (Machine Code) แล้วทำการแปลงเป็น Execute Files ก่อน จึงจะสามารถทำงานได้
ขั้นแรก Source Code ภาษา Java จะถูกตัว Compiler ทำการ Compile ให้เป็นภาษาสำหรับ JVM (Java Virtual Machine) ซะก่อน ซึ่งจะเป็นไฟล์นามสกุล .class โดยไฟล์ .class นี้จะไม่ขึ้นกับระบบ จากนั้น JVM ก็จะส่งต่อไปที่ Java Interpreter ก็จะกลายเป็น Native Code ก่อนจะส่งไปประมวลผลที่ CPU ต่อไป ในรูปแบบที่ CPU เข้าใจ
ชุดคำสั่งต่างๆ ของ Java Virtual Machine ถูกพัฒนาขึ้นมาเพื่อสนับสนุนการทำงานแบบเชิงวัตถุ (Object-Oriented) โดยการนำ Class Files ไปใช้งานตามต้องการ ซึ่งเมื่อ JVM เริ่มทำงานจะมีการจองพื้นที่ในหน่วยความจำของเครื่องคอมพิวเตอร์เพื่อการประมวลผล (Execute) โปรแกรม ซึ่งพื้นที่หน่วยความจำบางส่วนจะถูกลบไปหลังจากผู้ใช้ออกจากการใช้งานโปรแกรมนั้นแล้ว
นอกจากนั้นส่วนอื่นๆ ของ JVM ก็จะมีหน้าที่และการทำงานดังนี้ - Verifying Code : จะทำหน้าที่ตรวจสอบความผิดปกติของรหัสคำสั่ง ถ้ามีความผิดปกติเกิดขึ้น หรืออาจจะทำให้ระบบขัดข้อง ก็จะทำการปฏิเสธการประมวลผลโปรแกรมนั้น - Private Class Name Space : จะสร้างขึ้นโดย User - Local Class Name Space : จะถูกสร้างขึ้น โดยระบบเป็นผู้กำหนดให้ - Loading Class : จะอยู่ใน Java ซึ่งจะมีตัว Class Loader ซึ่งทำหน้าที่ 3 อย่างข้างต้น
รูปแบบของ Executing Code
การ Executing Code ใน Java มีอยู่ 2 รูปแบบดังนี้ - Interpreter : เป็นตัวประมวลผลคำสั่ง (Instruction Code) หรือการประมวลผล Execute Code ทีละบรรทัด โดยจะทำการอ่าน Source Code แล้วแปลความหมายจนกระทั่งจบโปรแกรม ซึ่ง Executing Code แบบ Interpreter จะมีข้อเสียคือทำให้โปรแกรมบางโปรแกรมทำงานได้ช้า - Just In Time Compiler (JIT) : จะแตกต่างจาก Interpreter คือ JIT จะทำการเปลี่ยนตัว Bytecodes และทำการ Compile เป็น Native Code เพื่อส่งไปให้ CPU ทำการประมวลผล ซึ่งจะเห็นว่าการ Executing Code แบบ JIT จะทำงานได้เร็วกว่าแบบ Interpreter เพราะมีชุดคำสั่งที่ได้ทำการแปลไว้แล้วเก็บไว้ ทำให้ไม่ต้องแปล method ที่ใช้งานซ้ำกันอีกรอบ

สรุปส่งท้าย
ผลงานที่ออกสู่สายตาประชาชนทั่วไปของ Java ที่พัฒนาโดยบริษัท Sun Micro System ก็เห็นจะเป็นภาพเคลื่อนไหวที่แสดงบนโปรแกรม Web Browser ซึ่งหลังจากนั้น Sun ก็ได้พัฒนาต่อออกมาเป็น 3 รุ่นอย่างที่ทราบมาแล้วคือ J2EE, J2SE และ J2ME ซึ่งเป็น Independent Platform ส่วนการแปลภาษาของ Java ก็จะมี 2 แบบคือ Interpreter และ Just In Time (JIT) ซึ่งอยู่ใน Java Virtual Machine (JVM) ส่วนในโทรศัพท์มือถือที่ใช้กันอยู่ในปัจจุบัน ก็จะเป็น Java Platform แบบ J2ME ซึ่ง Java Applications ในมือถือ ที่แพร่หลายที่สุดในปัจจุบัน ก็คงจะหนีไม่พ้นบรรดาเกมส์ต่างๆ ที่มีมาให้ดาวน์โหลดกันอย่างล้นเหลือ ทั้งแบบฟรีและเสียเงิน สุดท้ายนี้ถ้าคุณคิดจะซื้อมือถือเครื่องใหม่ของคุณเองซักเครื่อง ก็ไม่อยากให้มือถือของคุณต้องขาดฟังก์ชัน Java ไม่งั้นสีสันของมือถือเครื่องใหม่ของคุณ อาจจะหายไปไม่น้อยเลยทีเดียวครับ
.......................................................................................................................
Create By : [TMC]-Oska (Thaimobilecenter Editor)
โปรดทราบ : บทความนี้เป็นลิขสิทธิ์ของเว็บไซต์ Thaimobilecenter.Com หากท่านใดต้องการนำไปเผยแพร่ กรุณาติดต่อ Thaimobilecenter Editor ได้โดยตรง
วันที่ : 4/06/47
|