![]() | Pobierz cały dokument Rozmiar 573,4 KB |
58
Inżynieria
oprogramowania
www.sdjournal.org
Software Developer’s Journal 6/2008
Java Microedition
– metody integracji aplikacji
A
plikacje Java Microedition (konfiguracji
CLDC) działające na urządzeniach przeno-
śnych mają zazwyczaj ograniczone zaso-
by sprzętowe. W większości przypadków limitowa-
na pamięć oraz wolne procesory na urządzeniach
powodują, że pewne zadania są mało wydajne lub
niemożliwe do zrealizowania. Rozwiązaniem tego
problemu może być przeniesienie części funkcjo-
nalności aplikacji na stronę serwera. W ten sposób
realizuje się ubogiego klienta, który wymaga mniej
zasobów przy zakładanej funkcjonalności. Nato-
miast serwer przejmuje wymagające większych
zasobów zadania i zwraca do aplikacji klienckiej
tylko rezultaty swojej pracy.
Niniejszy artykuł skupi się na sposobach in-
tegracji aplikacji klienta JME z aplikacją serwera.
Zostanie zaprezentowany krótki przegląd metod
za pomocą których można skomunikować klien-
ta z serwerem.
Gruntownie zostaną opisane wybrane mecha-
nizmy integracji, które obecnie są najczęściej sto-
sowane. Na koniec zostanie przedstawiona ocena
wybranych metod w odniesieniu do wszechstron-
nego zastosowania.
Uwagi na temat technologii JME
W technologii JME paczki z bibliotekami dostępne
są bezpośrednio w maszynie wirtualnej KVM (Kilo-
byte Virtual Machine) urządzenia dzięki czemu pro-
gramista nie musi martwić się o ich dostępność. Z
drugiej strony istnieją rozwiązania, które wymagają
dołączenia odpowiedniej biblioteki zawartej w ar-
chiwum jar. Wiąże się to niestety ze wzrostem roz-
miaru (archiwum jar) aplikacji co ma istotne zna-
czenia w przypadku limitów maksymalnej wielko-
ści narzuconej przez producentów.
Zagadnienie to nie stanowi jednakże tematu
niniejszego artykułu. Zainteresowanym polecam
strony producentów urządzeń, gdzie w większości
przypadków tego rodzaju informacje są dostępne.
Jednym z lepszych zestawień danych technicz-
nych urządzeń mobilnych różnych producentów
jest strona J2MEPolish.
Kolejnym ważnym aspektem jest profil urzą-
dzenia Mobile Information Device Profile w skró-
Albert Wachowicz
Albert Wachowicz pracuje na stanowisku Software
Specialist w BLStream wchodzącym w skład Grupy
BLStream. Grupa BLStream powstała by efektywniej
wykorzystywać potencjał dwóch, szybko rozwijają-
cych się producentów oprogramowania – BLStream
i Gamelion. Firmy wchodzące w skład grupy specja-
lizują się w wytwarzaniu oprogramowania dla klien-
tów korporacyjnych, w rozwiązaniach mobilnych oraz
produkcji i testowaniu gier.
Kontakt z autorem: albert.wachowicz@gmail.com
Listing 1.
Przykładowa metoda wysyłająca
wiadomość poprzez gniazdo
void
sendSocketMsg
(
String
destAddr
,
String
msg
)
{
try
{
//utworzenie gniazda
SocketConnection
client
=
(
SocketConnection
)
Connector
.
open
(
"socket://"
+
destAddr
+
":3000"
)
;
//otwarcie strumienii wejscia/wyjscia
InputStream
is
=
client
.
openInputStr
eam
()
;
OutputStream
os
=
client
.
openOutputSt
ream
()
;
// wysłanie wiadomosci doserwera
os
.
write
(
msg
.
getBytes
())
;
os
.
write
(
'\n'
)
;
// odczytanie odpowiedzi (dla
przykladu do znaku konca
linii \n lub gdy serwer
zamknie polaczenie)
int
c
=
0
;
StringBuffer
sb
=
new
StringBuffer
()
;
while
((
c
=
is
.
read
())
!=
-
1
&&
(
c
!=
'\
n'
))
{
sb
.
append
((
char
)
c
)
;
}
System
.
out
.
println
(
"[Serwer]"
+
sb
.
toString
())
;
//analiza odpowiedzi...
// zamkniecie strumieni oraz
polaczenia
is
.
close
()
;
os
.
close
()
;
client
.
close
()
;
}
catch
(
IOException
ex
)
{
ex
.
printStackTrace
()
;
}
}
![]() | Pobierz cały dokument Rozmiar 573,4 KB |