Jumat, 20 Juli 2012

Teknologi Java

Membangun Wireless Application
Menggunakan Teknologi J2ME
Teknologi Java merupakan sebuah teknologi yang berkembang sangat pesat akhir-akhir ini. Bahkan belakangan ini dikabarkan berusaha mengalahkan Microsoft yang terkenal sebagai kampiun dari produsen operating system dimuka bumi ini. Teknologi Java yang pada awalnya dikenal untuk aplikasi pada desktop(J2SE) ataupun pada application server (J2EE), kini hadir dengan teknologi terbarunya, J2ME™ Platform, 
untuk pembangunan aplikasi pada  mobile device seperti  mobile phone dan PDA. Selain J2ME™  Platform yang termasuk baru, terdapat pula satu buah platform teknologi Java yang termasuk baru pula yaitu Java Card.Java Card merupakan seperangkat kakas untuk membangun aplikasi pada sebuah card electronic seperti SIM
Card pada ponsel  kita. SIM Card yang dipergunakan oleh Mobile Banking BCA(layanan operator selular Excelcomindo) menjadi salah satu contoh dari teknologi Java Card. 
Tulisan ini  ditujukan untuk memberikan overview tentang J2ME™ Platform, dan diskursus J2ME Configurations & Profiles yang digunakan untuk membangun aplikasi Java untuk mobile phones, PDA, dan two-way pagers







The Network is the Compute


Computing atau komputasi ada  dimana-mana! Kita masih  dapat menemukan  one-computer-to-many-people
(mainframes) dan one-person-to-one-computer (PCs) di berbagai institusi atau organisasi diberbagai belahan
dunia. Belakangan terdapat aplikasi yang sangat menarik yaitu mobile application yang dapat hadir
dimanapun kita berada, ketika belanja, ketika menyetir sekalipun, bahkan ketika duduk disudut dapur anda,
aplikasi ini dapat hadir dan siap membantu anda seolah dunia telah berada dalam genggaman tangan anda ☺.
Apakah devices yang menarik bagi para programmers dan engineers saat ini? Banyak orang berkata bahwa
devices yang paling diminati adalah  perpaduan antara  computing +  networking. Sebuah  mobile phone’s
memiliki kapabilitas wireless networking sekaligus kapabilitas computing (walau masih terbatas). Bila anda
selama ini hanya dapat browsing dihadapan PC desktop yang bersifat wireline, maka saat ini melalui mobile
devices anda dapat melakukan  browsing dengan  kemampuan yang tidak  mengecewakan dibandingkan PC
desktop, anywhere!


Sun Microsystem telah melansir bahwa kedepan teknologi yang memadukan antara  networking dan
computing akan memberikan potensi yang besar bagi perkembangan teknologi di dunia ini. Perkembangan
selanjutnya adalah XML yang telah menjadi standar bagi portable application pada lingkungan Java, dan IP
sebagai standar bagi interoperabilitas & skalabilitas networking, maka Sun seolah mengeluarkan mantra “The
Network is the Computer

Teknologi Java, XML, dan IP telah membuat Java ada dimana-mana, multi device computing. Bahasa Java
telah memberikan cara yang konsisten bagi programmer agar dapat menulis kode yang dapat dieksekusi pada
berbagai devices. Untuk client-side programming, Visual Basic masih mendominasi pasar dunia, sedangkan
untuk pasar application server hampir seluruh pasar telah diambil oleh Java, dan kinipun teknologi Java telah 
diadopsi oleh berbagai vendor  mobile devices seperti ponsel maupun PDA. Saat tulisan ini  dibuat harga 
sebuah HP Siemens M50 hanyalah seharga 1 juta rupiah, anda telah mendapatkan HP yang Java enabled dan
siap untuk menemani anda untuk “bercanda” dgn teknologi J2ME.

J2ME and The Java 2 Platform
Anda jangan berharap dapat memprogram dengan platform J2SE dan  dapat me-load-nya  pada mobile devices, tentu saja berbeda terutama pada hal prosesor computing dan  memory-nya. Jika pada J2SE anda menggunakan interpreter JVM, pada platform J2ME anda mempergunakan Kilo Virtual Machine (KVM) yang “ditanam” dalam handheld devices. Sebagai informasi bahwa J2EE merupakan superset dari J2SE, sebaliknya J2SE merupakan superset bagi J2ME. Apa artinya? API yang ada pada J2ME sebagian mengadopsi yang ada  pada API J2SE, selain juga mengimplementasikan  API spesifik untuk teknologi J2ME itu



