EMBIT - Rozwiązania sieciowe i mobilne: Java J2ME, GPRS, GPS
 

Co to jest Java i dlaczego w telefonach?

Rosnące możliwości obliczeniowe (szybkość używanych procesorów i pojemność pamięci) i prezentacyjne (rozmiary wyświetlaczy i liczba kolorów) nowych modeli telefonów spowodowały zainteresowanie ich producentów poszerzaniem obszaru zastosowań tych urządzeń jako jednym ze sposobów uzyskiwania przewagi nad konkurencją.
Tworzenie aplikacji (programów użytkowych) dla dowolnego komputera (a współczesny telefon komórkowy jest w istocie wyspecjalizowanym komputerem) wymaga dostępności odpowiedniego środowiska programistycznego, pozwalającego na pisanie, uruchamianie, testowanie i instalowanie programów w docelowym urządzeniu.
Jednym z takich środowisk jest środowisko opracowanego w firmie Sun Microsystems języka Java, mające wśród licznych zalet jedną, nader istotną dla producentów telefonów komórkowych, wypuszczających na rynek coraz to nowe modele tych urządzeń: niezależność oprogramowania od sprzętu przy spełnieniu dobrze określonych warunków. Programy są bowiem wykonywane nie bezpośrednio przez procesor urządzenia, a przez zainstalowaną na nim tzw. wirtualną maszynę Java.
Oznacza to w praktyce brak konieczności wprowadzania w programie zmian i powtórnej jego kompilacji (tłumaczenia na maszynowe rozkazy konkretnego procesora) przy istalowaniu go kolejnym modelu urządzenia tej samej kategorii, mającym zainstalowaną analogiczną wirtualną maszynę Java.
 

Możliwości i bariery

Wydajność (szybkość działania) aplikacji wykonywanych w środowisku Java jest siłą rzeczy mniejsza niż identycznych funkcjonalnie programów, przetłumaczonych na wewnętrzny język danego komputera i wykonywanych bezpośrednio przez jego procesor. Ta cecha aplikacji napisanych w języku Java traci na znaczeniu w związku z coraz większą wydajnością samych procesorów, wbudowywanych w telefony komórkowe.
Istotniejszą barierą rozwoju "pozatelefonicznych" zastosowań telefonów komórkowych jest mała - jak dotąd - szybkość transmisji danych, przy jednocześnie wysokiej cenie tej usługi. Nadziei na przełamanie tej bariery można upatrywać w rosnącej konkurencji pomiędzy operatorami oraz w spodziewanym uruchomieniu sieci tzw. trzeciej generacji.
Coraz większa szybkość i malejący koszt transmisji danych, zwiększająca się pojemność informacyjna wyświetlaczy oraz rosnąca podaż telefonów zgodnych ze specyfikacją MIDP 2.0 pozwala założyć, że coraz częściej aplikacje instalowane w telefonach komórkowych będą wykorzystywane do obsługi istotnej części działalności przedsiębiorstw handlowych, banków itp. - wszędzie tam, gdzie konieczny jest szybki i bezpieczny dostęp do baz danych i związanych z nimi usług, niezależnie od aktualnego miejsca pobytu użytkownika lub pracownika.
 

Podstawowe standardy

Implementacja języka i środowiska programistycznego Java, przeznaczona dla urządzeń o ograniczonych zasobach i możliwościach komunikacyjnych, nosi nazwę Java 2 Micro Edition - w skrócie J2ME. Środowisko to jest definiowane przez dwie specyfikacje: CLDC (ang. Connected Limited Device Configuration) i MIDP (ang. Mobile Information Device Profile).
Większość telefonów komórkowych, na których jest dostępna J2ME, spełnia wymagania specyfikacji CLDC w wersji 1.0:
  • procesor 16 lub 32-bitowy
  • od 160 do 512 KB pamięci dostępnych łącznie dla implementacji języka Java i samej aplikacji, przy czym 128 KB jest zarezerwowane na wirtualną maszynę Javy (KVM) i biblioteki związane ze sprzętem;
  • połączenie z siecią, zazwyczaj bezprzewodowe, o niewielkiej przepustowości;
  • interfejs użytkownika o ograniczonych możliwościach - niewielki wyświetlacz o małej liczbie kolorów, kilka klawiszy sterujących.
  • bateryjne źródło zasilania;
Do niedawna istniały jedynie telefony komórkowe zgodne ze specyfikacją MIDP 1.0, określającą zestaw klas i metod, z których mogą korzystać twórcy oprogramowania dla tych telefonów. MIDP 1.0 definiuje w szczególności:
  • klasy i metody służące do organizacji komunikacji z użytkownikiem,
  • organizację i obsługę nieulotnej bazy danych,
  • obsługę połączeń sieciowych i dostępne protokoły.
Specyfikacja ta jest dość uboga, nie opisuje np. sposobu korzystania z wielu funkcji dostępnych we współczesnych telefonach komórkowych. Ujemnym tego skutkiem było wprowadzanie przez większość producentów telefonów własnych rozszerzeń (pozwalających np. na wysyłanie SMS z poziomu aplikacji Java lub komunikację pomiędzy telefonem a komputerem klasy PC), istotnie zmniejszających przenośność (uniwersalność) aplikacji.
W 2002 roku została zatwierdzona wersja 2.0 specyfikacji MIDP. Znacznie w niej rozszerzono graficzne i dźwiękowe możliwości interfejsu, wprowadzono obsługę wykorzystujących techniki kryptograficzne bezpiecznych protokołów komunikacyjnych SSL i WTLS, standardem stała się spotykana dotąd jedynie w rozszerzeniach poszczególnych producentów możliwość komunikacji z innymi urządzeniami poprzez interfejs szeregowy.

