IF5093 – Java ME
Achmad Imam Kistijantoro Semester II 2006/2007
IF-ITB/AI/Mar 07 IF5093 – Java ME
1
Java ME overview • Java ME (Micro Edition) adalah java platform untuk consumer devices seperti handphone, PDA, TV set-top boxes serta perangkat embedded lainnya • Java ME berisi sekumpulan API yang didefinisikan melalui JCP • Java ME mendefinisikan configurations, profiles dan optional packages sebagai elemen untuk membangun lingkungan runtime Java – setiap kombinasi mendefinisikan karakteristik (memori, kemampuan pemrosesan dan I/O yang sesuai dengan kategori perangkat tertentu
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
2
Configuration • Configuration adalah spesifikasi minimal sebuah perangkat yang menjadi target Java ME. Configuration terdiri dari sebuah virtual machine, sekumpulan API/library minimal yang harus disediakan perangkat tersebut • Saat ini Java ME mendefinisikan 2 jenis: – CLDC (Connected, Limited Device Configuration): – CDC (Connected Device Configuration)
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
3
CLDC • CLDC digunakan untuk perangkat jenis mobile phone dan PDA dengan koneksi jaringan yang intermiten, memori terbatas dan prosesor yang lambat • umumnya memiliki prosesor16-bit atau 32 bit, dan memori minimal sebesar 192 KB • Implementasi Java untuk perangkat kelas ini umumnya berupa KVM, yaitu virtual machine yang berukuran puluhan kilo bytes saja
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
4
CDC • CDC digunakan untuk perangkat yang memiliki prosesor dan memori yang lebih besar dibandingkan CLDC, misalnya higher end PDA, TV set top boxes • Implementasi CDC dapat menggunakan JVM standar (Java SE), dengan perangkat yang memiliki memori sebesar 2MB atau lebih
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
5
Profile • Profile adalah extension dari Configuration, dengan menambahkan sekumpulan API tambahan yang umum digunakan untuk jenis kebutuhan tertentu. • Profile juga mendefinisikan life cycle aplikasi, antar muka pengguna dan akses ke fitur lainnya dari sebuah device. • Profile yang umum digunakan: Mobile Information Device Profile (MIDP), Foundation Profile (FP) dan Personal Profile (PP)
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
6
MIDP • MIDP adalah profile yang ditargetkan untuk perangkat handphone serta low end PDA • MIDP mendefinisikan fungsionalitas aplikasi dasar, seperti tampilan antar muka pengguna, konektivitas dasar, serta penyimpanan data lokal. • Aplikasi MIDP disebut sebagai MIDlet. MIDP menyediakan kelas dasar (MIDlet) yang dapat digunakan sebagai superclass untuk aplikasi-aplikasi MIDlet pada MIDP.
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
7
FP & PP • FP adalah layer yang paling dasar yang tersedia pada CDC. FP menyediakan layanan konektivitas jaringan untuk aplikasi pada CDC yang memerlukan konektivitas tanpa harus memiliki GUI • PP adalah layer pada CDC yang menyediakan dukungan GUI
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
8
Optional packages • CLDC & CDC dapat dilengkapi dengan optional packages untuk kebutuhan tertentu, seperti misalnya Bluetooth, wireless messaging, web service dll
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
9
CLDC • KVM pada CLDC memiliki keterbatasan: – – – – –
tidak ada floating point tidak ada finalization error handling yang terbatas tidak ada object serialization tidak ada RMI
• CLDC 1.1 – – – – –
java.io java.lang java.lang.ref java.util java.microedition.io
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
10
MIDP • MIDP menyediakan: • application life cycle management: package javax.microedition.midlet • user interface: package javax.microedition.lcdui • network connection: menyediakan interface HttpConnection • penyimpanan data: javax.microedition.rms
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
11
MIDlet • Aplikasi MIDP memiliki satu atau beberapa kelas yang diturunkan dari kelas MIDlet • MIDlet menyediakan 3 method dasar: – startApp(): inisialisasi objek dan display – pauseApp(): menghentikan aplikasi sementara – destroyApp(): menghentikan aplikasi
• Aplikasi MIDP akan dieksekusi dan dikelola oleh sistem yang spesifik untuk setiap device, disebut sebagai Application Manager • Aplication Manager bertugas untuk menginstall sebuah MIDlet pada perangkat, melakukan manajemen versi, menjalankan MIDlet dengan memanggil ketiga method di atas
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
12
MIDlet • Langkah2 pemrograman pada MIDP: – – – – – –
Menulis program/kelas MIDlet kompilasi verifikasi class file membuat Jar file membuat Jad file (file yang berisi deskripsi MIDlet dalam sebuah jar) instalasi MIDlet pada device
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
13
Tools • Sun Java Wireless Toolkit – menyediakan CLDC, MIDP dan optional package lainnya – menyediakan software emulasi – menyediakan lingkungan minimal untuk pengembangan aplikasi: kompilasi, packaging, dan emulator untuk eksekusi program
• IDE: Netbeans & Eclipse: Sun JWT terintegrasi dengan editor
IF-ITB/AI/Mar 07 IF5093 – Wireless LAN
14