รับเขียน J2ME java jsp oracle tomcat ทุกชนิด โทร 089-179-0714


รับเขียน j2me, php ASP.net c# vb.net Java JSP

รับเขียน database data mining, data warehouse, php ASP.net c# vb.net Java JSP Oracle MySQL SQLServer Access excel j2me j2ee เว็บไซต์ web service xml bpel crm erp mlm โปรเจค โปรแกรมนักศึกษา บริษัท งานด่วน งานเร่ง ทุกชนิด
รับเขียน php asp asp.net BPEL c# crm CRYTRAL REPORT c sharp database erp Java mrp mysql Oracle php SQLServer SQL SERVER vb VB.NET visual basic xml ทำเว็บไซต์ บริษัท รับทำเว็บไซต์ บริษัทออกแบบเว็บไซต์ ระบบ mlm รับทำเว็บ รับทำเว็บไซต์ รับทำเว็บไซต์ครบวงจร รับทำโปรเจค รับทำโปรเจคจบ นักศึกษา รับสร้างเว็บไซต์ รับสอนสร้างเว็บไซต์ รับเขียนเว็บ รับเขียนเว็บไซต์ รับเขียนโปรแกรม รับเขียนโปรแกรม JAVA สร้างเว็บไซต์ ออกแบบ database เขียน mysql เขียน php เขียนระบบ เขียนเว็บ เขียนเว็บไซต์ เขียนโปรเจ็คนักศึกษา โปรเจคนักศึกษา   flash photoshop
เราเขียนโปรแกรมด้วย กึ๊น :)
เสร็จตรงเวลา ไม่ทิ้งงาน

ท่านใดสนใจกรุณาส่งระบบงานที่ท่านต้องการมาได้ที่
Email & MSN: admin@siamwebcity.com
Skype: SiamWebCity.com
โทร 089-179-0714 นัท
Website: http://www.siamwebcity.com http://www.webUB.com http://www.Pyayam.com http://www.Sookna.com http://www.9go.in
Blog: http://siamwebcity.blogspot.com http://siamwebcity.wordpress.com

Advertisements
Comments Off on รับเขียน j2me, php ASP.net c# vb.net Java JSP

รับเขียน j2me สอน ออกแบบ ทุกอย่างที่เกี่ยวกับ J2ME

Posted in Uncategorized by pyayam on April 2, 2010
Tags: , ,