Configuration  mendefinisikan minimum Java  Libraries dan kapabilitas yang dipunyai oleh para developer J2ME. Artinya antara mobile device yang Java enabled maka akan ditemui configuration yang sama. Bila dianalogikan dengan sekelompok mobil maka sebuah mobil dengan mobil lainnya memiliki kesamaan, misalnya mempunyai roda, kaca spion, spedo meter, dll. Roda  dan kaca spion itulah yang disebut sebagai configuration. Jadi configuration  hanyalah mengatur hal-hal yang berkaitan dengan “kesamaan” bukan mengatur  hal-hal yang “membedakan”, sehingga configuration memastikan portabilitas antar devices






Configuration ini ditentukan perkembangannya oleh JCP (Java Community Process), inilah badan non-profit yang berkutat dengan perkembangan teknologi Java. Saat ini telah didefinisikan dua buah configuration yaitu CDC & CLDC dengan perbandingannya sebagai berikut :
Profile merupakan kebalikan dari configuration yaitu mengatur hal-hal yang spesifik untuk sebuah device atau tipe market. Kembali pada analogi mobil diatas, sebuah mobil BMW tentu memiliki ciri spesifik yang tidak dimiliki oleh mobil Mercedes, dan sebaliknya. Misalkan pada profile ini diatur tentang persistent storage dan UI. Saat ini JCP telah mendefinisikan lima buah  profile, salah satunya yaitu MIDP yaitu profile yang digunakan pada banyak mobile devices seperti Siemens M50 dan SL45i. Web Content for Mobile Devices Terdapat tiga opsi untuk me-retrieve static (mark up) content untuk sebuah mobile phone saat ini : ‰ cHTML (compact HTML) yaitu merupakan subset dari HTML yang digunakan oleh NTT Docomo sebuah  operator selular maha sukses  di Jepang hingga teknologinya (I-mode) diekspor  keberbagai negara.‰ WML (wireless markup language) yaitu sebuah markup language untuk lingkungan wireless yang didefinisikan oleh WAP Forum. WML digunakan sebagai standar pada mark-up language diberbagai negara, meskipun untuk negara-negara Amerika Utara masih didominasi oleh  HDML (handheld device markup language).
‰ HTML. Jadi terdapat pula mobile devices yang dapat menginterpretasi HTML seperti Palm OS yangmempunyai HTML browser. Bagaimana sebuah content dapat di-retrieve oleh mobile device?
Pada bagian atas  kiri terlihat content berisi static file atau bisa  juga berupa dynamic content atau 
juga  Java Application yang di-generated oleh server.  Lebih  luas lagi, informasi dapat diekstrak
dari basis data dan dimodifikasi menggunakan servlets, EJB, atau teknologi server side lainnya.  
Selanjutnya kita lihat pada bagian tengah, Java Application ditampilkan oleh Web  Server dan
seteruskan ditransmisikan melalui jaringan wireless menuju mobile devices. Web  server  atau 
WAP  gateway system akan mendistribusikan content pada mobile phone atau device lainnya. 
Akhirnya content diterima oleh client device dengan melakukan proses transcoding, baik itu mengambil data dari basis data, atau XML, atau HTML, dan selanjutnya diterjemahkan kedalam format WML atau cHTML bergantung pada format yang kita punyai. Bagaimana Java  Application dapat  ditransmisikan melalui  jaringan wireless dan selanjutnya  diterima oleh client device?  Bagaimana pula operator atau content provider mengatur masalah  billing untuk Java Application atau  service yang telah  diberikan? Beberapa company telah bekerja  untuk mendefinisikan
masalah ini dan yang pertama  melakukan adalah LG Telecom di Korea  pada tahun 2000, disusu NTT
DoCoMo di Jepang dan Nextel di USA pada akhir 2001. Setiap operator atau network memiliki ciri spesifik walaupun datang dengan teknologi yang sama yaitu 3G wireless technology yang dimulai tahun 2001-2002. Untuk menjembatani perbedaan tersebut maka sebuah MIDP Groups membuat sebuah ketentuan/ standar OTA (over the air) yaitu JSR118, walaupun ketentuan OTA ini masih terus disempurnakan.


Java Application Loading Proces
Ketika sebuah  application siap untuk  didistribusikan maka dibutuhkan  suatu mekanisme agar secara fisik 
aplikasi itu dapat di-load kedalam phone. AMS (application managemen software) adalah kakas pada ponsel
yang mengatur mekanisme ini. Jadi AMS ini dapat mengetahui bagaimana cara me-load kode MIDlet melalui 
wireless connection. Berikut adalah proses loading sebuah Java Application : 
Pada skenario disamping, seorang consumer akan
mendatangi WAP page. Pada halaman  tersebut
terdapat aplikasi anda yang dapat di-download
melalui  mobile set. Pada  saat sebuah aplikasi
dipilih maka file jad (java descriptor) akan  didownload ke mobile set anda. File jad ini biasanya 
hanya sekitar ratusan  bytes sehingga sangat cepat
dan murah untuk di-download.  
File jad ini akan memberitahukan pada consumer
tentang hal-hal basic tentang aplikasi tersebut
(seperti versi maupun size dari aplikasi tersebut), 
sehingga manakala consumer telah memiliki versi
yang sama ataupun size-nya terlalu besar untuk
sisa  space yang anda  punyai maka akan
memberikan alert tertentu. 
Sebagai contoh anda ingin men-download sebuah games MIDlet dari sebuah situs, ketika anda men-download
jad file akan terlihat ukuran file games tersebut (jar=java  archieve file) misalkan sebesar 6kb padahal sisa
space memory anda hanya 2 kb maka akan muncul alert “user doesn't have enough room to download and 
store this application”. Jelas ini menguntungkan consumer karena akan menghemat bandwidth maupun uang, 
paling tidak consumer tidak membuang waktu untuk sebuah aplikasi yang tak perlu di-download-nya.


