MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) IT SYSTEMS a.s. Mnoho společností má implementovány aplikace, které byly vyvíjeny (případně upravovány) po dlouhou dobu. Tyto aplikace výborně pokrývají funkční požadavky uživatelů a velmi často podporují klíčové procesy společností. Nezanedbatelná část aplikací je realizována v technologiích, které neumožňují snadné a přímé zpřístupnění jejich funkčností na mobilních zařízeních. Řešení MYBIZ od společnosti IT SYSTEMS a.s. umožňuje rychlou a efektivní cestu k zpřístupnění funkcionalit takových aplikací na mobilních zařízeních. Bylo vyvinuto na základě potřeb konkrétního zákazníka, a proto další popis začněme seznámením s jeho funkčními požadavky.
Požadavky zákazníka Původní stav Zákazník je velký telekomunikační operátor, který má značné množství pracovníků v terénu, kteří vykonávají práce na údržbě a rozvoji přístupové sítě, včetně prací pro koncové zákazníky. Tito pracovníci si ráno na pracovní základně vytiskli seznam pracovních příkazů, které měli za den vykonat, a odešli do terénu. Po skončení prací se vrátili zpět na základnu a vyplnili informace o provedených pracích na počítači připojeném do sítě organizace. V řadě případů se ale vyskytly překážky, které neumožňovaly vykonat práci v uvedený čas nebo ji vykonat vůbec. V tom případě měli tito pracovníci jedinou možnost jak přeplánovat své pracovní příkazy, a to prostřednictvím telefonu. Zavolat na základnu specializovaným pracovníkům – dispečerům,, kteří měli přístup do příslušných systémů pro řízení prací, a ti jim přeplánovali pracovní den a oznámili provedené změny. Také v případě, že pracovníci potřebovali doplňující technické informace, nebo například potřebovali spustit měření a znát výsledky (a v řadě dalších případů), byl využíván tento nepřímý přístup k informačním systémům organizace prostřednictvím dispečerů.
Požadovaný stav Aby se omezily personální náklady na tyto podpůrné pracovníky a zefektivnila práce terénních pracovníků, došlo k rozhodnutí vybavit tyto pracovníky mobilními zařízeními a vybudovat patřičnou infrastrukturu pro zpřístupnění požadovaných funkcionalit stávajících aplikací.
Funkční požadavky Požadavky na zpřístupnění funkčností stávajících aplikací Byla požadována dostupnost těchto funkcionalit: • Práce s pracovními příkazy – čtení, přeplánování, odmítnutí, ukončení atd. • Přístup k technickým informacím (schémata rozvaděčů). • Přístup k mapovým podkladům. • Měření – nastartování měření a prohlížení jeho výsledků. • Správa osobního skladu. • Doplňující aplikace jako docházka, plánování dovolené, kniha jízd atd. Další požadavky • Rychlý vývoj – prototyp musel být dán do pilotního provozu za 3 měsíce. • Snadná rozšiřitelnost. • Snadná intuitivní obsluha a přehledné ovládání. Z výše uvedených funkčních požadavků vyplynuly technické požadavky, které jsou popsány společně s technickými požadavky explicitně požadovanými zákazníkem v následující kapitole.
Technické požadavky Explicitní technické požadavky zákazníka • Možnost práce jak on-line, tak off-line. • PDA Eurotel DataPhone II jako koncové zařízení (MS Windows CE 200). • GPRS přenos dat. • Bezobslužné koncové zařízení (nové verze SW se instalují automaticky na klientské PDA). Technické požadavky plynoucí z funkčních požadavků •
Podpora distribuovaných transakcí – data se vybírají a ukládají do několika aplikací a je třeba udržet konzistenci dat.
•
Podpora různých rozhraní pro různé aplikace: o databázový přístup, o WEB services, o JAVA Messages.
Architektura řešení Logická architektura řešení Následující diagram zobrazuje logickou architekturu řešení:
Hlavní součástí řešení je Synchronizační server, který je prostředníkem mezi stávajícími aplikacemi a mobilním zařízením (mobilní zařízení je realizováno pomocí PDA – Personal Digital Asistent). To znamená, že se server stará o transformaci a směrování dat a požadavků z mobilního zařízení do stávajících systémů a podobně o transformace odpovědí a dat ze stávajících systémů do PDA. Dále server zajišťuje i autentifikaci a autorizaci uživatelů, podporuje distribuované transakce, provádí automaticky update software na zařízení klienta a přechodně uchovává data získaná ze stávajících aplikací a PDA. Komunikace s PDA probíhá pomocí standardu WEB services. Pro komunikaci se stávajícími aplikacemi jsou využity různé způsoby: • databázová komunikace prostřednictvím protokolu JDBC, • WEB services, • komunikace pomocí asynchronních správ.
Architektura synchronizačního serveru Synchronizační server obsahuje následující moduly a komponenty: Služby pro klienta: o WEB services rozhraní slouží ke komunikaci s PDA. o Autentifikace a autorizace – tento modul spolupracuje s LDAP serverem pro ověřování identity uživatele a nastavení přístupových práv. o Off-line synchronizace umožňuje obdržet data pro několik různých obchodních transakcí nebo objektů (pracovní příkazy, docházka apod.) ze stávajících aplikací a jejich společné odeslání na PDA. Při synchronizaci jsou pak obráceně data z PDA rozebrána na jednotlivé transakce a jsou předána do jádra k dalšímu zpracování. o Automatický SW update – v případě, že se na PDA nachází neaktuální verze software pro klienta, PDA si ji vyžádá ze Synchronizačního serveru a automaticky se provede upgrade. o Jádro. o Směrování – tato komponenta se stará o směrování dat a požadavků z PDA na příslušné stávající systémy podle konfigurace. o Transformační logika – data jsou na cestě mezi stávajícími aplikacemi a PDA transformována podle konfigurace. o Transakční logika – stará se o konzistenci dat díky podpoře distribuovaných transakcí. Následující obrázek ukazuje vnitřní architekturu synchronizačního serveru:
WEB Services rozhraní
Konektory do stávajících aplikací: o databázový přístup přes JDBC, o napojení na WEB services, o komunikace prostřednictvím asynchronních správ (JAVA Messages). Administrativní konsole pro nastavování a monitorování Synchronizačního serveru a ošetřování chybových stavů. Úložiště pro konfigurační data. Přechodné úložiště pro data z PDA a stávajících aplikací. V dalších kapitolách budou popsány dva nejzákladnější procesy, a to je získání dat ze stávajících systémů a zápis dat na stávající systémy.
Získání dat ze stávajících aplikací Následující diagram ukazuje komunikaci pro získaní dat ze stávající aplikace a jejich transport na PDA:
Požadavek na data z PDA je na synchronizačním serveru transformován a nasměrován na příslušnou stávající aplikaci. Vrácená data jsou na synchro- nizačním serveru transformována a zaslána na PDA.
Uložení dat z PDA do stávajících aplikací Následující diagram ukazuje komunikaci při ukládání dat z PDA do stávajících aplikací:
PDA zašle data na synchronizační server. Ten data transformuje pro stávající systémy. Součástí transformace může být i rozdělení na několik částí pro různé aplikace. Synchronizační server zašle data na jednotlivé stávající aplikace. V případě, že je posílá do více aplikací najednou, ukládání dat běží v distribuované transakci. To zajistí, že v případě neúspěchu při ukládání dat do jedné aplikace nebudou data uložena ani do ostatních, a konzistence dat tak nebude narušena. Synchronizační server pak pošle PDA informaci o celkovém výsledku uložení dat.
Klient Byly použity dvě technologie pro klientskou aplikaci.
Pro jednoduché formuláře byl využit klient vykreslující formuláře a provádějící validaci a manipulaci s daty na základě informací přidaných k datům do XML dokumentu. Pro tuto technologii budeme používat název XML formulář. Pro složitější formuláře s komplikovanými validacemi nebo vazbami mezi formuláři byl použit klasický „tlustý“ klient, ve kterém vzhled i logika byly napevno naprogramovány.
XML formulář Hlavní výhodou tohoto řešení je rychlá implementace změn, neboť se realizuje pouhou změnou parametrů na synchronizačním serveru. Data ze stávajících aplikací jsou transformována a zabalena spolu s informacemi o vzhledu formulářů, validačních pravidlech a direktivách pro zpracování vstupních polí do XML dokumentu, který je poslán na PDA. XML form klient vykreslí formulář. Uživatel vloží data, která jsou validována a zpracována podle přiložených pravidel do výstupního XML dokumentu, a ten je poslán zpět na synchronizační server. Synchronizační server data transformuje a uloží je do příslušného stávajícího systému.
Technická architektura Následující diagram zobrazuje technickou architekturu aplikace:
Database
Technická architektura byla vytvořena s ohledem na vysokou dostupnost, rozšiřitelnost a bezpečnost. Je postavena na technologiích J2EE s širokým použitím XML. Pro realizaci byly použity aplikační servery ORACLE iAS 10g a databáze ORACLE Database 10g. PDA jsou připojena do GPRS sítě, ve které je vytvořena virtuální privátní síť VPN, dostupná jen pracovníkům organizace. Tato VPN je připojena přes firewall na hardwarový rozdělovač zátěže. Ten kromě rozdělování zátěže mezi aplikační servery zajišťuje vysokou dostupnost a umožňuje snadnou rozšiřitelnost. Aplikační servery jsou připojeny na klastr databázových serverů, realizovaných technologií ORACLE Real Application Cluster (RAC). Ta zajišťuje vysokou dostupnost a bezproblémové rozšiřování přidáním dalších serverů v případě potřeby.
Výsledky projektu Projekt byl úspěšný z hlediska uživatelů, neboť byly pokryty všechny uživatelské požadavky, aplikace má snadné ovládaní a doba odezvy je přijatelná i přes GPRS spojení. Také vedení společnosti bylo spokojeno, neboť došlo ke značným úsporám díky snížení počtu zaměstnanců a projekt byl dokončen včas a v rozpočtu. Oddělení informačních technologií společnosti je spokojeno se spolehlivostí aplikace a nízkými nároky na její údržbu.
Závěr Ačkoli toto řešení bylo původně vyvinuto na zakázku pro jednoho zákazníka z oblasti telekomunikací, je díky modulární koncepci a širokým možnostem parametrizace snadno implementovatelné i v jiných oblastech, kde jsou pracovníci v terénu. Jde zejména o: • utility, • stavebnictví, • zdravotnictví, • finanční služby a pojišťovnictví.