Sayfalar

9 Mayıs 2010 Pazar

J2ME (Java 2 Micro Edition)

J2ME (Java 2 Micro Edition)
J2ME Platformu ile mobil bilgi işlem

Mobil işlem; bir sunucuda veya başka bir aygıtta bulunan veriye her zaman ve her yerde kablosuz ulaşabilme anlamına geliyor. Bu internetle, yerel ağlara bağlanabilen cep telefonlarıyla ve avuç içi bilgisayarlarla mümkün ve bu aygıtlar kullanıcının mobilitesini yükseltiyor, her yerde ve her zaman çalışabilmesini, eğlenebilmesini sağlıyorlar.

Java 2 Micro Edition (J2ME) platformu Sun Microsystems, Inc. şirketi tarafından 1999 yılında tanıtıldı. Uygulama cep telefonları, avuç içi bilgisayarları, TV Set-Top Box"lar, görüntülü internet telefonları ve yerleşik sunucular için geliştirildi. Bu platform 2001 yılından itibaren mobil aygıtlar pazarında en çok kullanılan uygulamadır.

J2ME platformu konfigürasyonlardan ve profillerden oluşuyor. Tanımlamaları hafıza büyüklüğü, güç kaynağının türü veya veri genişliği gibi teknik parametrelerden oluşturuldu.

Connected Device Configuration (CDC - Bağlı Aygıt Konfigürasyonu)

CDC konfigürasyonu Java uygulamaları için en az 2MB hafızası olan ve 16/32 Bit işlemci ile çalışan aygıtlar için tanımlandı. CDC aygıtları genelde sabit güç kaynağına ve geniş bantlı internet bağlantısına sahipler. Misal: TV Set-Top Box"lar, görüntülü internet telefonları ve arabalarda kullanılan Telematik aygıtları. (Navigasyon, vs.)

J2SE sınıflarının bazı bölümlerini içeren CDC konfigürasyonu programları J2SE tabanında çalışabilirler. CLDC konfigürasyonunun javax.microedition.io paketini içeren CDC uygulamasının bir parçası da Java Sanal Makinesi"dir (JVM - Java Virtual Machine)

CDC konfigürasyonu alttaki profillerin tabanını oluşturuyor:
Foundation Profile - FP Personal Basis Profile - PBP Personal Profile - PP Connected Limited Device Configuration (CLDC - Limitli Bağlı Aygıt Konfigürasyonu)

CLDC konfigürasyonu 128kB ile 512kB arası hafızası olan ve 16/32 Bit CISC / RISC işlemci ile çalışan aygıtlar için tanımlandı. Genelde pille (akü) çalışan CLDC aygıtları internet bağlantısına sahipler (cep telefonları, avuç içi bilgisayarlar ve çağrı cihazları).

CLDC konfigürasyonu alttaki temaları içeriyor:
Java Sanal Makine"sinin tanımlaması (KVM) Elementer kütüphane (java.lang.*, java.util.*) I/O operasyonlarını destekleyen sınıflar Ağ komünikasyonu Uygulama çevresinin işletim sisteminden ayırımı Unicode desteği CLDC 1.0 konfigürasyonu Java çalışma zamanına gereken birçok elementer sınıflar içeriyor. CLDC düşük kapasiteli aygıtları hedefliyor. Bu nedenle C programlama dilinde geliştirilmiş kısıtlı Java Sanal Makinası"nı (KVM) tanımlıyor.

KVM"nin kısıtlamaları alttadır:
Kaygan virgül hesaplaması yok java.lang.Object.finalize() metodu yok Kısıtlı hata yönetimi Java Native Interface (JNI) arayüzü yok Thread Groups ve Deamon Threads yok Reflection yok Kullanıcı tanımlamalı Class Loader yok Mart 2003 yılında gelişmiş CLDC 1.1 versiyonu tanımlandı. İki konfigürasyon arasındaki önemli farklar:
Kaygan virgül hesaplaması destekleniyor (Float ve Double sınıfları) Takvim, tarih ve zaman dilimi sınıfları J2SE"ye benziyor Asgari hafıza büyüklüğü 128kB"tan 160kB"a yükseltildi CLDC 1.0 hataları düzeltildi CLDC 1.1 için MIDP 2.0 profiliyle bağımlı yeni imkanlar sunan birçok ilave paketler tanımlandı:
Mobile Media API - Ses ve görüntü kayıt etme ve oynatma arabirimi Wireless Messaging API - Gelişmiş mesajlaşma arabirimi Bluetooth API - Bluetooth komünikasyonu Location API for J2ME - GSM aygıtlarının yerinin belirlenmesini sağlayan arabirim Opsiyonel paketlerin tam listesini Sun Microsystems"in web sayfasında bulabilirsiniz