Telefony zgodne ze specyfikacją MIDP 2.0 zaczynają coraz liczniej pojawiać się na rynku - jako przykład można wymienić modele Nokia 6230 i Siemens SL65. Efektem upowszechnienia się tej klasy telefonów może być ogólna dostępność zaawansowanych aplikacji handlowych, bankowych itp., wykorzystujących dostępne w tych urządzeniach techniki uwierzytelniania i bezpiecznej komunikacji.
 

Instalowanie aplikacji

Aplikacje napisane w języku Java mogą być zainstalowane w telefonie komórkowym już na etapie jego produkcji (tzw. preinstalacja), jednak producenci zazwyczaj ograniczają się do instalowania gier lub programów raczej trywialnych, w rodzaju aplikacji przeliczającej stopnie Celsjusza na Fahrenheita i odwrotnie. Chcąc zainstalować program samodzielnie, mamy do wyboru dwie metody:
  • instalacja przy użyciu dostarczonego przez producenta telefonu oprogramowania obsługującego komunikację pomiędzy telefonem a komputerem osobistym;
  • instalacja z witryny sieciowej, np. z Internetu.
Pierwsza z wymienionych metod przydatna jest raczej dla autorów aplikacji, testujących je na rzeczywistym sprzęcie, po etapie uruchamiania i wstępnego testowania w środowisku symulacyjnym. Użytkownicy chcący zainstalować gotową aplikację posługują się zazwyczaj drugą z tych metod, wykorzystującą tzw. technologię OTAP - ang. Over The Air Provisioning.
Skorzystanie z tej metody wymaga posiadania telefonu z włączoną usługą transmisji danych (np. GPRS) i wbudowaną weń przeglądarką internetową. Należy wtedy wybrać interesującą nas pozycję z menu wyświetlanego w witrynie dostawcy oprogramowania lub bezpośrednio podać sieciowy adres (tzw. URL) odpowiedniego pliku o nazwie zakończonej członem ".jad" (ang. Java Application Descriptor). Zainteresowanych szczegółami odsyłamy - chcąc zachować rozsądne rozmiary tej rubryki - np. do dokumentu " Over The Air User Initiated Provisioning Recommended Practice for the Mobile Information Device Profile".
 

Bezpieczeństwo

Telefon komórkowy przechowuje wiele istotnych dla użytkownika danych, mających zazwyczaj charakter tzw. "wrażliwych danych": lista kontaktów, historia połączeń, treść odebranych i nadanych wiadomości SMS itp. Telefon ten jednocześnie posiada rozbudowane możliwości komunikowania się z zasobami różnych sieci, w tym publicznej sieci Internet.
Sytuacja, w której uruchomiona aplikacja Java mogłaby bez wiedzy i akceptacji użytkownika telefonu przekazywać dokądkolwiek jego prywatne dane (np. książkę teleadresową) jest z oczywistych względów nie do przyjęcia. Z tego też powodu autorzy specyfikacji J2ME oraz twórcy wszystkich implementacji tego języka w telefonach komórkowych wielką wagę zawsze przywiązywali do zabezpieczenia użytkowników aplikacji przed takimi zagrożeniami. W szczególności żadna aplikacja nie może bez wiedzy i zgody użytkownika nawiązać połączenia ze światem zewnętrznym, nie może też uzyskać dostępu do danych związanych z innymi aplikacjami. Ograniczenia te dotyczą w równym stopniu wszystkich aplikacji, w tym tzw. aplikacji "złośliwych", które mogą być napisane i rozpowszechniane w przestępczych celach.
Specyfikacja MIDP 2.0, wzbogacając mechanizmy komunikacji pomiędzy aplikacją J2ME a otoczeniem, poszerza jednocześnie możliwości kontroli jej zachowania. Interesującą i użyteczną nowością jest możliwość nadania instalowanej aplikacji statusu tzw. aplikacji zaufanej, jeżeli jej kod jest opatrzony cyfrowym podpisem podmiotu, któremu ufamy. Autentyczność tego podpisu oraz integralność i autentyczność opatrzonego nim kodu aplikacji jest weryfikowana przez urządzenie (telefon) przed zainstalowaniem danej aplikacji.
 

Nasze produkty i usługi

W razie Państwa zainteresowania szczegółami naszej oferty, prosimy o kontakt na adres: biuro@embit.net.

Przykłady telefonów z J2ME

  • Nokia
    • Model 6310i
      • CLDC 1.1 / MIDP 1.0
      • Wymiary ekranu: 95(H) x 65(V)
      • Typ ekranu: jednobarwny
    • Model 7650
      • CLDC 1.1 / MIDP 1.0
      • Wymiary ekranu: 176(H) x 208(V)
      • Typ ekranu: 4096 kolorów
  • Siemens
    • Model SL45i
      • CLDC 1.0 / MIDP 1.0
      • Wymiary ekranu: 101(H) x 80(V)
      • Typ ekranu: jednobarwny
    • Model S55
      • CLDC 1.0 / MIDP 1.0
      • Wymiary ekranu: 101(H) x 80(V)
      • Typ ekranu: 256 kolorów
    • Model SL55
      • CLDC 1.0 / MIDP 1.0
      • Wymiary ekranu: 101(H) x 80(V)
      • Typ ekranu: 4096 kolorów
Więcej informacji oraz linki do witryn producentów -> developers.sun.com
 
Copyright © 2003 EMBIT Systemy Informatyczne Liczba odwiedzin: Redakcja witryny: webmaster@embit.net