Supporting WAP in J2ME Enabled Mobile Phone
Bagaimana J2ME dan WAP berelasi? 
WML bekerja baik untuk  beberapa aplikasi seperti text-centric application seperti  weather report, stock
quotes,  dll, tetapi terdapat beberapa kelemahan  dengan  WAP yaitu WAP-based application memerlukan
koneksi terhadap network secara permanen, artinya koneksi terhadap internet harus terus dilakukan bilamana
ingin menjalankan WAP-based application. Selain itu pula aplikasi WAP tidak baik digunakan pada aplikasi
yang graphic intensive seperti games, interactive charting, dll. Selain dari itu isu security juga menimpa WAP 
gateway, dimana terjadi konversi protocol yaitu dari protocol internet menjadi protocol wireless. 
Teknologi Java dapat dijalankan pada devices dengan cara disconnected access dan inilah yang tidak dimiliki
oleh WAP-based application. J2ME memberikan kemudahan bagi developer untuk membuat aplikasi grafis 
seperti color games, office application, dll. J2ME pula menyediakan end-to-end security HTTP seperti SSL 
Tetapi tidak berarti teknologi Java dan  WAP  berdiri sendiri dan justru sebaliknya  merupakan teknologi
komplementer dimana WAP browser (microbrowser) digunakan  untuk  surfing  mencari Java  Application
kemudian AMS akan melakukan manajemen instalasi lalu KVM akan menjalankan aplikasi MIDlet secara
disconnected access
Saat ini telah tersedia beberapa microbrowser yang ditulis dengan menggunakan bahasa Java. Tentu saja ini
menguntungkan karena anda dapat melakukan proses updating secara OTA, sedangkan untuk microbrowser 
yang ditulis dengan bahasa selain Java tidak memiliki kemampuan untuk di-updated,  dengan kata lain jika
anda menginginkan microbowser versi terbaru anda harus membeli HP baru /. 
Openwave (merger  dari www.software.com dan  www.phone.com) yang merupakan  founder dengan WAP
Forum dan merupakan supporter  utama dunia  WAP telah mengumumkan  major partnership dengan Sun 
Microsystem untuk mengintegrasikan J2ME dan WAP untuk release selanjutnya. 
What’s Next? 
J2ME CLDC dan KVM telah digunakan oleh banyak platform dan devices, termasuk oleh Motorola phones
dan  two-way pagers, Research in Motion (RIM)  wireless handhelds,  dan Palm PDA.  Jutaan J2ME CLDS
digunakan sehari-hari oleh berbagai mobile phone di Jepang dan Korea. Banyak pula consumer yang
menggunakan J2ME dengan Motorola handsets pada  jaringan Nextel di USA, dan dalam tahap  test dan 
commercial deployment di Vodaphone Airtouch, Sprint PCS, Telefonica, dan operator lainnya di USA.
Symbian terus men-support  Java Technology untuk  di-release-nya Nokia Communicator 9210 yang 
berbasiskan Java Technology pada akhir 2001. 
Saat ini terdapat berbagai J2ME developmet tool yang free. Sun menyediakan J2ME Wireless Toolkit (WTK)
yang berisi full J2ME CLDC dan MIDP implementation. Tool kit ini hanya dapat bertindak sebagai emulator 
saja  (bukan IDE) dan dilengkapi dengan  beberapa  generic phone. WTK ini dapat dijalankan secara  stand
alone maupun terintegrasi dengan IDE buatan Sun Microsystem pula, Forte Community Edition (CE). Selain
Forte CE terdapat pula Forte Mobile Edition (ME) yang berdiri sendiri sebagai IDE untuk J2ME application. 
Borland sendiri mengeluarkan pula IDE-nya untuk pembuatan J2ME application yaitu Borland Mobile Set. 
Baik WTK, Forte CE/ ME, Borland Mobile Set adalah kakas yang free untuk  di download pada masingmasing situs pengembangnya.
It is a Great Time to Become a J2ME Wireless Developer! Get Started Today!


0 Comments:

Posting Komentar