Přesná, úplná a aktuální data jsou nezbytná nejen pro kvalitní rozhodování. Jejich dostupnost také určuje kvalitu a rozsah služeb, které organizace může svým klientům a zaměstnancům poskytnout. Otevírání datových rozhraní je trendem posledních let a začíná pronikat dokonce už i do státní správy. Na ČVUT se snažíme tento trend podpořit a příkladnou technickou realizací ukázat cestu dalším institucím, které chtějí své služby zkvalitňovat.
Na ČVUT je z pohledu softwarových služeb velmi rozmanité prostředí. Část z nich je zajišťovaná centralizovaně pro všechny fakulty, nemalá část pak lokálně v rámci fakult. Důvodů tohoto stavu je vícero, ale v zásadě lze říci, že se jedná o přirozený důsledek různorodosti fakult ČVUT a malé podpory integrace služeb. Velké úskalí současného stavu tkví právě v nedostatečné integraci, zejména napříč fakultami. Například udržování studijních výsledků v různých lokálních subsystémech (Edux, Moodle, Progtest, atd.) je sice provozně náročné a navíc nepříliš bezpečné a spolehlivé, ale největší škoda plyne z nemožnosti tato data dále využít – například k tvorbě uceleného profilu studenta, na jehož základě můžeme včas identifikovat případné problémy, doporučovat vhodné předměty, poskytnout pedagogům a managementu informace v reálném čase a podobně. Tento stav však není jen v pedagogice, ale i v dalších oblastech. Je nejen nákladný na údržbu, ale hlavně brzdí rozvoj nových služeb.
Otevřenost vůči akademické obci
Potřeba vzniku nových služeb a nových aplikací je dána dynamickým rozvojem ICT technologií a nutností reakce na rozvoj znalostní ekonomiky. Jedině tak si ČVUT může udržet konkurenceschopnost. Řešením je postupná integrace dat a poskytnutí datových služeb. O to se snaží rozvojový projekt, který byl díky podpoře vedení ČVUT dodatečně zařazen do plánu na příští rok. Cílem projektu je integrovat služby pro přístup k datům a dokumentům pro celé ČVUT a zajistit jejich bezpečnost a vysokou dostupnost a demonstrovat přidanou hodnotu těchto služeb několika aplikacemi. Projekt navazuje na úspěšné služby KOSapi, které jsou provozovány již pro tři fakulty ČVUT a využívají je desítky aplikací.
Služby budou integrovány a upraveny tak, aby byly využitelné pro všechny fakulty, byly bezpečné a vysoce dostupné. Ve stejném režimu budou služby nasazeny pro strojový přístup k vědecko-výzkumným datům (VVVSapi) a vybraným datům ze správy uživatelů (Usermap API). Budou zpřístupněny služby pro přístup k dokumentům. Všechny služby budou integrovány aplikační sběrnicí. Bude spuštěno několik aplikací, které budou demonstrovat přidanou hodnotu služeb.
Dalším z cílů tohoto projektu je větší otevřenost univerzitní infrastruktury a datových zdrojů. Díky tomu se budou moci všichni členové akademické obce podílet na vývoji a rozvoji aplikací, které jim usnadní jejich práci či studium. A nejen jim, díky celoškolskému pojetí z toho budou moci profitovat i všichni ostatní. Vedle vývojových týmů na FIT, FEL a na dalších fakultách máme řadu nadaných studentů, kteří přicházejí s nápady na užitečné aplikace či vylepšení, jež se následně mohou realizovat v rámci semestrálních nebo závěrečných prací. Integrační platforma jim poskytne potřebné datové zdroje a služby, stanoví pravidla pro jejich využívání a zajistí požadovanou úroveň zabezpečení. Úspěšné prototypy mohou být pak upravovány a postupně přebírány do celouniverzitní správy, což přispěje k nutnému rozvoji ICT infrastruktury.
Technologické okénko
Řešení představené v tomto projektu staví na architektonickém stylu REST (Representational State Transfer) a opírá se o základní principy SOA (Service Oriented Architecture). SOA nahlíží na komplexní systém jako na množinu malých, znovupoužitelných a volně vázaných komponent, které zapouzdřují jednotlivé funkcionality systému. Komponenty spolu komunikují výhradně prostřednictvím jasně definovaných, platformně nezávislých rozhraní se stanoveným kontraktem. Rozhraní komponent budou navržena jako RESTful API, tedy s využitím známých a prověřených technologií z prostředí World Wide Webu. Primárním formátem pro výměnu dat bude JSON a XML.
Samotnou integraci komponent mezi sebou bude zajišťovat ESB (Enterprise Service Bus). Ta bude sloužit především jako fasáda nad API (API Façade) jednotlivých komponent, která poskytne jedno logické rozhraní nad celým systémem – jednotlivé RESTové zdroje budou mapovány do společného stromu identifikátorů, zdroje mohou být agregovány z více služeb apod. Aplikační vývojář tak bude pracovat pouze s jedním koherentním rozhraním, čímž se využívání služeb ještě zjednoduší. Zároveň dojde ke snížení komunikační složitosti/náročnosti komponent mezi sebou, ztenčení vazeb mezi nimi, a tím i snazší nahraditelnosti.
Zabezpečení na úrovni API bude zajišťovat protokol OAuth 2.0. Ten umožňuje podrobně vymezit pravomoci jednotlivých klientských aplikací i detailně sledovat využívání poskytnutých privilegií. Klientská aplikace se může autentizovat jak sama za sebe, tak i za jejího uživatele. Díky tomu lze, bez rizika narušení ochrany osobních údajů, umožnit přístup k citlivým datům uživatelů i studentským aplikacím – dostanou se pouze k těm datům, ke kterým jim dá jejich uživatel explicitní souhlas.
Aplikace KOSeek pro studentské mobily
Jedna z prvních aplikací, která využívá prototypu centralizovaných datových služeb je KOSeek. Tato nová aplikace pro studenty ČVUT usnadňuje přístup do univerzitního informačního systému z mobilních telefonů se systémem Android. KOSeek se stane mobilním průvodcem světem ČVUT.
Co všechno KOSeek umí?
Rychle najde kontakt na učitele a spolužáky. Kontakty si můžete snadno vyměňovat pomocí telefonu, například přes NFC. S KOSeekem je jednoduché být informován o novinkách na fakultě i na celém ČVUT, a to díky zabudovanému informačnímu systému (RSS feeds). KOSeek vám ukáže úřední hodiny na studijním oddělení a kontakty na jednotlivé pracovnice. Nejvíce oceňovanou funkcí KOSeeka jsou rozvrhy. Ta ukáže předměty, které jste si zapsali, včetně jejich popisu. Napoví, která menza je nejblíže a co v ní právě vaří. Kdybyste zapomněli, jak dojet z Dejvic na Karlovo náměstí, aplikace vám okamžitě napoví.
Na návrhu KOSeeka pracovaly dva týmy; jeden na Fakultě elektrotechnické, druhý na Fakultě informačních technologií. FIT se soustředil na vývoj serverové části, která zabezpečuje přístup do databáze KOS, zvané KOSapi. Výsledkem je služba s API, která umožnila zobrazovat data z KOS v nové podobě, na mobilních telefonech. V současné době jsou zpřístupněna data pro FEL a FIT. FEL tým se soustředil na programování mobilů. Většina studentů na ČVUT, kteří vlastní smartphone, dává přednost operačnímu systému Android, se kterým jsme začali. Je to v zásadě jednoduché – vše, co je potřeba, je dnes dostupné na Internetu, s řadou ukázek kódu. Práci na nové aplikaci jsme odstartovali asi před čtyřmi měsíci. Nejdříve jsme si udělali jednoduché náčrty základních obrazovek aplikace. Hlavní bylo navrhnout vše jednoduše a soustředit se na nejdůležitější funkce. Současně, hned od začátku, jsme se rozhodli podporovat alespoň minimální funkcionalitu bez připojení k Internetu. Proto jsme KOSeeka vybavili malou interní databází, která obsahuje data uživatele a nejčastěji zobrazované údaje. Vyvinuli jsme jednoduchý způsob hledání studentů a učitelů podle jména s našeptáváním, což je zejména u mobilních zařízení důležitá vlastnost.
Po dvou měsících práce jsme měli první verzi, kterou jsme nabídli kolegům, našim testerům. Založili jsme diskusní skupinu na Google+, kde jsme si vyměňovali zprávy o chybách a konzultovali další směr vývoje. Postupně jsme počet testerů zvyšovali, současně s tím se začal snižovat počet reportovaných chyb. Dnes máme stabilní aplikaci, stabilní vývojový systém a snadno instalovatelné programovací prostředí pro nové programátory, kteří se k nám přidávají. Po několika týdnech testování jsme dali KOSeek na Google Play, kde si ho dnes může každý stáhnout. V prvních dnech jsme byli nadšeni, když jsme pozorovali dramatický nárůst uživatelů. Počet nových stažení každý den roste a také počet aktivních uživatelů se konstantně zvyšuje. V současné době je celkový počet uživatelů větší než 10 procent z počtu studentů FEL a FIT. Dnes se sázíme, kdy oslavíme tisící stažení.
Vítáme návrhy na nové funkce
Závěrem bychom chtěli poděkovat za finanční podporu ČVUT. Věříme, že budeme v této aktivitě podporováni i nadále. Práce na KOSeekovi nás velmi těší, máme z ní radost. KOSeek se stává oblíbený, dostáváme pozitivní reakce. Přicházejí návrhy na novou funkcionalitu, hlasí se nám noví studenti, kteří chtějí pomoci. Všechny vítáme, stejně jako návrhy na vylepšení. Podrobně se zamýšlíme nad tím, co dalšího implementovat a jak pokračovat ve vývoji. Těšíme se na další vývoj a spolupráci se všemi, kteří se chtějí připojit. Dejte nám vědět!
Chceme zvýšit úroveň informační podpory a služeb
Díky projektu na integraci fakultních datových služeb bude možno zpřístupnit aplikaci i pro další fakulty (KOSeek nyní běží jen pro FEL a FIT). Věříme, že se nám společně podaří posunout úroveň informační podpory a služeb na ČVUT na vyšší stupeň. Vedle rozvoje lidských zdrojů, nových budov a přístrojů, kterému se na ČVUT daří, je rozvoj datové a informační infrastruktury klíčem k úspěchu a udržení konkurenceschopnosti v letech budoucích.
Cílem projektu je integrovat služby pro přístup k datům a dokumentům pro celé ČVUT a zajistit jejich bezpečnost a vysokou dostupnost.
Autoři: Jakub Jirůtka, Pavel Kordík, Jan Šedivý
[ Ilustrace: funkcionality aplikace KOSeek, převzato z časopisu Pražská technika ]