Foundation Profile (FP - Temel Profil)

FP profili CDC konfigürasyonu tarafından desteklenen ama grafik arayüzü olmayan aygıtlar içindir. FP uygulaması aygıtların düşük hafıza veya işlemci gibi teknik kısıtlamalarını göz önüne alarak çalışmaktadır.

FP uygulamalarından bazıları:
Ağ yazıcıları Router"lar Sunucular Mobile Information Device Profile (MIDP - Mobil Aygıt Bilgilendirme Profili)

MIDP J2ME platformu için tanıtılan ilk profildir. Temmuz 2000 yılında CLDC 1.0 konfigürasyonunu temel alan MIDP 1.0 versiyonu ve 2002 yılının sonunda CLDC 1.1 konfigürasyonunu temel alan MIDP 2.0 versiyonu tanıtıldı. MIDP profili cep telefonları, avuç içi bilgisayarları ve çağrı cihazları gibi küçük aygıtları hedefliyor. Bu cihazlar sahip oldukları düşük hafızaları (512kB"tan az) ve kablosuz internet bağlantılarının yanı sıra pille (akü) çalışıyorlar ve düşük işlemci hızına sahipler.

MIDP 1.0 profili alttaki imkanları sunuyor:
Grafik kullanıcı arayüzünün kurumu (GUI - Graphic User Interface) Kullanıcının girdiği verileri işlemek Grafik dosyaların görüntülenmesi Zaman sayacının kullanımı Verileri veritabanından okumak/silmek ve verileri kayıt etmek HTTP bağlantılarını kurmak MIDP 2.0 profili daha geniş imkanlar sunuyor:
Resim işleme (RGB) Gelişmiş çoklu ortam Gelişmiş kullanıcı arayüzü (GUI) Oyun API (Application Programming Interface - Uygulama Programlama Arayüzü) SSL üzerinden güvenli HTTP bağlantıları Dijital imza PDA Optional Packages (PDAOP - Avuç İçi İlave Paketler)

Bu profilin standartlanması daha henüz tamamlanmadı. Mart 2003 yılında yayınlanan son versiyonunda (Proposed Final Draft) yeni profil yerine 2 ilave paket teklifi sunuldu:
Personal Information Management (PIM) - Bu paket avuç içi bilgisayarın hafızasında bulunan verilere ulaşılmasını sağlıyor, misal: adres defteri, ajanda, takvim, vs. FileConnection (FC) - Bu paket hafıza kartı (SD/MMC/Flash, vs.) gibi değiştirilebilir yedekleme donanımlarında olan verilere ulaşmak için geliştirildi. Personal Basis Profile (PBP - Basit Kişisel Profil)

PBP profili FP profilin fonksiyonlarını alttaki elementlerle genişletiyor:
java.AWT paketinin kısıtlı bir bölümü (Button ve Panel sınıfları eksik) Java TV API"den adapte edilen "Xlet" aplikasyon modeli RMI API"lerin bir bölümünü kullanan Xlet"lerin komünikasyonu PBP profili genelde interaktif televizyon hizmetleri sunan aygıtlarda kullanılıyor ve alttaki standartlarla uyumludur:
Home Audio-Video interoperability (HAVi) Multimedia Home Platform (MHP) OpenCable Application Profile (OCAP) DTV Applications Software Environment (DASE) PBP uygulamalarına "Xlet" deniliyor. Bunlar her zaman javax.microedition paketleri kullanıyorlar ve bu nedenle J2SE üzerinde çalışamıyorlar.

Personal Profile (PP - Kişisel Profil)

PP profili CDC konfigürasyonun ve FP profilin temelinden oluşuyor. PP alttaki özelliklerle tanımlanıyor:
java.AWT paketi ile tam uyumlu Applet"ler çalıştırma imkanı Personal Java"nın devamı PP uygulamaları PBP profilinin tüm paketlerini kullanabiliyorlar PP profili yerel ağ ve internet bağlantısı kurabilen aygıtlara Java çalışma zamanları sunuyor. Uygulamalardan birkaç örnek:
Tıbbi denetim İnternet terminalleri Televizyon program rehberleri (EPG - Electronic Program Guides) Home Application Server (Ev Uygulama Sunucusu - kalorifer, ışık ve alarm yönetimi)

Kaynak