Bez bazy ani rusz

  • Tomasz Kopacz,

Blisko oryginału

SQL Server 2000 CE 2.0 (przeznaczony tylko dla PocketPC) udostępnia programiście dwa interfejsy. Pierwszy wykorzystuje replikację. Na dużym serwerze są publikowane dane, a serwer lokalny okresowo odczytuje i zapisuje informacje. Uproszczono mechanizmy rozwiązywania konfliktów. W SQL CE wystarczy, by dwie osoby niezależnie zmieniły różne kolumny w jednym wierszu, aby zaszła potrzeba rozwiązania konfliktu.

Drugi sposób pracy z danymi (RDA) pozwala na zdalną pracę bezpośrednio na "dużym" serwerze SQL i łatwe ściąganie danych na lokalny serwer działający na PDA. Na PocketPC powstaje odpowiednik "pełnego" klienta - tak samo jak w przypadku zwykłych systemów klient/serwer, komputer przenośny łączy się z bazą, przegląda kolejno rekordy, wysyła polecenia T-SQL i pobiera dane.

Warto podkreślić, że SQL Server CE jest chyba ze wszystkich baz danych PDA najbardziej podobny do swojego odpowiednika na PC. Zajmuje 1-3 MB i ma oczywiście ograniczenia - tabela może mieć najwyżej 249 indeksów, a rozmiar danych w kolumnach binarnych nie może przekraczać 510 bajtów. Jednak dialekt SQL i lista dostępnych funkcji jest podobna do tej w SQL Server 2000.

Serwer i servlety na PDA

MobileLogic jest rozwiązaniem firmy Software AG - na komputerze przenośnym jest instalowany serwer Tamino Mobile XML DB, a wraz z nim miniserwer WWW. Dzięki temu po stronie PDA powstaje rozwiązanie, które komunikuje się z lokalnym serwerem WWW. Tworzy je się tak, jak standardowy program uruchamiany w przeglądarce.

Internet Explorer w wersji dla PocketPC wykonuje transformacje XSLT, co umożliwia wygenerowanie odpowiednich stron HTML na podstawie danych XML przechowywanych w bazie Tamino. Po stronie PDA jest instalowany komponent Data-Loader, który odpowiada za synchronizację danych z dużym serwerem Tamino XML. DataLoader, oprócz synchronizacji, wykonuje "stronicowanie" danych, a także rozwiązuje konflikty.

Mobilna wersja bazy Oracle - 9i Lite - jest przeznaczona do tworzenia aplikacji wykorzystujących przeglądarkę internetową, ale nie połączonych w sposób ciagły z serwerem. Po stronie PDA są dostępne: prosty motor servletów, a także specjalna biblioteka znaczników (Offline Tag Library). De facto w tym rozwiązaniu na PDA jest dostępny serwer WWW z osadzonym prostym serwerem aplikacyjnym JSP.

Za synchronizację danych odpowiada Oracle Mobile Server. Zarządza on publikacją danych i synchronizacją zmian. W ramach Mobile Server tworzone są również definicje "konsolidatorów" odpowiedzialnych za rozwiązywanie konfliktów. Równocześnie serwer dystrybuuje bazy do komputerów PDA - programista, po zaprojektowaniu struktury bazy, publikuje ją jako pakiet na Mobile Server, po czym jest on przesyłany na docelowe urządzenia.

Swoją wersję bazy danych przeznaczoną dla urządzeń PDA ma również IBM. DB2 Everyplace składa się z kilku modułów - przenośnego motoru bazodanowego, mechanizmu synchronizacji z "dużym" DB2, a także specjalnego pakietu administracyjnego.

Do tworzenia aplikacji dla DB2 Everyplace jest przeznaczone narzędzie Mobile Application Builder. Mobilna baza danych IBM może działać na Palm OS, QNX, embedded Linux (głównie we współpracy z narzędziami firmy BlueCar), a także na Symbian OS i Windows CE.

Sama przeglądarka

Najprościej wydaje się oprzeć interfejs aplikacji bazodanowej na przeglądarce internetowej. Jednak w przypadku aplikacji przeznaczonej dla przeglądarek mobilnych już na wstępie programista musi rozwiązać problem synchronizacji informacji i stworzyć coś w rodzaju pamięci podręcznej, tak by aplikacja zainstalowana na PDA nie musiała być podłączona cały czas do sieci. Obecnie jako tymczasowy format danych jest wykorzystywany zwykle XML - większość przeglądarek mobilnych implementuje co najmniej bazową funkcjonalność DOM.

Polska firma Logotec Engineering opracowała Mobile@Connector - narzędzie, które pozwala wygenerować aplikację opartą na WWW dla urządzenia przenośnego bezpośrednio na podstawie definicji bazy danych.