Mobilní zařízení do kapsy typu Palm či iPaq (souhrnně nazývané handheldy) jsou stále ještě doménou spíše firemních manažerů než běžných uživatelů stolních počítačů. Naskýtá se tedy otázka, zda vedení společností má zapotřebí instalovat na takováto zařízení klasické relační databáze.
Podívejme se ovšem nejprve na jednotlivé technologie odděleně. Relační
databáze prošly dlouhodobým (myšleno z pohledu moderní počítačové
doby) bouřlivým vývojem a dneska se již nic nového v tomto směru vymyslet
nedá. Data jsou uložena v normalizovaných tabulkách, pro indexy se
používají modifikované B-stromy, informace lze získat pomocí dialektu SQL
jazyka, který už také nic extra nového v neustále připravované nové
verzi standardu nepřinese (pořád se mluví o relačním přístupu) a
transakce jsou docela stereotypní záležitostí. Vezmeme-li libovolnou
databází předních výrobců, pak rozdíl nespočívá ani tak ve způsobu
uložení dat a rychlosti jejich zpracování, ale v přidaných hodnotách
jakými může být podpora XML, data mining, škálovatelnost, clustery a
další. Relační databáze jsou navíc monopolem ve svém oboru. Hierarchické
databáze jsou zastaralé, objektové zase neskutečné pomalé a v praxi
dodnes nepoužitelné.
Oproti tomu mobilní technologie jsou ukázkou toho, že hranice lze velmi
rychle překračovat. Například mobilní telefony. Nebude trvat dlouho, a
pokrytí populace přeroste hranici sta procent, majitelé jednoho telefonu za
chvíli budou majiteli dvou či více těchto zařízení, kromě telefonování
bude (vlastně již je) možné dělat spousty dalších činností —
přístup do banky, nakupování a další . Handheldy již také nejsou určeny
jenom pro původní záměr — handheld s mobilních telefonem v jednom se
již nějaký ten pátek prodává, propojení s navigačním systémem GPS
také není výkřikem posledního týdne a jistě bychom nalezli další
možnosti, jak si zpestřit život s krabičkou do dlaně.
A právě bouřlivý rozvoj jedné technologie může být dostatečným
důvodem ke spojení s jinou, již zaběhnutou a osvědčenou. První, co
neznalý uživatel začne hledat, je odpověď na otázku, k čemu by
manažerům, kterým stačí Word a Excel, měly být dobré kapesní databáze?
Pokud se nad tím zamyslíme, pak zjistíme, že je to špatně položená
otázka. Cílovou skupinou by totiž neměli být (jenom) manažeři, ale ti,
kteří mobilní zařízení opravdu potřebují.
Handheld by byl velmi dobrou pomůckou např. pro ošetřující lékaře,
kteří objíždějí své pacienty. V databázi by měli uložené informace
nejen o zdravotním stavu pacienta, ale během pochůzky by si mohli
zaznamenávat průběh návštěv — aktuální teplotu, tlak, ale i takové
informace jako je např. skutečnost, že pacientu docházejí léky a je
potřeba za tři dny doručit nové. Pokud to hodně přeženu, pak se může
jednat i o jednoduché kapesní CRM.
Další cílovou skupinou by mohli být skladníci v rozsáhlých skladech.
Před vyskladněním zboží si do handheldu nahraje objednávku a dle pokynů
na displeji sváží jednotlivé položky do výdejny. V databázi samozřejmě
nemusí být pouze daná objednávka, ale i umístění
relevantního zboží.
Jestliže jsem o pár řádek výše trochu odstrčil vedoucí pracovníky
stranou, nebylo to zcela fér. I oni totiž mohou mít při obchodních
schůzkách aktuální informace o průběhu a výsledcích dosavadních
jednáních, ukládat si nové kontakty a další.
Ve všech modelových případech, které jsem uvedl, je důležitý jeden
faktor. Tím je velikost dat. Představíme-li si např. databázi velké
společnosti (ať jde o informace o klientech či o zboží na skladě),
půjde o gigabajty dat. To samozřejmě nahrávat na kapesní zařízení nejde
(v případě handheldů se setkáváme s pamětí o velikost v řádu
desítek až stovek megabajtů), ale hlavně by to nemělo význam — k čemu
by byla např. skladníkovi informace, že před pěti lety bylo na skladě
v budově A šestnáct tun volně loženého kyanidu draselného? Na kapesní
zařízení je tedy nutné nahrát jen nejnutnější informace a po návratu
„z terénu“ změněná data vrátit do hlavní databáze. To je zajištěno
pomocí mechanismu replikací (synchronizace dat).
Dalším omezením, které vyplývá z velikosti poskytované paměti, je
(ne)implementování některých běžných vlastností velkých SQL serverů.
V mobilních databázích nemusíme potkat uložené procedury, definici
pohledů či možnost pokládat vnořené příkazy SELECT. Důležité je
v podstatě pouze jediné — zachovat konzistenci uložených dat. Na první
pohled se to může zdát jako velký problém, ale je nutné si uvědomit, že
mobilní zařízení není pro datové sklady, ani pro definici celé obchodní
logiky. Opravdu jde pouze o správné uložení dat a přístup k nim.
Základní integritní omezení ve většině případů definovat jde, ostatní
musí — pokud je to nutné — zajistit vaše aplikace.
Mobilní řešení můžeme rozdělit do tří skupin. První je klasická
databázová aplikace, která si stáhne nejnutnější data, off-line s nimi
uživatel pracuje v terénu a po návratu je sesynchronizuje s produkční
databází. Druhá skupina aplikací žádnou mobilní databázi nemá a
připojuje se k centrální pomocí některého z podporovaných protokolů
(např. WAP). Výhody obou způsobů a odstranění nevýhod pak řeší třetí
skupina, která je spojením předchozích. Na handheld si nahrajete potřebná
data a při práci v terénu můžete výsledky své práce odesílat rovnou do
firmy nebo naopak získávat aktuální výsledky svých kolegů.
Konkrétní řešení
Během psaní tohoto článku jsem měl možnost vyzkoušet mobilní
databázové řešení čtyř předních společností (nejen) v oblasti
mobilních databází. Jednalo se o společnosti (v abecedním pořadí) IBM, Microsoft, Oracle a Sybase. V následující části je krátké
seznámení s každým řešením samostatně. Při sledování vlastností
jsem se nejvíce zaměřil na způsob replikace dat.
IBM
Společnost IBM nabízí svým klientům na mobilní zařízení DB2
Everyplace Database, která se skládá ze tří základních komponent —
vlastní databázové jádro (handheld database engine), synchronizační server
(SyncServer) a Personal Application Builder (PAB).
Databázové jádro je klasická relační databáze zajišťující
ukládání a poskytování dat. Samozřejmostí je integritní mechanismus
bránící ztrátě konzistentnosti dat. Jádro zabírá na mobilním
zařízení přibližně 100–150 KB a dovoluje připojení více aplikací
současně.
Synchronizaci dat s centrální databází (nemusí být nutně DB2)
zajišťuje SyncServer. To znamená, že data, která chceme synchronizovat,
procházejí právě přes SyncServer. Synchronizace dat spočívá buďto
v přenesení změn z mobilní databáze na hlavní server nebo naopak změny,
ke kterým došlo v produkční databázi, se přenesou na handheld.
Personal Application Builder slouží k vytváření vizuálních
databázových aplikací pro DB2 Everyplace na mobilní zařízení. Lze jej
také začlenit do testovacích a ladících nástrojů. Např. testování je
možné provádět díky nástroji PalmOS Emulator (ten není přímo od IBM)
bez fyzického připojení k handheldu. V současné verzi lze vyvíjet
pomocí PAB pouze pro PalmOS.
Microsoft
Jedním z důvodů, proč Microsoft poskytuje mobilní verze svého SQL
Serveru (přesný název je SQL Server 2000 Windows CE Edition), je plnění
vize „kdykoliv, kdekoliv a na jakémkoliv zařízení“. Jde
o jednouživatelskou databázi. SQL CE je vlastně OLE DB provider ve formě
DLL knihovny, jejíž velikost je mezi 700 KB a 1 MB.
Replikace dat je prováděna pomocí dvou různých způsobů. Prvním,
jednodušším, je Remote data access, kdy se data nejprve „natlačí“
z produkčního SQL Serveru na handheld a práce je prováděna off-line. Poté
jsou změněná data přenesena zpět na server. Tento způsob má tu nevýhodu,
že neřeší konflikty a musí se proto odstraňovat jiným způsobem. Druhý
způsob je tzv. Merge replikace. Zde jde o přímou integraci s SQL Serverem.
Na SQL Serveru se vytvoří publikace, a aplikace zajistí odběr. SQL CE
následně zaznamenává změny a na žádost aplikace se provede synchronizace.
Případné konflikty řeší poskytovatel dat.
Pro tvorbu aplikací (a nejen jich) je určen starší eMbedded Visal Tools,
nebo — pro novou verzi Windows CE, pro který existuje mobilní verze .NET
Frameworku — Visual Studio .NET.
Oracle
Mobilní verze databázového stroje Oracle 9i má přívlastek Lite a na
Windows CE zabere kolem 380 KB. Skládá se ze dvou částí nazvaných Mobile
Server a Mobile Development Kit. Mobil server je rozšíření aplikačního
serveru Oracle9i Application Server právě pro nasazení off-line aplikací na
různé mobilní platformy.
Mobile Development Kit je určen vývojářům pro napsání a otestování
off-line aplikací. Vytvořená aplikace se pak pomocí nástroje Packaging
Wizard umístí na Mobile Server. Vlastní mobilní klient (Mobile Client) je
pak ta část, které se instaluje na mobilní zařízení.
Další částí je Branch Office, která může být rozmístěna na
různých místech společnosti (Branch office doslovně znamená filiálka)
jako jsou pobočky, obchodní místa a další. Díky Branch Office lze data
získávat a zpět replikovat ze/do Mobil Serveru. Replikace mezi Mobil Serverem
a Oracle Light má pak na starosti Mobile Sync (pro vývojáře publikuje API
funkce, takže lze napsat vlastní replikační proces).
Pro vývoj aplikací (nejen pro mobilní řešení, ale i pro produkční
databáze) je k dispozici JDeveloper, který lze použít během kompletního
cyklu vývoje aplikace, tedy včetně analýzy, programování, testování a
nasazení.
Sybase
Společnost Sybase neposkytuje jediný produkt, ale několik dílčích
modulárních řešení, která spolu úzce spolupracují a umožňují díky
tomu vhodně kopírovat požadavky zákazníka.
Pro mobilní prostředky je použita technologie UltraLite, díky níž lze
nasadit databázové aplikace i na zařízení s velmi omezenými
systémovými zdroji. Při vytváření aplikace se definice databázových
objektů slinkuje přímo s uživatelským prostředím. Navíc databázový
engine obsahuje opravdu jen to nejnutnější, takže jeho velikost je
přibližně 50 KB. Hlavními cílovými platformami jsou Palm OS, Windows
CE/Pocket PC a WindRiver VxWorks.
Pro zajištění replikací slouží SQL Remote. Asynchronní replikace je
možno provádět mezi UltraLite a Adaptive Server Anywhere případně Adaptive
Server Enterprise. Při replikaci se nereplikují vlastní data, ale záznamy
operací, které jsou uloženy v transakčním souboru. Tato replikace
probíhá pomocí protokolů MAPI, SMTP, VIM či FTP, takže pokud máte
handheld připojen k Internetu, můžete replikovat velmi jednoduše pomocí
uvedených protokolů on-line.
Jestliže vyžadujete replikaci synchronní, je k dispozici Mibilink Server,
který se u mobilních zařízení bude zřejmě používat ve více
případech. Veškeré přenosy dat lze navíc volitelně zabezpečit
128-bitovým kriptovacím algoritmem.
Co na to výrobci?
Protože nelze v omezeném prostoru popsat všechny důležité vlastnosti,
natož se jim věnovat podrobně, požádal jsem zástupce jednotlivých
společností o krátké odpovědi na několik otázek. Protože odpovědi
velmi často překračovaly stanovenou mez, najdete jejich plné znění na doprovodném
CD. Stejně tak tam naleznete odkazy na webové stránky, kde lze získat
další informace nejen o produktech.
Otázky:
- Mohl byste v krátkosti představit mobilní databázové řešení vaší
společnosti?
- Proč existuje databázové řešení vaší společnosti pro mobilní
zařízení?
- Jaký význam (jakou prioritu) má pro vaší společnost mobilní verze
databázového serveru?
- Proč by měli zákazníci používat mobilní databázi poskytovanou vaší
společností?
- Kterou vlastnost vaší mobilní databáze považujete za největší
konkurenční výhodu?
- Které vlastnosti si nejvíce cení zákazníci?
- Co by měl potencionální zákazník vědět, než se rozhodne pro vaše
řešení?
- Které základní internetové odkazy byste rádi zmínili? (odpovědi
naleznete na našem doprovodném
CD)
- Které společnosti jsou vašimi největšími zákazníky v oblasti
mobilních databází? (odpovědi naleznete na našem doprovodném
CD)
IBM
- Systém DB2 Everyplace (DB2e) je nejmladším přírůstkem do početné
rodiny databází DB2 a rozšiřuje seznam podporovaných platforem o mobilní
zařízení (PDA). Vlastní DB2e, není ale pouhou kapesní databází ale
skládá se celé řady komponent:
- Databáze DB2 Everyplace umístěná v mobilním zařízení.
- Synchronizační klient zprostředkovávající synchronizaci mobilní
databáze se synchronizačním serverem. V současné době je k dispozici
adaptér pro základní synchronizaci DB2e, adaptér pro vzdálený online
přístup k podnikovým databázím umožňující dokonce i volání
vzdálených uložených procedur a konečně souborový adaptér.
- Synchronizační server DB2e zajišťující obousměrnou synchronizaci dat
mezi registrovanými mobilním zařízeními a podnikovými systémy. Přes
standard JDBC umožňuje datovou synchronizaci s prakticky libovolnou
podnikovou databází. Tento server je dostupný na platformách Windows
NT/2000, AIX, Solaris, a Linux. Komunikace mezi tímto serverem a PDA může
býti šifrována a komprimována.
- Vizuální vývojový nástroj DB2e Mobile Application Builder
umožňující RAD vývoj grafických aplikací pro zařízení PalmOS a
v blízké budoucnosti i pro WinCE. Tento nástroj je volně stažitelný
z Internetu.
- V současné době jsme svědky toho, jak neustále rostoucí popularita
PDA zařízení vytváří vysokou poptávku po vyspělých mobilních
aplikacích. Podobně jako v tradičních systémech je ale nutno zajistit
bezpečnou správu a perzistentní uložení dat. Rovněž otázka výkonnosti
není zanedbatelná. Relační databáze toto vše dávno splňují. A přesně
proto je zde DB2e, aby naši zákazníci měli k dispozici kvalitní mobilní
databázi.
- Pro společnost IBM mají mobilní řešení velký význam. Jedním
z důkazů je i počet mobilních platforem, na kterých je DB2e dispozici.
Jedná se o Palm OS, EPOC,Windows CE/Pocket PC, Win32 (např. pro
multimediální aplikace distribuované na CD), QNX Neutrino, Linux a
zabudovaný Linux. Z hlediska České republiky to pak znamená, že klientská
část DB2e a příslušná dokumentace je lokalizována do českého jazyka a
produkt sám plně podporuje práci s českou diakritikou.
- Dobře navržená mobilní aplikace může pro naše zákazníky znamenat
nezanedbatelnou konkurenční výhodu. Díky DB2e mohou mít mobilní
pracovníci (například prodejci, inspektoři, auditoři, servisní technici,
lékaři, pracovníci realitních kanceláři či likvidátoři pojišťoven)
trvale k dispozici důležité údaje, které potřebují při práci mimo
kancelář. V současné době může býti PDA ve spousta případech lepší
alternativou než je objemný notebook.
- Z koncepčního hlediska to, že DB2e používá podmnožinu stejného
jazyka SQL a API jako její větší sestry z rodiny DB2. Tato kompatibilita
zaručuje snadný a rychlý vývoj s využitím běžných standardů, jako je
SQL, ODBC a JDBC. Z technického hlediska je to unikátní možnost online
práce se vzdálenou databází, podpora vznikajícího standardu SyncML a
výkonnost.
- DB2e přináší do světa kapesních počítačů robustnost a osvědčenou
technologii klasických relačních databází spojenou s možností
flexibilní a robustní synchronizace těchto dat. Naši zákazníci oceňují
právě kombinaci těchto dvou prvků, která jim poskytuje kritická podniková
data a dává jim možnost s těmito daty interaktivně doslova v první
bitevní linii. Z technického hlediska je to velikost, jádro DB2e zabírá
necelých 150k paměti PDA.
- Určitě nelze přistupovat k vývoji mobilní databázové aplikace
stejně, jako u tradiční aplikace. Vaše zdroje jsou velmi omezené.
K návrhu aplikace je tedy nutné přistupovat velmi uvážlivě. Největším
omezením je pravděpodobně dnes přenosové pásmo, které máte k dispozici
pro bezdrátovou synchronizaci dat. Rovněž je nutno brát v úvahu, že máte
k dispozici pouze podmnožinu funkcí SQL.
Microsoft
- viz
CD.
- viz
CD.
- viz
CD.
- viz
CD.
- viz
CD.
- viz
CD.
- viz
CD.
- viz
CD.
- viz
CD.
Oracle
- Oracle9i Lite je nová generace mobilní technologie společnosti Oracle.
Jedná se o moderní infrastukturu založenou na základním produktu pro
mobilní použití, Oracle9i Lite. Ta umožňuje automatické spouštění
aplikací napsaných pro Oracle nezávisle na tom, zda je uživatel připojen
k síti, nebo ne. Oracle9i Lite je odlehčená a vysoce výkonná databáze,
která je kompatibilní s databází Oracle9i. Je určena pro mobilní
i vestavěné aplikace. Produkt Oracle9i Lite Replication je řešení
založené na moderní replikaci databáze Oracle9i a Oracle Mobile Agents je
řešením bezdrátového připojení. Replikace dat i kódu v Javě, nízké
nároky na paměť a podpora personálních počítačů „do ruky“ (PDA
s operačními systémy Windows CE, Epoc32/Psion, PalmOS) činí z Oracle9i
Lite ideální základ pro komplexní podporu mobilních uživatelů.
- V současné době zaznamenává trh v oblasti mobilních komunikacích
neustále nárůst, zatímco trh v oblasti pevných linek stagnuje. Díky
stále dokonalejším koncovým mobilním zařízením (mobilní telefony, PDA
kombinované s mobilním telefonem) a možnostem mobilních sítí přenášet
data výššími rychlostmi je pochopitelné, že rychle narůstá zájem
o mobilní přístup k informacím, které jsou k dispozici prostřednictvím
internetu. Jelikož je firma Oracle orientována na správu dat v internetovém
prostředí bylo vyvinutí mobilní databáze Oracle9i Lite a úprava
technologie aplikačního serveru zcela přirozeným krokem.
- Společnost Oracle sama na sobě zkouší a testuje veškeré nové produkty
v prostředí podnikového Intranetu (centrálně spravovaná a zabezpečená
síť obsluhující cca 40-tis. Uživatelů po celém světě). Takto
ostestované produkty poskytují vysokou záruku spolehlivého fungování
prakticky pro jakékoli komerční prostředí.
- Oracle9i Lite byl od samého počátku navržen pro nízké náklady na
provoz. Vyžaduje méně než 1MB paměti (380 kB pro Windows CE). Aplikace pro
Oracle9i Lite mohou být vyvíjeny v Oracle Developeru, Oracle Jdeveloperu,
Visual Cafe a Visual Basicu. Tím lze minimalizovat čas a náklady potřebné
pro vývoj a provoz distribuovaných klientských aplikací.
- Mezi klíčové vlastnosti databáze Oracle9i Lite patří to že:
- Je plnohodnotná objektově-relační klientská databáze Oracle
- Umožňuje replikace se servery Oracle přes různorodé protokoly ( HTTP,
bezdrátově, Net8).
- Podporuje uložené (Stored) procedury a triggery psané v Javě.
- Umožňuje plnou podporu ODBC/JDBC, SQLJ.
- Podporuje persistentní objekty pro Javu.
- Malé požadavky na paměť (50kB – 750kB).
- Zákazníci si nejvíce cení kompletní podpory Javy (100% kompatibilita
s Oracle Jserverem), malého požadavku na paměť, dále pak schopnosti
obousměrné replikace dat i kódu v Javě a v neposlední řadě podporu
všech vývojových nástrojů využívajících JDBC, nebo SQLJ jako např.
Visual Basic, Delphi, JDeveloper apod.
- Zákazník by měl být schopen popsat charakteristiku svého přístupu
k informacím. (Internet/Intranet, četnost přístupu a průměrnou délku
spojení, rozsah informací, požadavek na browsing) Tyto informace usnadní
vlastní návrh konfigurace HW a SW s tím, že lze do budoucna snížit TCO.
(Total Cost of Ownership).
Sybase
- Sybase nabízí ucelenou otevřenou platformu pro mobilní a bezdrátové
systémy. Jádro tvoří produktová řada SQL Anywhere Studio, která vedle
mobilních databází zahrnuje i technologie pro přenos dat mezi mobilní
aplikací a centrálním systémem. Další skupinu produktů pro mobilní a
bezdrátové systémy představuje m-Business Studio obsahující nástroje pro
tvorbu online mobilních aplikací na bázi aplikačních serverů a messagingu.
Vedle technologií pro tvorbu zákaznických aplikací nabízí Sybase také
hotová řešení. Produkty Manage Anywhere Studio a Mail Anywhere Studio
pokrývají dvě oblasti mobilních systémů – vzdálenou správu a
administraci mobilních zařízení a přístup do podnikové elektronické
pošty a groupware aplikací. Produkt SAP TimeTracker je úžeji zaměřenou
aplikací pro řízení pracovníků v terénu přímo zavrženou pro hladkou
integraci s ERP systémy společnosti SAP.
- Sybase zaujímá podle Gartner Group soustavně od roku 1996 vedoucí
pozici na trhu mobilních a vestavěných databází a v blízké budoucnosti
očekáváme mohutný rozvoj aplikací pro mobilní a bezdrátové
zařízení.
- SQL Anywhere je základním produktem celé dceřinné společnosti Sybase,
která se specializuje na mobilní a bezdrátové řešení.
- Sybase SQL Anywhere je s 68% podílem nejrozšířenější mobilní
databází na trhu a tento tržní podíl neustále roste (zdroj: Gartner
Group).
- Nejvýraznější výhodou SQL Anywhere je rozhodně její příznivé
celkové náklady na provoz, které jsou až desetkrát nižší než
v případě konkurenčních produktů. I díky této charakteristice
neustále roste počet instalací SQL Anywhere.
- Naši zákazníci velmi oceňují snadnost používání SQL Anywhere. Ať
se jedná o nulovou administraci, automatické ladění nebo vysokou
flexibilitu této databázové platformy, která je přesto plnohodnotnou
relační databází s podporou nejmodernějších technologií (Java in
Database).
- Pro rozhodování o nasazení mobilního systému by měl potencionální
zákazník zodpovědět jednoduchou otázku – kde probíhají jeho obchodní
operace. Uzavírají obchodníci smlouvy v kanceláři u počítače nebo při
jednání se zákazníkem? Všude tam, kde probíhají obchodní transakce mimo
dosah stolních PC, je místo pro SQL Anywhere.
A co bude dál?
Mobilní technologie se velmi rychle rozvíjejí a dosud nejsou na svém
vrcholu. Je jasné, že velké množství výrobců bude chtít přijít
s vlastním řešením. Tento článek měl ukázat, že databáze nejsou
doménou pouze velkých sálových počítačů, ale že mají své místo na
kapesních počítačích. Je ale důležité si uvědomit, že při výběru
kapesní databáze se zákazník musí dívat nejen na kvalitu a spolehlivost
mobilní databáze, ale ale hlavně produkční databáze, na které závisí
chod firmy. Můžete si být jisti, že všechny čtyři představené
společnosti dokáží splnit i velmi vysoké nároky.
Tento článek byl napsán pro časopis Softwarové noviny 10/2002.
Upozornění: tento text neprošel redakční úpravou, takže je
tak, jak byl napsán včetně případných chyb. Žádná část tohoto
článku nesmí být použita bez předchozího souhlasu autora.
Seznam mých dalších článků je v tomto přehledu.