Mobile J2ME
การพัฒนาโปรแกรมเพื่อรองรับการทำงานบนอุปกรณ์ไร้สายเป็นอีก ความพยายามหนึ่งของบริษัท Sun Microsystems ที่สามารถเปลี่ยน โฉมหน้าเทคโนโลยีและบทบาทของอินเทอร์เน็ตไปอย่างสิ้นเชิง จุดมุ่งหมายที่สำคัญของการออกแบบภาษาจาวาคือ โปรแกรมต้องทำงานบนเครื่องต่างระบบกันได้ โดยเรียกคุณสมบัตินี้ว่า “ไม่ขึ้นกับระบบ” ซึ่งเป็นภาษาเชิงออบเจ็กต์ที่สามารถทำงานได้ ทุกระบบปฏิบัติการ “Write Once, Run Anywhere”
จากแนวความคิดนี้อยู่ที่การพัฒนาภาษาด้วยการเขียนรหัส(Code) โปรแกรมภาษาเพื่อให้สามารถรันบนแพล็ตฟอร์มใดๆ ก็ได้ที่สนับสนุนJava Virtual Machine ความพยายามของซันไมโครซิสเต็มส์ก็เป็นจริง เมื่อ Java 2 Standard Edition (J2SE) ได้เปิดตัวขึ้นมาเพื่อที่จะ ขยายขอบเขตขีดความสามารถของภาษาเข้าไปเอื้ออำนวยในอุปกรณ์เดสก์ทอปและคอมพิวเตอร์เซิร์ฟเวอร์ หลังจากนั้นก็ได้เปิดตัวและเผยแพร่ Java 2 Enterprise Edition ตัวใหม่ออกมาโชว์ลีลาให้เห็นถึงคุณสมบัติด้วยการสนับสนุนให้พัฒนาแอพพลิเคชันบนเซิร์ฟเวอร์
ในที่สุดซันไมโครซิสเต็มส์ก็ได้พัฒนาเพิ่มขึ้นมาอีกเป็นตระกูลMicro Edition เป็นเทคโนโลยีที่สามารถสร้างโปรแกรมให้ทำงานบนอุปกรณ์ไร้สาย โดยมีเป้าหมายสำหรับอุปกรณ์ขนาดเล็กจำพวก Handheld device เช่น โทรศัพท์มือถือ ปาล์ม Pocket PC และอุปกรณ์ต่างๆ ซึ่งอุปกรณ์เหล่านี้จะมีข้อจำกัดทางด้านหน่วยความจำ ความเร็วในการประมวลผลและการป้อนข้อมูล เป็นต้น
Top
เทคโนโลยีของ Java
ในเดือนธันวาคม ปี 1998 ซันไมโครซิสเต็ม ได้แนะนำจาวาที่ชื่อว่า “Java 2” หรือ (J2) ที่เกิดขึ้นพร้อมกันกับ Java 1.2 และมีชื่อเรียกใหม่เป็น Java, Standard Edition (J2SE), Enterprise Edition (J2EE) และ Micro Edition (J2ME) ทั้งหมดนี้ได้รับการออกแบบขึ้นมา โดยคำนึงถึงข้อจำกัดหลากหลายประการ ของอุปกรณ์เครื่องใช้ไฟฟ้า และเครื่องมือสื่อสารไม่ว่าจะเป็นความเร็ว ในการประมวลผล หน่วยความจำ ที่ต่ำ ใช้พลังงานแบตเตอรี่ต่ำ และข้อจำกัดอื่น ๆ อีกมากมาย ซึ่งในปัจจุบัน Sun Microsystems จัดแบ่งกลุ่มเทคโนโลยีจาวาออกเป็น 3 กลุ่ม เพื่อใช้งานกับอุปกรณ์ที่มีคุณสมบัติที่แตกต่างกันดังนี้คือ
Standard Edition (J2SE): เป็นเทคโนโลยีจาวา ที่ออกแบบเพื่อนำมาใช้พัฒนางานบนเครื่องคอมพิวเตอร์เดสก์ท้อปและคอมพิวเตอร์เวิร์กสเตชัน
Enterprise Edition (J2EE): ถูกออกแบบมาเพื่อให้สามารถใช้ งานบนระบบเครื่องเซิร์ฟเวอร์รองรับการทำงานร่วมกับ Servlets, JSPและ XML
Micro Edition (J2ME): มีเป้าหมายสำหรับพัฒนาแอพพลิเคชันที่ ทำงานบนอุปกรณ์เครื่องใช้ที่มีทรัพยากรจำกัดไม่ว่าจะเป็น ขนาดของหน่วยความจำ ความสามารถในการการประมวลผล เช่น โทรศัพท์มือถือ เพจเจอร์ ปาล์ม PDA เป็นต้น
Top
J2ME
J2ME หรือ Java 2 Micro Edition มีจุดมุ่งหมายสำหรับอุปกรณ์ที่มี ขนาดเล็กซึ่งมีทรัพยากรจำกัดทางด้านพลังงานความสามารถในการประมวลผล หน่วยความจำ อุปกรณ์จำพวกนี้มีมากมาย เช่น เพจเจอร์ โทรศัพท์เคลื่อนที่ ปาล์ม พีดีเอ เป็นต้น นอกจากนี้ J2ME ยังสามารถใช้พัฒนาแอพพลิเคชันให้ทำงานบนอุปกรณ์ที่ไม่ได้เป็นอุปกรณ์ไร้สายได้อีกด้วยถ้าไม่มีข้อจำกัดเพื่อดาวน์โหลดและติดตั้งซอฟต์แวร์เช่น กล่องรับสัญญาณดาวเทียมสำหรับทีวี อินเทอร์เน็ตทีวี เป็นต้น ในการออกแบบโปรแกรม J2ME มีการแบ่งออกเป็นเอดิชันย่อย ก็เพื่อความเหมาะสมกับการเลือกไปพัฒนาแอพพลิเคชันตามขนาดและ ลักษณะของงานซึ่งอาจจะแบ่งแยกออกเป็นกลุ่มๆ เหมือนกับเป็นการจัดแบ่งกลุ่มของคลาสและแพกเกจของแต่ละเอดิชัน
คำถามแรกที่น่าจะเกิดขึ้นสำหรับทุกคนว่าทำไมต้องเป็น J2ME ซึ่งพอมีข้ออธิบายได้ดังนี้
J2ME ได้เพิ่มความสามารถให้กับ มือถือ ทำให้เกิดความหลายหลายในการใช้งาน
J2ME สามารถทำการ ติดตั้ง และ อัพเดท ได้ง่าย และสะดวก
J2ME มีความสามารถด้าน Cross-platform compatibility ทำให้สะดวกสำหรับนักพัฒนา
J2ME มี Security (ปลอดภัย) และ ความน่าเชื่อถือสูง
J2ME มี library เสริมต่างๆ สำหรับนักพัฒนา
J2ME รองรับกับมาตรฐาน XML และ IP Protocols
และจากการสำรวจจากกลุ่มนักพัฒนา ทางด้าน Wireless โดย Evan Data เมื่อ เดือนมีนาคม 2544 จะได้ผลสรุปเรื่อง platform ที่ใช้ ดังตาราง
Platform
ปริมาณ
Java/J2ME
Palm
Pocket PC
Linux
EPOC
29.4 % (153)
24.2 % (126)
22.1% (115)
6.7 % (35)
2.3 %
จะเห็นได้ว่ากลุ่มของนักพัฒนาของ Java จะมีจำนวนมากที่สุด ทำให้คุณสามารถศึกษา และหาข้อมูลได้มากกว่าบน platform อื่นๆ
สินค้าหรือบริการประเภทอุปกรณ์อิเล็กทรอนิกส์ขนาดเล็กเป็นอีก ส่วนหนึ่งที่กำลังเข้ามาเปลี่ยนแปลงชีวิตของคนเรามากขึ้น โดยเฉพาะโทรศัพท์เคลื่อนที่เพื่อให้เราติดต่อเมื่อไม่อยู่ในบ้านหรือออฟฟิศ Personal digital assistants (PDAs) ให้เราเข้าถึงอีเมล์หรือค้นหาข้อมูลบนอินเทอร์เน็ต การกำหนดรูปแบบเพื่อให้สอดคล้องกับดำเนินตาม วิถีชีวิตด้วยเทคโนโลยีในยุคดิจิตอลซึ่งทั้งหมดกับเป็นการเริ่มต้น ของเทคโนโลยีจาวาสำหรับอุปกรณ์ไร้สายที่แสดงให้เห็นอย่างชัด เจนว่า เทคโนโลยี J2ME นี้ได้รับการออกแบบให้เหมาะสำหรับใช้งานกับเครื่องใช้ไฟฟ้าและเครื่องมือสื่อสาร เช่นตอนนี้มีการเข้าถึงลักษณะการใช้งานเทคโนโลยีจาวาหรือจาวาแพล็ตฟอร์(platform)สิ่งนั้นคือภาษาการเขียนโปรแกรมควบคุมที่ง่ายในสภาพแวดล้อมแบบรันไทม์(runtime) มีข้อกำหนดที่ปลอดภัย เป็นแพล็ตฟอร์มที่ เคลื่อนย้ายสะดวกและเข้าถึงความสามารถไดนามิกได้ ประมาณว่าถ้าไม่กล่าวถึงกลุ่มที่พัฒนามีมากกว่าสองล้านคน
ถึงแม้ว่าจะไม่มีส่วนที่ดีสำหรับคนทั้งหมดแต่ J2SE Application Programming Interface (API) ยังเป็นอุปกรณ์ไมโครที่ไม่ใช่อย่างที่เห็นบางอย่างในยุคปัจจุบันยกตัวอย่างเช่น โทรศัพท์เคลื่อนที่กับจอที่จำกัดของมันไม่สามารถกำหนดฟังก์ชันทั้งหมดให้มีใน AWT (Abstract Windows Toolkit) ส่วนติดต่อผู้ใช้ที่เริ่มเป็นกราฟิกแบบภาพยนต์กับจาวา สำหรับ “Micro Edition” เริ่มเข้าสู่ผู้ใช้สำหรับผู้ที่ต้องการอุปกรณ์พิเศษ คือ J2SE และ J2EE
ความสามารถของ “Micro Edition” ภายในอุปกรณ์มือถือส่วนใหญ่ที่มีทรัพยากรจำกัดนั้นจะถูกออกแบบหน้าจอให้มีขนาดเล็กแต่ยังสามารถเข้าถึงอีเมล์ ข่าว ธนาคารออนไลน์(online banking) และอื่นๆ ได้เพียงปลายนิ้วคลิก อย่างไรก็ตามแม้อุปกรณ์ที่ใช้งานดูเหมือนจะขนาดเล็กแต่อุปกรณ์เหล่านี้มากด้วยความสามารถเกินคำ บรรยาย สำหรับโทรศัพท์และ PDA ทั้งคู่ยังจำกัดในขนาด และยังมี ความสามารถในการพิมพ์โดยหน้าจอของโทรศัพท์มือถือจะมีความ ละเอียดของหน้าจอประมาณ 12,288 พิกเซล (96×128 พิกเซล) ส่วน PDA นั้นมีความละเอียดของหน้าจอเริ่มต้นที่ 20,000 พิกเซล และมากกว่านี้ขึ้นไป
อุปกรณ์ที่สามารถใช้เทคโนโลยีได้ J2ME แบ่งออกเป็น 2 กลุ่มดังนี้ คือ
Personal, mobile, connected, information devices เช่น โทรศัพท์มือถือ เพจเจอร์ และออแกไนเซอร์ เป็นต้น ซึ่งเป็นอุปกรณ์ที่มีการอินเตอร์เฟสแบบง่ายๆ มีหน่วยความจำประมาณ 128 – 512 กิโลไบต์และมีแบนด์วิดธ์ที่ต่ำ ส่วนการเชื่อมต่อของอุปกรณ์ไม่ได้ ใช้โปรโตคอลTCP/IP
Shared, fixed, connected, information devices เช่น อุปกรณ์เซตท้อป(set-top boxes) อินเทอร์เน็ตทีวี ความบันเทิงในรถยนต์และระบบการเดินเรือ เป็นต้น อุปกรณ์จำพวกนี้มียูสเซอร์อินเทอร์เฟสให้ใช้หลายแบบ มีหน่วยความจำประมาณ 2 – 16 เมกะไบต์ ส่วนการเชื่อมต่อกับเน็ตเวิร์กนั้น โดยมากแล้วใช้โปรโตคอล TCP/IP ที่มีแบนด์วิดธ์ค่อนข้างสูง
Top
โครงสร้างสถาปัตยกรรมของ J2ME
การออกแบบโครงสร้างเทคโนโลยีจาวาตระกูล J2ME มีการ จัดแบ่งหน้าที่ทำงานออกเป็น 4 ระดับชั้นด้วยกัน เพื่อรองรับกับการใช้งานกับอุปกรณ์ต่างๆ คือ Operating Syetem Java Virtual Machine Layer Configuration และ Layer Profile Layer
Host Operating System จะเป็นส่วนของระบบปฏิบัติการ เช่นเดียวกับบนเครื่อง Desktop หรือ Laptop ที่มี Windows เป็นระบบปฏิบัติการ บนโทรศัพท์มือก็มีด้วยเช่นกัน อาทิ Nokia 7650, 3650 จะมี Symbian OS เป็นระบบปฏิบัติการ, เครื่อง Palm จะมี Palm OS เป็นระบบปฏิบัติการ
Java Virtual Machines (JVM) จะเป็นส่วนของระบบจัดการ ที่ควบคุม และทำงาน ให้สามารถทำงานร่วมกันได้ ระหว่าง Java กับ Host Operating System โดยมากจะเป็นการแปลงจาก code Java ไปเป็นคำสั่ง ที่ Host Operating System เข้าใจ และทำงานร่วมกันได้
Configuration เป็นกลุ่มของ Class Library (คลัง Class) ที่ครอบคลุม ถึงอุปกรณ์ต่างๆ ที่อยู่ในกลุ่ม
Profiles เป็นกลุ่มของ คำสั่ง,API (Application Programming Interface) ที่ใช้สำหรับอุปกรณ์ แต่ละประเภทโดยเฉพาะ
หัวใจหลักของสถาปัตยกรรมหรือโครงสร้างของ J2ME สามารถแบ่งออกเป็น 2 ส่วน คือ คอนฟิกกูเรชัน (Configurations) และโพรไฟล์ (Profiles) ซึ่งมีลักษณะเป็นโมดูลที่มีความยืดหยุ่นพร้อมกับ สามารถนำไปใช้งานกับอุปกรณ์ที่ต่างกันได้ โดยสามารถปรับแต่งได้ตามความต้องการ ของผู้บริโภคและนอกจากนี้ผู้ผลิต หรือผู้พัฒนาซอฟต์แวร์บนอุปกรณ์ ยังสามารถขยายหรือเพิ่มความสามารถในเวอร์ชวลแมชีนได้ ดังนั้นจึงไม่ได้เป็นแพลตฟอร์ม เฉพาะกับอุปกรณ์ชนิดใดชนิดหนึ่ง แต่ก็ยังมีเงื่อนไขตามแนวที่กำหนดของ J2ME อยู่
Top
Configurations
สำหรับ Configurations ของ J2ME ที่ใช้งานกับอุปกรณ์ใด ๆ ต้องสามารถทำงานกับมาตรฐานที่กำหนดไว้ในกลุ่ม JCP และต้องสามารถใช้งาน Runtime Classes ตามข้อกำหนดได้ นอกจากนี้ Configurations ยังจะเป็นตัวกำหนดฟิวเจอร์หรือไลบารีมาตรฐาน ซึ่งจะมีเหมือนกันในทุกอุปกรณ์ที่จัดอยู่ในประเภทเดียวกัน การจัดแบ่งกลุ่มคอนฟิกกูเรชันปัจจุบันมี 2 ประเภท คือ Connected Device Configuration (CDC) และ Connected, Limited Device Configuration (CLDC) โดยแต่ละตัวจะใช้ VM (Virtual Machine) ที่ต่างกันด้วย
นอกจากนี้แล้วสำหรับอุปกรณ์ที่มีข้อจำกัดในการทำงานจะเป็นบรรทัดฐานในการแบ่งกลุ่ม โดยคุณสมบัติพื้นฐานทั้งหมดนี้จะใช้ในการจัดแบ่งกลุ่มของอุปกรณ์ซึ่งมีความคล้ายกันในเรื่องของ หน่วยความจำ หน้าจอ เครือข่ายในการเชื่อมต่อ และพลังงาน
Top
Connected Device Configuration (CDC)
ใช้หน่วยความจำอย่างน้อย 512 กิโลไบต์ สำหรับจาวา
ใช้หน่วยความจำอย่างน้อย 256 กิโลไบต์ ในขณะรันไทม์ (runtime)
สามารถเชื่อมต่อสัญญาณที่มีแบนด์วิดธ์สูง (bandwidth)
ตัวอย่างอุปกรณ์เหล่านี้ได้แก่ อุปกรณ์เซตท้อป อินเทอร์เน็ตทีวี เครื่องซักผ้า ตู้เย็น ระบบเครื่องเสียงแบบไฮเอนต์ ระบบการเดินเรือ และความบันเทิงในรถยนต์ เป็นต้น
Top
Connected, Limited Device Configuration (CLDC)
ใช้หน่วยความจำ 128 กิโลไบต์ สำหรับจาวา
ใช้หน่วยความจำ 32 กิโลไบต์ สำหรับรันไทม์ (runtime)
มีข้อจำกัดเกี่ยวกับยูสเซอร์อินเตอร์เฟส(user interface)
ใช้พลังงานแบตเตอรี่ต่ำ (battery)
สามารถเชื่อมต่อกับอุปกรณ์ไร้สายชนิดที่มีแบนด์วิดธ์ต่ำ(bandwidth) และเข้าถึงแบบไม่ต่อเนื่อง
ตัวอย่างอุปกรณ์เหล่านี้ได้แก่ โทรศัพท์มือถือ เพจเจอร์และ ออแกไนเซอร์ เป็นต้น
ถึงแม้ว่าการจัดแบ่งกลุ่มจะดูเหมือนชัดเจนยิ่งขึ้น แต่สิ่งนี้จะ ไม่ใช่ทางเลือกเสมอไปเพราะเทคโนโลยีกำลังรุดหน้าและพัฒนาก้าวไปอย่างต่อเนื่อง สำหรับความสัมพันธ์ของ CLDC กับ CDC จะเห็นได้ว่ามีบางส่วนของ J2ME ไม่ได้อยู่ใน J2SE บางส่วนที่ว่านี้ก็คือ คลาสแพ็กเกจ หรือ API ที่เกี่ยวข้องกับการทำงานและส่วนติดต่อกับอุปกรณ์ที่สนับสนุน J2ME นั้นเอง
Top
Profiles
ใจหลักอันสำคัญของเทคโนโลยี J2ME นั้นก็คือโพรไฟล์ (Profile) เนื่องจากลักษณะของการใช้งานในแต่ละงานนั้นแตกต่างกัน โดยถูกสร้างไว้อยู่เหนือระดับ Coniguration จึงเป็นตัวกำหนดฟังก์ชัน ในการทำงานพร้อมทั้งเป็นตัวกลางระหว่างแอพพลิเคชันกับสภาวะ แวดล้อมของ J2ME ดังนั้นโพรไฟล์จึงเกี่ยวข้องกับคุณลักษณะทาง ด้านฮาร์ดแวร์ของอุปกรณ์แต่ละตัว เช่น โพรไฟล์ของอุปกรณ์ประเภทมือถือ คือ Mobile Information Device Profile (MIDP) สำหรับชุดของ API (Application Programming Interface) นี้ใช้สำหรับงานในแต่ละ vertical market ส่วนยูสเซอร์อินเตอร์เฟสคอมโพแนน คือ Input/Output, Event handling, Persistent storage, Networking และ Timers
Profiles เป็นส่วนของ API และ Class ที่ใช้งานได้บนตัวของอุปกรณ์ แต่ละประเภท ซึ่งเป็นการขยายความสามารถของ CDC หรือ CLDC ให้มากขึ้น และมีส่วนของการทำงานที่เป็น ลักษณะเฉพาะของอุปกรณ์นั้นๆ ตัวอย่างของ Profile ที่ใช้งานการพัฒนา เช่น
MIDP (Mobile Information Device Profile) เมื่อพูดถึง MIDP ก็จะหมายถึง ประเภทของ Device พวกที่มีคุณสมบัติต่อไปนี้ small display ( min. 96 x 54 pixels) , มี touch screen หรือ keypad, สามารถ connect mobile network ด้วย bandwidth ที่จำกัด MIDP ประกอบด้วย APIs ที่ทำหน้าที่ดังต่อไปนี้
– Defining and controlling application
– Displaying text, graphics and responding to user events
– Storing data in simple database
– Network connectivity via a subset of HTTP
– Timer notifications
Mobile Information Device Next Generation (MIDP_NG) เป็น Generation ที่จะออกถัดไปของ MIDP ซึ่งจะเพิ่ม function ต่าง ๆ ให้ดังนี้
– Domain security model
– HTTPS Support
– Socket , datagrams support
– มี OTA Provisioning
– Push architecture โดย message หรือ event ภายนอกจะถูกส่งไปยัง MIDlet
– เพิ่มความสามารถในการ Control large screen
– มี XML parser
– มี Sound API
PDA Profile (Personal Digital Assistant Profile) สำหรับอุปกรณ์ประเภท Organizer เช่น เครื่อง Palm
Foundation Profile สำหรับอุปกรณ์ในกลุ่มของ High-end device, เป็นส่วนขยายเพิ่มเติมเฉพาะด้านให้กับ CDC ซึ่งจะประกอบด้วย API และ Function พื้นฐาน เป็น Profile ที่พัฒนาบน CDC เหมาะสำหรับ Device ที่มีคุณสมบัติลักษณะต่อไปนี้
– 1024K minimum ROM
– 512k minimum RAM
– Connectivity กับระบบ Network ได้
– ไม่มี GUI เว้นเสียแต่จะใช้ additional profile อื่น ๆ เพิ่มเติมเข้ามาเพื่อทำ GUI
Personal Profile สำหรับอุปกรณ์ในกลุ่มของ High-end device, เป็นส่วนขยายเพิ่มเติมเฉพาะด้านให้กับ Foundation Profile ซึ่งจะประกอบด้วย การจัดการด้าน GUI
RMI Profile สำหรับอุปกรณ์ในกลุ่มของ High-end device, เป็นส่วนขยายเพิ่มเติมเฉพาะด้านให้กับ Foundation Profile ซึ่งจะประกอบด้วย การจัดการด้าน RMI (Remote Method Invocation

Mobile J2ME        การพัฒนาโปรแกรมเพื่อรองรับการทำงานบนอุปกรณ์ไร้สายเป็นอีก ความพยายามหนึ่งของบริษัท Sun Microsystems ที่สามารถเปลี่ยน โฉมหน้าเทคโนโลยีและบทบาทของอินเทอร์เน็ตไปอย่างสิ้นเชิง จุดมุ่งหมายที่สำคัญของการออกแบบภาษาจาวาคือ โปรแกรมต้องทำงานบนเครื่องต่างระบบกันได้ โดยเรียกคุณสมบัตินี้ว่า “ไม่ขึ้นกับระบบ” ซึ่งเป็นภาษาเชิงออบเจ็กต์ที่สามารถทำงานได้ ทุกระบบปฏิบัติการ “Write Once, Run Anywhere”
จากแนวความคิดนี้อยู่ที่การพัฒนาภาษาด้วยการเขียนรหัส(Code) โปรแกรมภาษาเพื่อให้สามารถรันบนแพล็ตฟอร์มใดๆ ก็ได้ที่สนับสนุนJava Virtual Machine ความพยายามของซันไมโครซิสเต็มส์ก็เป็นจริง เมื่อ Java 2 Standard Edition (J2SE) ได้เปิดตัวขึ้นมาเพื่อที่จะ ขยายขอบเขตขีดความสามารถของภาษาเข้าไปเอื้ออำนวยในอุปกรณ์เดสก์ทอปและคอมพิวเตอร์เซิร์ฟเวอร์ หลังจากนั้นก็ได้เปิดตัวและเผยแพร่ Java 2 Enterprise Edition ตัวใหม่ออกมาโชว์ลีลาให้เห็นถึงคุณสมบัติด้วยการสนับสนุนให้พัฒนาแอพพลิเคชันบนเซิร์ฟเวอร์
ในที่สุดซันไมโครซิสเต็มส์ก็ได้พัฒนาเพิ่มขึ้นมาอีกเป็นตระกูลMicro Edition เป็นเทคโนโลยีที่สามารถสร้างโปรแกรมให้ทำงานบนอุปกรณ์ไร้สาย โดยมีเป้าหมายสำหรับอุปกรณ์ขนาดเล็กจำพวก Handheld device เช่น โทรศัพท์มือถือ ปาล์ม Pocket PC และอุปกรณ์ต่างๆ ซึ่งอุปกรณ์เหล่านี้จะมีข้อจำกัดทางด้านหน่วยความจำ ความเร็วในการประมวลผลและการป้อนข้อมูล เป็นต้น
Top
เทคโนโลยีของ Java
ในเดือนธันวาคม ปี 1998 ซันไมโครซิสเต็ม ได้แนะนำจาวาที่ชื่อว่า “Java 2” หรือ (J2) ที่เกิดขึ้นพร้อมกันกับ Java 1.2 และมีชื่อเรียกใหม่เป็น Java, Standard Edition (J2SE), Enterprise Edition (J2EE) และ Micro Edition (J2ME) ทั้งหมดนี้ได้รับการออกแบบขึ้นมา โดยคำนึงถึงข้อจำกัดหลากหลายประการ ของอุปกรณ์เครื่องใช้ไฟฟ้า และเครื่องมือสื่อสารไม่ว่าจะเป็นความเร็ว ในการประมวลผล หน่วยความจำ ที่ต่ำ ใช้พลังงานแบตเตอรี่ต่ำ และข้อจำกัดอื่น ๆ อีกมากมาย ซึ่งในปัจจุบัน Sun Microsystems จัดแบ่งกลุ่มเทคโนโลยีจาวาออกเป็น 3 กลุ่ม เพื่อใช้งานกับอุปกรณ์ที่มีคุณสมบัติที่แตกต่างกันดังนี้คือ
Standard Edition (J2SE): เป็นเทคโนโลยีจาวา ที่ออกแบบเพื่อนำมาใช้พัฒนางานบนเครื่องคอมพิวเตอร์เดสก์ท้อปและคอมพิวเตอร์เวิร์กสเตชัน
Enterprise Edition (J2EE): ถูกออกแบบมาเพื่อให้สามารถใช้ งานบนระบบเครื่องเซิร์ฟเวอร์รองรับการทำงานร่วมกับ Servlets, JSPและ XML
Micro Edition (J2ME): มีเป้าหมายสำหรับพัฒนาแอพพลิเคชันที่ ทำงานบนอุปกรณ์เครื่องใช้ที่มีทรัพยากรจำกัดไม่ว่าจะเป็น ขนาดของหน่วยความจำ ความสามารถในการการประมวลผล เช่น โทรศัพท์มือถือ เพจเจอร์ ปาล์ม PDA เป็นต้น
Top
J2ME        J2ME หรือ Java 2 Micro Edition มีจุดมุ่งหมายสำหรับอุปกรณ์ที่มี ขนาดเล็กซึ่งมีทรัพยากรจำกัดทางด้านพลังงานความสามารถในการประมวลผล หน่วยความจำ อุปกรณ์จำพวกนี้มีมากมาย เช่น เพจเจอร์ โทรศัพท์เคลื่อนที่ ปาล์ม พีดีเอ เป็นต้น นอกจากนี้ J2ME ยังสามารถใช้พัฒนาแอพพลิเคชันให้ทำงานบนอุปกรณ์ที่ไม่ได้เป็นอุปกรณ์ไร้สายได้อีกด้วยถ้าไม่มีข้อจำกัดเพื่อดาวน์โหลดและติดตั้งซอฟต์แวร์เช่น กล่องรับสัญญาณดาวเทียมสำหรับทีวี อินเทอร์เน็ตทีวี เป็นต้น ในการออกแบบโปรแกรม J2ME มีการแบ่งออกเป็นเอดิชันย่อย ก็เพื่อความเหมาะสมกับการเลือกไปพัฒนาแอพพลิเคชันตามขนาดและ ลักษณะของงานซึ่งอาจจะแบ่งแยกออกเป็นกลุ่มๆ เหมือนกับเป็นการจัดแบ่งกลุ่มของคลาสและแพกเกจของแต่ละเอดิชัน
คำถามแรกที่น่าจะเกิดขึ้นสำหรับทุกคนว่าทำไมต้องเป็น J2ME ซึ่งพอมีข้ออธิบายได้ดังนี้
J2ME ได้เพิ่มความสามารถให้กับ มือถือ ทำให้เกิดความหลายหลายในการใช้งาน
J2ME สามารถทำการ ติดตั้ง และ อัพเดท ได้ง่าย และสะดวก
J2ME มีความสามารถด้าน Cross-platform compatibility ทำให้สะดวกสำหรับนักพัฒนา
J2ME มี Security (ปลอดภัย) และ ความน่าเชื่อถือสูง
J2ME มี library เสริมต่างๆ สำหรับนักพัฒนา
J2ME รองรับกับมาตรฐาน XML และ IP Protocols
และจากการสำรวจจากกลุ่มนักพัฒนา ทางด้าน Wireless โดย Evan Data เมื่อ เดือนมีนาคม 2544 จะได้ผลสรุปเรื่อง platform ที่ใช้ ดังตาราง
PlatformปริมาณJava/J2ME
Palm
Pocket PC
Linux
EPOC
29.4 % (153)
24.2 % (126)
22.1% (115)
6.7 % (35)
2.3 %
จะเห็นได้ว่ากลุ่มของนักพัฒนาของ Java จะมีจำนวนมากที่สุด ทำให้คุณสามารถศึกษา และหาข้อมูลได้มากกว่าบน platform อื่นๆ
สินค้าหรือบริการประเภทอุปกรณ์อิเล็กทรอนิกส์ขนาดเล็กเป็นอีก ส่วนหนึ่งที่กำลังเข้ามาเปลี่ยนแปลงชีวิตของคนเรามากขึ้น โดยเฉพาะโทรศัพท์เคลื่อนที่เพื่อให้เราติดต่อเมื่อไม่อยู่ในบ้านหรือออฟฟิศ Personal digital assistants (PDAs) ให้เราเข้าถึงอีเมล์หรือค้นหาข้อมูลบนอินเทอร์เน็ต การกำหนดรูปแบบเพื่อให้สอดคล้องกับดำเนินตาม วิถีชีวิตด้วยเทคโนโลยีในยุคดิจิตอลซึ่งทั้งหมดกับเป็นการเริ่มต้น ของเทคโนโลยีจาวาสำหรับอุปกรณ์ไร้สายที่แสดงให้เห็นอย่างชัด เจนว่า เทคโนโลยี J2ME นี้ได้รับการออกแบบให้เหมาะสำหรับใช้งานกับเครื่องใช้ไฟฟ้าและเครื่องมือสื่อสาร เช่นตอนนี้มีการเข้าถึงลักษณะการใช้งานเทคโนโลยีจาวาหรือจาวาแพล็ตฟอร์(platform)สิ่งนั้นคือภาษาการเขียนโปรแกรมควบคุมที่ง่ายในสภาพแวดล้อมแบบรันไทม์(runtime) มีข้อกำหนดที่ปลอดภัย เป็นแพล็ตฟอร์มที่ เคลื่อนย้ายสะดวกและเข้าถึงความสามารถไดนามิกได้ ประมาณว่าถ้าไม่กล่าวถึงกลุ่มที่พัฒนามีมากกว่าสองล้านคน
ถึงแม้ว่าจะไม่มีส่วนที่ดีสำหรับคนทั้งหมดแต่ J2SE Application Programming Interface (API) ยังเป็นอุปกรณ์ไมโครที่ไม่ใช่อย่างที่เห็นบางอย่างในยุคปัจจุบันยกตัวอย่างเช่น โทรศัพท์เคลื่อนที่กับจอที่จำกัดของมันไม่สามารถกำหนดฟังก์ชันทั้งหมดให้มีใน AWT (Abstract Windows Toolkit) ส่วนติดต่อผู้ใช้ที่เริ่มเป็นกราฟิกแบบภาพยนต์กับจาวา สำหรับ “Micro Edition” เริ่มเข้าสู่ผู้ใช้สำหรับผู้ที่ต้องการอุปกรณ์พิเศษ คือ J2SE และ J2EE
ความสามารถของ “Micro Edition” ภายในอุปกรณ์มือถือส่วนใหญ่ที่มีทรัพยากรจำกัดนั้นจะถูกออกแบบหน้าจอให้มีขนาดเล็กแต่ยังสามารถเข้าถึงอีเมล์ ข่าว ธนาคารออนไลน์(online banking) และอื่นๆ ได้เพียงปลายนิ้วคลิก อย่างไรก็ตามแม้อุปกรณ์ที่ใช้งานดูเหมือนจะขนาดเล็กแต่อุปกรณ์เหล่านี้มากด้วยความสามารถเกินคำ บรรยาย สำหรับโทรศัพท์และ PDA ทั้งคู่ยังจำกัดในขนาด และยังมี ความสามารถในการพิมพ์โดยหน้าจอของโทรศัพท์มือถือจะมีความ ละเอียดของหน้าจอประมาณ 12,288 พิกเซล (96×128 พิกเซล) ส่วน PDA นั้นมีความละเอียดของหน้าจอเริ่มต้นที่ 20,000 พิกเซล และมากกว่านี้ขึ้นไป
อุปกรณ์ที่สามารถใช้เทคโนโลยีได้ J2ME แบ่งออกเป็น 2 กลุ่มดังนี้ คือ
Personal, mobile, connected, information devices เช่น โทรศัพท์มือถือ เพจเจอร์ และออแกไนเซอร์ เป็นต้น ซึ่งเป็นอุปกรณ์ที่มีการอินเตอร์เฟสแบบง่ายๆ มีหน่วยความจำประมาณ 128 – 512 กิโลไบต์และมีแบนด์วิดธ์ที่ต่ำ ส่วนการเชื่อมต่อของอุปกรณ์ไม่ได้ ใช้โปรโตคอลTCP/IP
Shared, fixed, connected, information devices เช่น อุปกรณ์เซตท้อป(set-top boxes) อินเทอร์เน็ตทีวี ความบันเทิงในรถยนต์และระบบการเดินเรือ เป็นต้น อุปกรณ์จำพวกนี้มียูสเซอร์อินเทอร์เฟสให้ใช้หลายแบบ มีหน่วยความจำประมาณ 2 – 16 เมกะไบต์ ส่วนการเชื่อมต่อกับเน็ตเวิร์กนั้น โดยมากแล้วใช้โปรโตคอล TCP/IP ที่มีแบนด์วิดธ์ค่อนข้างสูง
Top
โครงสร้างสถาปัตยกรรมของ J2ME         การออกแบบโครงสร้างเทคโนโลยีจาวาตระกูล J2ME มีการ จัดแบ่งหน้าที่ทำงานออกเป็น 4 ระดับชั้นด้วยกัน เพื่อรองรับกับการใช้งานกับอุปกรณ์ต่างๆ คือ Operating Syetem Java Virtual Machine Layer Configuration และ Layer Profile Layer
Host Operating System จะเป็นส่วนของระบบปฏิบัติการ เช่นเดียวกับบนเครื่อง Desktop หรือ Laptop ที่มี Windows เป็นระบบปฏิบัติการ บนโทรศัพท์มือก็มีด้วยเช่นกัน อาทิ Nokia 7650, 3650 จะมี Symbian OS เป็นระบบปฏิบัติการ, เครื่อง Palm จะมี Palm OS เป็นระบบปฏิบัติการ
Java Virtual Machines (JVM) จะเป็นส่วนของระบบจัดการ ที่ควบคุม และทำงาน ให้สามารถทำงานร่วมกันได้ ระหว่าง Java กับ Host Operating System โดยมากจะเป็นการแปลงจาก code Java ไปเป็นคำสั่ง ที่ Host Operating System เข้าใจ และทำงานร่วมกันได้
Configuration เป็นกลุ่มของ Class Library (คลัง Class) ที่ครอบคลุม ถึงอุปกรณ์ต่างๆ ที่อยู่ในกลุ่ม
Profiles เป็นกลุ่มของ คำสั่ง,API (Application Programming Interface) ที่ใช้สำหรับอุปกรณ์ แต่ละประเภทโดยเฉพาะ
หัวใจหลักของสถาปัตยกรรมหรือโครงสร้างของ J2ME สามารถแบ่งออกเป็น 2 ส่วน คือ คอนฟิกกูเรชัน (Configurations) และโพรไฟล์ (Profiles) ซึ่งมีลักษณะเป็นโมดูลที่มีความยืดหยุ่นพร้อมกับ สามารถนำไปใช้งานกับอุปกรณ์ที่ต่างกันได้ โดยสามารถปรับแต่งได้ตามความต้องการ ของผู้บริโภคและนอกจากนี้ผู้ผลิต หรือผู้พัฒนาซอฟต์แวร์บนอุปกรณ์ ยังสามารถขยายหรือเพิ่มความสามารถในเวอร์ชวลแมชีนได้ ดังนั้นจึงไม่ได้เป็นแพลตฟอร์ม เฉพาะกับอุปกรณ์ชนิดใดชนิดหนึ่ง แต่ก็ยังมีเงื่อนไขตามแนวที่กำหนดของ J2ME อยู่
Top
Configurations        สำหรับ Configurations ของ J2ME ที่ใช้งานกับอุปกรณ์ใด ๆ ต้องสามารถทำงานกับมาตรฐานที่กำหนดไว้ในกลุ่ม JCP และต้องสามารถใช้งาน Runtime Classes ตามข้อกำหนดได้ นอกจากนี้ Configurations ยังจะเป็นตัวกำหนดฟิวเจอร์หรือไลบารีมาตรฐาน ซึ่งจะมีเหมือนกันในทุกอุปกรณ์ที่จัดอยู่ในประเภทเดียวกัน การจัดแบ่งกลุ่มคอนฟิกกูเรชันปัจจุบันมี 2 ประเภท คือ Connected Device Configuration (CDC) และ Connected, Limited Device Configuration (CLDC) โดยแต่ละตัวจะใช้ VM (Virtual Machine) ที่ต่างกันด้วย
นอกจากนี้แล้วสำหรับอุปกรณ์ที่มีข้อจำกัดในการทำงานจะเป็นบรรทัดฐานในการแบ่งกลุ่ม โดยคุณสมบัติพื้นฐานทั้งหมดนี้จะใช้ในการจัดแบ่งกลุ่มของอุปกรณ์ซึ่งมีความคล้ายกันในเรื่องของ หน่วยความจำ หน้าจอ เครือข่ายในการเชื่อมต่อ และพลังงาน
Top
Connected Device Configuration (CDC)ใช้หน่วยความจำอย่างน้อย 512 กิโลไบต์ สำหรับจาวา
ใช้หน่วยความจำอย่างน้อย 256 กิโลไบต์ ในขณะรันไทม์ (runtime)
สามารถเชื่อมต่อสัญญาณที่มีแบนด์วิดธ์สูง (bandwidth)
ตัวอย่างอุปกรณ์เหล่านี้ได้แก่ อุปกรณ์เซตท้อป อินเทอร์เน็ตทีวี เครื่องซักผ้า ตู้เย็น ระบบเครื่องเสียงแบบไฮเอนต์ ระบบการเดินเรือ และความบันเทิงในรถยนต์ เป็นต้น
Top
Connected, Limited Device Configuration (CLDC)ใช้หน่วยความจำ 128 กิโลไบต์ สำหรับจาวา
ใช้หน่วยความจำ 32 กิโลไบต์ สำหรับรันไทม์ (runtime)
มีข้อจำกัดเกี่ยวกับยูสเซอร์อินเตอร์เฟส(user interface)
ใช้พลังงานแบตเตอรี่ต่ำ (battery)
สามารถเชื่อมต่อกับอุปกรณ์ไร้สายชนิดที่มีแบนด์วิดธ์ต่ำ(bandwidth) และเข้าถึงแบบไม่ต่อเนื่อง
ตัวอย่างอุปกรณ์เหล่านี้ได้แก่ โทรศัพท์มือถือ เพจเจอร์และ ออแกไนเซอร์ เป็นต้น

ถึงแม้ว่าการจัดแบ่งกลุ่มจะดูเหมือนชัดเจนยิ่งขึ้น แต่สิ่งนี้จะ ไม่ใช่ทางเลือกเสมอไปเพราะเทคโนโลยีกำลังรุดหน้าและพัฒนาก้าวไปอย่างต่อเนื่อง สำหรับความสัมพันธ์ของ CLDC กับ CDC จะเห็นได้ว่ามีบางส่วนของ J2ME ไม่ได้อยู่ใน J2SE บางส่วนที่ว่านี้ก็คือ คลาสแพ็กเกจ หรือ API ที่เกี่ยวข้องกับการทำงานและส่วนติดต่อกับอุปกรณ์ที่สนับสนุน J2ME นั้นเอง
Top
Profiles         ใจหลักอันสำคัญของเทคโนโลยี J2ME นั้นก็คือโพรไฟล์ (Profile) เนื่องจากลักษณะของการใช้งานในแต่ละงานนั้นแตกต่างกัน โดยถูกสร้างไว้อยู่เหนือระดับ Coniguration จึงเป็นตัวกำหนดฟังก์ชัน ในการทำงานพร้อมทั้งเป็นตัวกลางระหว่างแอพพลิเคชันกับสภาวะ แวดล้อมของ J2ME ดังนั้นโพรไฟล์จึงเกี่ยวข้องกับคุณลักษณะทาง ด้านฮาร์ดแวร์ของอุปกรณ์แต่ละตัว เช่น โพรไฟล์ของอุปกรณ์ประเภทมือถือ คือ Mobile Information Device Profile (MIDP) สำหรับชุดของ API (Application Programming Interface) นี้ใช้สำหรับงานในแต่ละ vertical market ส่วนยูสเซอร์อินเตอร์เฟสคอมโพแนน คือ Input/Output, Event handling, Persistent storage, Networking และ Timers
Profiles เป็นส่วนของ API และ Class ที่ใช้งานได้บนตัวของอุปกรณ์ แต่ละประเภท ซึ่งเป็นการขยายความสามารถของ CDC หรือ CLDC ให้มากขึ้น และมีส่วนของการทำงานที่เป็น ลักษณะเฉพาะของอุปกรณ์นั้นๆ ตัวอย่างของ Profile ที่ใช้งานการพัฒนา เช่น
MIDP (Mobile Information Device Profile) เมื่อพูดถึง MIDP ก็จะหมายถึง ประเภทของ Device พวกที่มีคุณสมบัติต่อไปนี้ small display ( min. 96 x 54 pixels) , มี touch screen หรือ keypad, สามารถ connect mobile network ด้วย bandwidth ที่จำกัด MIDP ประกอบด้วย APIs ที่ทำหน้าที่ดังต่อไปนี้
– Defining and controlling application
– Displaying text, graphics and responding to user events
– Storing data in simple database
– Network connectivity via a subset of HTTP
– Timer notifications
Mobile Information Device Next Generation (MIDP_NG) เป็น Generation ที่จะออกถัดไปของ MIDP ซึ่งจะเพิ่ม function ต่าง ๆ ให้ดังนี้
– Domain security model
– HTTPS Support
– Socket , datagrams support
– มี OTA Provisioning
– Push architecture โดย message หรือ event ภายนอกจะถูกส่งไปยัง MIDlet
– เพิ่มความสามารถในการ Control large screen
– มี XML parser
– มี Sound API
PDA Profile (Personal Digital Assistant Profile) สำหรับอุปกรณ์ประเภท Organizer เช่น เครื่อง Palm
Foundation Profile สำหรับอุปกรณ์ในกลุ่มของ High-end device, เป็นส่วนขยายเพิ่มเติมเฉพาะด้านให้กับ CDC ซึ่งจะประกอบด้วย API และ Function พื้นฐาน เป็น Profile ที่พัฒนาบน CDC เหมาะสำหรับ Device ที่มีคุณสมบัติลักษณะต่อไปนี้         – 1024K minimum ROM
– 512k minimum RAM
– Connectivity กับระบบ Network ได้
– ไม่มี GUI เว้นเสียแต่จะใช้ additional profile อื่น ๆ เพิ่มเติมเข้ามาเพื่อทำ GUI
Personal Profile สำหรับอุปกรณ์ในกลุ่มของ High-end device, เป็นส่วนขยายเพิ่มเติมเฉพาะด้านให้กับ Foundation Profile ซึ่งจะประกอบด้วย การจัดการด้าน GUI
RMI Profile สำหรับอุปกรณ์ในกลุ่มของ High-end device, เป็นส่วนขยายเพิ่มเติมเฉพาะด้านให้กับ Foundation Profile ซึ่งจะประกอบด้วย การจัดการด้าน RMI (Remote Method Invocation

Hello world!

Posted in Uncategorized by pyayam on April 2, 2010

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!