oracle9i_lite.pdf

(689 KB) Pobierz
Microsoft Word - 25 - wrembel1.doc
X Konferencja PLOUG
Kościelisko
Październik 2004
Oracle9i Lite w aplikacjach mobilnych – projekt
i implementacja przykładowego systemu
Michał Głuszak, Robert Wrembel
Politechnika Poznańska, Instytut Informatyki
e–mail: Robert.Wrembel@cs.put.poznan.pl
Abstrakt
Od kilku lat obserwuje się znaczący wzrost wykorzystania różnego rodzaju urządzeń przenośnych służących do gro-
madzenia danych, m.in. laptop’ów i urządzeń typu Personal Digital Assistant (PDA), zwanych również palmtop’ami.
Umożliwiają one nie tylko przetwarzanie zgromadzonych danych ale również ich wymianę z komputerami stacjonar-
nymi. Urządzenia PDA, wśród których najpopularniejszymi są marki Palm, Handspring, Compaq IPAQ, Sony Clie,
Casio Cassiopea, HP Jornada cieszą się ogromną popularnością. Szacuje się, że obecnie na całym świecie jest kilkadzie-
siąt milionów użytkowników tych urządzeń. Na polskim rynku obserwuje się duże zainteresowanie PDA nie tylko od
strony ich użytkowania, ale również programowania. Wychodząc na przeciw zapotrzebowaniom użytkowników urzą-
dzeń PDA, firma Oracle Corp. zaimplementowała oprogramowanie Oracle9i Lite . Jest to mikrosystem zarządzania bazą
danych wraz z uproszczonym serwerem www i środowiskiem projektowania aplikacji. W niniejszym artykule zostanie
scharakteryzowane oprogramowanie Oracle9i Lite pod kątem jego wykorzystania w projektowaniu aplikacji dla urzą-
dzeń PDA firmy Palm, pracujących pod kontrolą mikrosystemu operacyjnego Palm OS 4.1/5.0. Omówiona zostanie
m.in. architektura pracy systemu, środowisko projektowe, sposób synchronizacji bazy danych na urządzeniu mobilnym
z bazą centralną, sposób udostępniania aplikacji i bazy mobilnej użytkownikom.
244
Michał Głuszak, Robert Wrembel
Oracle9i Lite w aplikacjach mobilnych – projekt i implementacja przykładowego systemu
245
1. Wprowadzenie
Powszechna mobilność pracowników firm narzuca wykorzystanie odpowiednich urządzeń
wspomagających pracę, m.in. notebook'ów i urządzeń typu Personal Digital Assistant (PDA), po-
pularnie zwanych palmtop'ami. Typowym jest wykorzystywanie tego typu urządzeń przez przed-
stawicieli handlowych, czy brokerów ubezpieczeniowych. Przedstawiciele ci często podróżują, nie
mają więc dostępu do firmowych zasobów danych. Taka charakterystyka pracy wymaga, aby dane
niezbędne dla pracy reprezentanta znajdowały się na jego urządzeniu mobilnym, najczęściej w
bazie danych.
Coraz powszechniejsze w Polsce stają się urządzenie typu PDA, wśród których najpopularniej-
szymi są marki Palm, Handspring, Compaq IPAQ, Sony Clie, Casio Cassiopea, HP Jornada. Naj-
nowsze modele posiadają funkcjonalność i oprogramowanie podobne do komputerów przeno-
śnych.
Podstawowym zadaniem PDA i zainstalowanego na nim oprogramowania jest przetwarzanie
danych (gromadzenie, wyszukiwanie, analiza). Zwykle urządzenia takie posiadają zainstalowaną
bazę danych z mikrosystemem nią zarządzającym. Dane z takich baz mobilnych zasilają system
centralny gdy PDA zostaje podłączony do sieci przewodowej lub bezprzewodowej. Ponieważ jed-
nak PDA pracują w trybie bez połączenia z siecią, powstaje więc problem wymiany i synchroniza-
cji danych między urządzeniem mobilnym, a systemem centralnym. Synchronizacja taka odbywa
się okresowo, gdy PDA uzyskuje dostęp do sieci.
Jednym z rozwiązań proponowanych przez Oracle w dziedzinie zarządzania mobilnymi syste-
mami jest oprogramowanie Oracle9i Lite przeznaczone właśnie dla małych baz danych działają-
cych zarówno na notebook’ach jak i na PDA. Jedną z ważniejszych funkcji tego oprogramowania
jest zaimplementowany w nim mechanizm automatycznej synchronizacji danych między mobilną,
a centralną bazą danych, w obu kierunkach. Oracle9i Lite zawiera w sobie mikrosystem zarządza-
nia bazą danych, środowisko deweloperskie aplikacji Lite9i i środowisko uruchomieniowe tych
aplikacji. Aplikacje Lite można implementować w językach C, C++, Visual Basic, Java. Aplikacje
mogą pracować z lokalną bazą danych, tj. bez podłączenia do sieci, jak również z centralną bazą
danych, w przypadku podłączenia do sieci.
W niniejszym artykule zostanie scharakteryzowane oprogramowanie Oracle9i Lite (wersja
5.0.2) pod kątem możliwości jego wykorzystania w projektowaniu aplikacji dla urządzeń PDA.
Omówiona zostanie m.in. architektura pracy systemu, środowisko projektowe, sposób synchroni-
zacji bazy danych na urządzeniu mobilnym z bazą centralną, sposób udostępniania aplikacji i bazy
mobilnej użytkownikom. W celach testowych został zaimplementowany system wspomagający
zarządzanie pasieką działający na urządzeniach Palm m505/m515 pod kontrolą mikrosystemu
operacyjnego Palm OS 4.1/5.0, wykorzystujący wspomnianą mikrobazę danych Lite, centralną
bazę Oracle9i i zbiór aplikacji napisanych w języku C++.
2. Architektura systemu
Oracle9i Lite
Architektura oprogramowania Oracle9i Lite została przedstawiona na rysunku 1. Jej podsta-
wowe komponenty to por. [OL9DG1, YSP02]):
baza danych Oracle8i lub 9i,
serwer mobilny,
środowisko deweloperskie,
komputer i PDA klienta wraz z oprogramowaniem.
246
Michał Głuszak, Robert Wrembel
Rys. 1. Architektura systemu Oracle9i Lite dla urządzeń PDA
2.1. Baza danych Oracle8i/9i
Baza danych Oracle8i/9i pełni dwie zasadnicze funkcje: zawiera repozytorium serwera mo-
bilnego i właściwą bazę danych użytkowników mobilnych. Repozytorium serwera mobilnego
jest niezbędne do pracy Oracle9i Lite. Zawiera ono m.in. informacje nt. użytkowników mobilnych,
ich uprawnień, informacje o dostępnych dla nich aplikacjach, danych dostępnych dla użyt-
kowników w procesie synchronizacji, sesjach połączeń z bazą danych. Baza danych
użytkowników mobilnych jest właściwą bazą danych przechowującą dane operacyjne. Do bazy
tej, w procesie synchronizacji, spływają dane od użytkowników. Zawiera ona również dane, które
są pobierane przez poszczególnych użytkowników do ich mobilnych baz danych.
2.2. Serwer mobilny
Serwer mobilny (Mobile Server) jest modułem programowym odpowiedzialnym za synchro-
nizację danych między centralną bazą danych, a bazami mobilnymi. Ponadto, umożliwia on
centralne zarządzanie aplikacjami mobilnymi i użytkownikami oraz automatyczne instalowanie
najnowszych wersji aplikacji na urządzeniach mobilnych. Serwer ten komunikuje się z centralną
bazą danych Oracle8i lub 9i za pomocą oprogramowania sieciowego Net8.
Aplikacje klienta mobilnego uruchamiane albo w przeglądarce www (w przypadku wykorzy-
stania notebook'ów) albo jako niezależne programy (w przypadku urządzeń PDA) komunikują się
z modułem serwera mobilnego i za jego pomocą realizują dostęp do centralnej bazy danych. Ser-
wer mobilny może pracować w czterech różnych konfiguracjach, tj. z oprogramowaniem (1) Orac-
le9i Application Server, (2) Oracle HTTP Server, (3) Apache Server oraz (4) jako niezależny mo-
duł programowy serwera mobilnego (webtogo.exe), por. rysunek 1.
2.3. Baza danych Lite
Baza danych Lite jest mikrosystemem zarządzania bazą danych. Służy ona do przechowywania
danych dla aplikacji lokalnych na urządzeniu mobilnym. Funkcjonalność bazy Lite jest bardzo
ograniczona w stosunku do chociażby Personal Oracle. Ograniczenia te dotyczą m.in.: zbioru
poleceń języka SQL i PL/SQL, dostępnych struktur danych, słownika bazy danych, zarządzania
użytkownikami. Poza tym, inna jest struktura fizyczna i logiczna samej bazy danych.
133426563.001.png
Oracle9i Lite w aplikacjach mobilnych – projekt i implementacja przykładowego systemu
247
2.4. Środowisko deweloperskie
Środowisko deweloperskie (Mobile Development Kit – MDK) [OL9DG1, OL9DG2] zawiera
zestaw narzędzi programowych, m.in. środowisko uruchomieniowe aplikacji Lite, biblioteki API,
zestaw przykładowych aplikacji i oprogramowanie Packaging Wizard umożliwiające publikowa-
nie, czyli udostępnianie użytkownikom, aplikacji na serwerze mobilnym.
Aplikacje Lite można implementować w językach C, C++, Visual Basic, Java. W przypadku C,
C++ i Visual Basic dostęp do mikrobazy danych odbywa się za pośrednictwem sterownika ODBC
(por. [odbc]) lub OKAPI [okapi], natomiast aplikacje w Java realizują dostęp do mikrobazy za
pomocą JDBC [jdbc]. Budując przenośne aplikacje internetowe można również wykorzystywać
technologie serwletów i Java Server Pages.
OKAPI (Object Kernel API) jest interfejsem programowym (biblioteką) dostępu do mikrosys-
temu Lite dedykowanym dla aplikacji uruchamianych na małych urządzeniach. Interfejs ten
uwzględnia ograniczenia w mocy i dostępnej pamięci operacyjnej tych urządzeń. Funkcje i proce-
dury OKAPI odwołują się bezpośrednio do jądra mikrosystemu Lite z pominięciem modułu trans-
latora SQL. Wspierają one m.in. mechanizm transakcji, zapytania, operacje DML.
Po zaimplementowaniu aplikacji można ją opublikować na serwerze mobilnym. Do publiko-
wania aplikacji przenośnych wykorzystuje się narzędzie Packaging Wizard z pakietu Mobile
Development Kit. Do uruchomienia Packaging Wizard używa się polecenia wtgpack.exe. Program
Packaging Wizard działa w trybie kreatora, w kolejnych krokach definiuje się poszczególne pa-
rametry publikacji aplikacji w repozytorium (por. punkt 4). Po nadaniu uprawnień przez admini-
stratora repozytorium serwera mobilnego, uprawnieni użytkownicy za pośrednictwem przeglądarki
internetowej lub w procesie synchronizacji mogą zainstalować udostępnioną aplikację na swoich
urządzeniach przenośnych. W tym momencie jest również instalowana lokalna baza danych Lite.
2.5. Komputer i PDA klienta wraz z oprogramowaniem
Opublikowanie aplikacji umożliwia łatwą i wygodną instalację przez użytkowników aplikacji
na przenośnych urządzeniach przez Internet lub przez narzędzia sprzętowo–programowe dostar-
czane przez producentów urządzeń. Przykładowo, firma Palm dla swoich urządzeń dostarcza pro-
gram synchronizacyjny HotSync. Po dołączeniu PDA (najczęściej poprze złącze USB) do kompu-
tera stacjonarnego lub notebook'a podłączonego do sieci, uruchamia się program HotSync. Reali-
zuje on synchronizację zawartości całego urządzenia PDA z komputerem, do którego je dołączo-
no. Synchronizacji podlega również zawartość mikrobazy danych z bazą centralną. Synchroniza-
cja baz danych jest realizowana z wykorzystaniem protokołu Network HotSync.
Jeżeli urządzenie mobilne (notebook) posiada zainstalowany serwer www klienta mobilnego,
który jest uproszczoną wersją serwera www, wówczas jest możliwe korzystanie z aplikacji inter-
netowych (JSP, servlet'y) uruchamianych w przeglądarce (por. [JeWr02]). Dodatkowo, serwer
www klienta mobilnego umożliwia przezroczyste przełączanie się z trybu pracy bez połączenia
sieciowego (offline) na tryb sieciowy (online), tj. podłączenie do centralnej bazy danych za pomo-
cą aplikacji udostępnianych przez serwer mobilny. Komunikacja między serwerem www klienta
mobilnego, a serwerem mobilnym jest realizowana za pomocą protokołu HTTP. Natomiast komu-
nikacja między aplikacjami lokalnymi, a bazą Lite jest realizowana za pomocą sterownika JDBC.
w C/C++ dla Palm OS
Projektowanie aplikacji mobilnych dla Palm OS w oparciu o Oracle9i Lite wymaga stosowania
środowiska deweloperskiego, często dostarczającego biblioteki realizujące podstawową obsługę
aplikacji i bazy danych. Aplikacje wygodnie jest testować z wykorzystaniem emulatora przed ich
wczytaniem na PDA. Od strony mikrobazy Lite, konieczne jest zainstalowanie środowiska Mobile
Development Kit.
Oracle9i Lite
3. Projektowanie aplikacji
Zgłoś jeśli naruszono regulamin