UNICORN COLLEGE BAKALÁŘSKÁ PRÁCE

Rozměr: px
Začít zobrazení ze stránky:

Download "UNICORN COLLEGE BAKALÁŘSKÁ PRÁCE"

Transkript

1 UNICORN COLLEGE Katedra informačních technologií BAKALÁŘSKÁ PRÁCE Cloudové služby Microsoft Azure a jejich využití ve Windows Store aplikacích Autor BP: Pavel Jindra Vedoucí BP: Ing. David Hartman, Ph.D Praha

2

3

4 Čestné prohlášení Prohlašuji, že jsem svou bakalářskou práci na téma Cloudové služby Microsoft Azure a jejich využití ve Windows Store aplikacích vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím výhradně odborné literatury a dalších informačních zdrojů, které jsou v práci citovány a jsou také uvedeny v seznamu literatury a použitých zdrojů. Jako autor této bakalářské práce dále prohlašuji, že v souvislosti s jejím vytvořením jsem neporušil autorská práva třetích osob a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb. V Praze dne (Pavel JINDRA)

5 Poděkování Děkuji vedoucímu bakalářské práce Ing. Davidu Hartmanovi, Ph.D. a konzultantovi bakalářské práce Bc. Pavlu Borymu za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce.

6 Cloudové služby Microsoft Azure a jejich využití ve Windows Store aplikacích Microsoft Azure Cloud Services and their use in the Windows Store applications 6

7 Abstrakt Bakalářská práce se zabývá cloudovými službami platformy Microsoft Azure a jejich využitím při vývoji aplikací pro Windows Store. Nejprve je představena platforma samotná a dále se práce orientuje na jednotlivé nabízené služby. Popsány jsou taktéž základy vývoje aplikací pro Windows Store a jejich specifika. Po zmapování možností, které platforma nabízí, je reálné využití cloudových služeb demonstrováno v ukázkové aplikaci vyvinuté v jazyce C# a XAML, která je určena pro operační systém Windows 8.1. Výsledkem je plně funkční aplikace pro Windows Store, která je připravena pomoci uživateli s výukou cizích jazyků a rozšířením jeho slovní zásoby. Hlavním zjištěním této práce je, že platforma Microsoft Azure poskytuje cloudové služby, které jsou pro vývoj aplikací pro Windows Store plně využitelné a jejich implementace je přínosná. Klíčová slova: cloud, cloudové služby, Azure, Microsoft, Windows Store, C#, XA- ML, MVVM Abstract The BA thesis focuses on cloud services of the Microsoft Azure platform and their use in the development of applications for Windows Store. First the platform as such is introduced, and then the thesis deals with the individual services the platform offers. Basic information on the development of applications intended for Windows Store and their specifics is provided as well. After the possibilities offered by the platform are presented, the actual, realistic use of cloud services is demonstrated on a sample application intended for Windows 8.1 and developed in the C# and XAML languages. The result is a fully-functional application for Windows Store that helps the user to learn foreign languages and to develop his or her vocabulary. The main point of this thesis is that the Microsoft Azure platform offers helpful cloud services which can be well used in the development of applications for Windows Store. Keywords: cloud, cloud services, Azure, Microsoft, Windows Store, C#, XAML, MVVM 7

8 Obsah Úvod 11 1 Představení Microsoft Azure 12 2 Služby Microsoft Azure Výpočetní prostředky Virtuální stroje (Virtual Machines) Cloudové služby (Cloud Services) Weby (Websites) Mobilní služby (Mobile Services) Dávka (Batch) Datové služby Úložiště (Storage) Databáze SQL (SQL Database) HDInsight Spravovaná mezipaměť (Managed Cache) Zálohování (Backup) Zotavení sítě (Site Recovery) Strojové učení (Machine Learning) StorSimple DocumentDB Vyhledávání Azure (Azure Search) Datová továrna (Data Factory) Analýza streamování (Stream Analytics) Aplikační služby Mediální služby (Media Services) Sběrnice (Service Bus) Centra oznámení (Notification Hubs) 24 8

9 2.3.4 Statistika provozu (Operational Insights) Plánovač (Scheduler) Služby BizTalk (BizTalk Services) Active Directory Vícefaktorová autentifikace (Multi-Factor Authentication) Automatizace (Automation) Síť pro doručování obsahu (Content Delivery Network) Správa rozhraní API (API Management) Vzdálená aplikace (RemoteApp) Aplikační náhledy (Application Insights) Visual Studio Online Síťové služby ExpressRoute Virtuální síť (Virtual Network) Správce provozu (Traffic Manager) 28 3 Vývoj aplikací pro Windows Store Windows 8.1 a Modern UI Windows Store Specifika vývoje XAML Data Binding Návrhový vzor MVVM Framework Caliburn.Micro 36 4 Představení aplikace Vytváření a editace slovníků Zkoušení uživatele a jeho hodnocení Osobní statistika uživatele 42 9

10 4.4 Tržiště Nastavení Uživatelské prostředí 46 5 Implementace vybraných služeb Azure v aplikaci Mobilní služby Autentizace Databáze SQL Úložiště Notifikační služby 69 Závěr 75 Conclusion 77 Seznam použitých zdrojů 79 Seznam použitých zkratek 82 Seznam obrázků 84 Seznam tabulek 87 Seznam příloh 88 Příloha A CD-ROM 88 10

11 Úvod Hlavním tématem této práce je jeden z fenoménu dnešního světa informačních technologií a to cloudové služby. Cloudové služby a aplikace postupně mění svět informačních technologií a to jak z pohledu odborníků, tak i běžných uživatelů. V práci se konkrétně zaměříme na cloudovou platformu Azure společnosti Microsoft. V teoretické části nejprve představíme platformu jako takovou a dále se budeme orientovat na jednotlivé nabízené služby s důrazem na jejich využití v kombinaci s aplikacemi pro Windows Store. S příchodem operačního systému Microsoft Windows 8 byl představen i nový způsob distribuce aplikací, Windows Store. Jedná se o digitální distribuční kanál pro aplikace s novým uživatelským prostředím Modern UI (dříve Metro), které se využívá nejenom v systémech Windows 8, ale i Windows Phone 8 a novějších. Toto uživatelské prostředí je typické dlaždicemi a celoobrazovkovým režimem. V jedné z kapitol nastíníme způsob, jakým jsou aplikace pro Windows Store vyvíjeny. Obě platformy, tedy jak Microsoft Azure, tak i Windows Store, jsou firmou Microsoft masivně podporovány a procházejí poměrně dost dynamickým vývojem. S ohledem na aktuální vývoj ve světě informačních technologií, lze obou platformám předpovídat velkou budoucnost a jejich propojení se tak jeví jako logické. V praktické části se proto zaměříme na demonstrování reálného využití cloudových služeb Microsoft Azure v aplikaci pro platformu Windows 8.1 s názvem Scholasticus. Jedná se o ukázkovou aplikaci, která byla pro tyto účely vytvořena, jejíž hlavní funkčností je zkoušení slovní zásoby a jedná se tedy o pomocníka při výuce cizích jazyků. Aplikace byla vytvořena v jazyce C# a XAML. Pro tuto práci využijeme široké spektrum dostupných zdrojů s cílem zmapovat možnosti využití služeb poskytovaných platformou Microsoft Azure v aplikacích pro Windows Store. Zjistíme, zda je platforma Azure využitelná pro vývoj těchto aplikací, jaké služby jsou dostupné a jaké přínosy nám může, z pohledu vývojáře aplikace, přinést jejich využití. 11

12 1 Představení Microsoft Azure Microsoft Azure je flexibilní cloudová platforma společnosti Microsoft. Sama společnost Microsoft ji definuje jako platformu, která umožňuje rychle vytvářet, nasazovat, škálovat a spravovat aplikace v rámci globální sítě svých datových center. [1] Pokud bychom měli přiblížit termín cloud a cloud computing, použili bychom s trochou nadsázky přirovnání pana Srirama Krishnana ke kohoutkové vodě. Představte si, že by neexistovala vodovodní síť a tedy voda z kohoutku. Každá domácnost by byla nucena vykopat si svou vlastní studnu, a pokud by tak neučinila, byla by bez vody. Ovšem výstavba takové studny je drahá záležitost a i posléze je nákladná na údržbu. Ve chvíli, kdy bychom potřebovali pouze dočasně větší množství vody, by bylo nutné provést například modernizaci čerpadla a tato investice by se nám již pravděpodobně nevrátila. Voda z kohoutku všechny tyto problémy vyřeší. Peníze a čas investuje někdo jiný, kdo vytvoří vodovodní infrastrukturu a zajistí, že je vždy k dispozici pitná voda v požadovaném množství. Zákazník pak platí pouze za to, co reálně spotřebuje. Toto přirovnání v kostce vystihuje princip cloud computingu. Prostředky datového centra jsou distribuované a škálovatelné podobně jako kohoutková voda a také platíte pouze za to, co reálně využijete. [2, s. 1] Termín cloud je vlastně metafora pro internet, odvozená od bežně používané reprezentace internetu v nákresech počítačových sítí jako mraku. [2, s. 1] Cloud computing můžeme obecně charakterizovat jako technologie používané pro přístup ke službám na internetu, které je možno používat kdykoliv, odkudkoliv a téměř na libovolném zařízení. [3] Moderní platforma pro cloud computing, jako je Microsoft Azure, typicky zahrnuje několik následujících vlastností. Především je škálovatelná a elastická, což znamená, že poskytované služby se pružně přizpůsobují potřebám uživatele a aktuální zátěži a omezením jsou pak pouze technologické možnosti a velikost infrastruktury konkrétního poskytovatele. [3] Vytváří vlastně iluzi o nekonečném výpočetním výkonu a úložném prostoru. Aplikace může například běžet na jednom serveru a ve špičkách můžeme přidat další instance serverů pro zajištění dostupnosti a výkonu, které lze později zase odebrat. Další typickou vlastností, jak jsme již nastínili výše, je zpoplatnění za užívání, kdy typicky není potřeba vstupní investice a účtováno je pouze za software a hardware, který skutečně použijeme. [2, s. 7] Důraz je také kladen na vysokou dostupnost a SLA (Service Level Agreement) neboli 12

13 dohodu o kvalitě služeb. Musí být zajištěno, že nebude docházet k častým výpadkům a většina poskytovatelů cloudových služeb tedy garantuje vysokou úroveň provozuschopnosti svým uživatelům. [2, s. 7] Nejinak je tomu i u platformy Microsoft Azure, kde společnost Microsoft garantuje SLA 99,95%. [1] Ve chvíli, kdy má platforma sloužit uživatelům po celém světě, je důležité, aby datová centra byla v různých geografických oblastech. Důvody jsou jak technické, jako vyvažování zátěže, latence sítě, ale i politické a právní. Microsoft Azure umožňuje vytvářet virtuální servery, vyvíjet, upravovat a distribuovat škálovatelné aplikace s minimálními nároky na interní prostředky a vykonávat náročné a rozsáhlé výpočty. Výhodou je i zrychlení uvedení produktu na trh, snížení nároků na správu informačních technologií, kdy výraznou část správy přebere datové centrum poskytovatele. [4, s. 6] Podíváme-li se trochu do historie, zjistíme, že platforma Microsoft Azure byla poprvé oficiálně představena v roce 2008 během konference PDC (Professional Developer s Conference) v Los Angeles a to ještě pod původním názvem Windows Azure. Microsoft ovšem již nebyl v té době na poli cloudových služeb nováčkem a již nějaký čas poskytoval cloudové služby jako například MSN, Xbox Live a Hotmail. [5, s. 46] Komerčně dostupná je platforma od roku 2010 a aktuální název, Microsoft Azure, získala platforma v dubnu roku [6] Jednotlivé služby, které platforma Microsoft Azure nabízí, podrobněji představíme v následujících kapitolách. 13

14 2 Služby Microsoft Azure Služby Microsoft Azure můžeme rozdělit do tří kategorií: IaaS, Paas a Saas. Kategorie Iaas neboli Infrastrucuture as a Service označuje služby, kdy je pro běh uživatelských aplikací poskytován hardware provozovatelem cloudu. Obsahuje kompletní infrastrukturu jako je napájení, chlazení, servery, úložiště a serverovou virtualizaci. Uživatelé si pronajímají tyto virtuální servery přímo od poskytovatele platformy Microsoft Azure. Vývojáři se tím pádem nemusí rozptylovat správou a údržbou hardwaru a můžou se soustředit pouze na vývoj aplikací. [7, s. 11] PaaS (Platform as a Service) poskytuje softwarové prostředí vývojářům pro vývoj, testování a běh aplikací v cloudu. PaaS odstíní vývojáře od nutnosti znát detaily infrastruktury, takže se mohou více koncentrovat na vývoj obchodní logiky aplikace. Pokud bychom měli porovnat služby IaaS a PaaS, tak uživatelé IaaS stále musejí spravovat své virtuální servery (instalovat záplaty, aktualizovat systém), naproti tomu uživatelé PaaS nepracují přímo na konkrétních virtuálních serverech, ale na vyšší, abstraktní úrovni. Definují služby a prostředí, které potřebují, ale přímo ho nespravují. Tuto starost na sebe bere cloudová platforma. [7, s. 12] Příkladem může být cloudová služba Weby. SaaS (Software as a Service) znamená, že software je poskytován koncovému uživateli jako hostovaná služba. Koncový uživatel nemusí instalovat a spravovat žádný hardware ani softwarové prostředí pro využití dané služby. Místo toho přistupuje na požadovanou funkcionalitu přes koncový bod poskytovaný provozovatelem služby. Mezi SaaS služby poskytované Microsoft Azure můžeme například zařadit Mobilní služby, Databáze SQL, Úložiště a Správu mezipaměti. [7, s. 14] Platformu Microsoft Azure ale také můžeme rozdělit na několik logických komponent a to na Výpočetní prostředky (Compute), Datové služby (Data Services), Aplikační služby (App Services) a Síťové služby (Network Services). [8] Jednotlivé části a jejich služby budou popsány v následujících kapitolách. Všechny popisované služby jsou dostupné v období, kdy vzniká tato práce, nicméně se nejedná o konečný seznam, jelikož platforma Microsoft Azure se neustále vyvíjí, vznikají nové služby a stávající se modifikují. 14

15 Obrázek 1: Pohled na platformu Microsoft Azure 2.1 Výpočetní prostředky Zdroj: [9, s. 23] Komponenta Výpočetní prostředky je pomyslným srdcem Microsoft Azure. Poskytuje výpočetní čas a prostředí pro aplikace v cloudu. Je vystavena prostřednictvím hostovaných služeb, které jsou nasazeny na datových centrech Azure. [10] Virtuální stroje (Virtual Machines) Podle klasické cloudové klasifikace jsou virtuální stroje typickým příkladem IaaS (Infrastructure as a Service). Tato služba umožňuje vytvářet virtuální škálovatelnou výpočetní infrastrukturu na počkání. V porovnání s klasickým řešením odpadá nutnost nákupu a konfigurace hardwaru. Při tom je možné používat stejné nástroje pro správu virtuálního počítače, s jakými se běžně pracuje lokálně. Virtuální servery je možné vytvářet jak na platformách Windows Server, tak i Linux. Servery mů- 15

16 žou sloužit jak pro vývoj, tak i jako testovací platforma. Dalším využitím může být rozšíření kapacity vlastního datového centra v případě předvídaných i nepředvídaných špiček. V případě potřeby je možné virtuální servery přesouvat nejen mezi datovými centry Microsoft Azure, ale i ostatními poskytovateli cloudových služeb. [4, s. 8] Obrázek 2: Virtuální stroje Zdroj: (upraveno) Cloudové služby (Cloud Services) Cloudové služby je možné zařadit do kategorie PaaS (Platform as a Service), tedy platforma je poskytována jako služba. Cloudové služby Azure zbavují uživatele nutnosti provádět správu serverové infrastruktury. Tento model je vhodný ve chvíli, kdy je potřeba vytvořit škálovatelnou cloudovou aplikaci, která je stále dostupná a nevyžaduje velkou míru administrativy. Aplikaci je možné vytvořit na vybrané technologii jako je C#, Java, PHP, Python a další. Kód poté běží na virtuálních strojích, které jsou ovšem odlišné od Virtuálních strojů popisovaných v předešlé kapitole. Virtuální stroje v rámci Cloudových služeb se totiž automaticky spravují, monitorují a v případě potřeby se zde instalují opravné balíčky či v případě pádu proběhne automatická obnova bez nutného zásahu uživatele. [4, s. 9] 16

17 Při vytváření instance můžeme využít dvě role založené na systému Windows, Web a Worker. Web role může přes webový server IIS (Internet Information Services) přímo komunikovat s klientem a reagovat na jeho požadavky. Role je vhodná pro aplikace, které komunikují přes internetový protokol HTTP (Hypertext Transfer Protocol), tedy pro webové servery a webové aplikace. Worker role nemá přímý kontakt s okolním světem, takže nedokáže reagovat na žádné vnější podměty. Role je vhodná pro aplikace, které vykonávají zpracovávání na pozadí. [4, s. 10] Pomocí obou rolí umožňují cloudové služby rychlé vytvoření, nasazení a správu moderních aplikací. Obrázek 3: Cloudové služby Zdroj: (upraveno) Weby (Websites) Častou činností v cloudu je provozování webových stránek a webových aplikací. Jednou z možností je využití služby virtuálního stroje, která byla popsána výše. Nevýhodou ovšem může být nutnost spravovat tento virtuální stroj nebo stroje. 17

18 Naproti tomu služba Weby nabízí možnost nasadit webové aplikace do škálovatelné cloudové infrastruktury bez nutnosti starat se o správu systému. Weby jsou provozovány přes webový server IIS (Internet Information Services) a uživatel má možnost buď přesunout stávající aplikaci či stránku do služby Microsoft Azure anebo vytvořit novou přímo přes uživatelské rozhraní poskytované cloudem. Podporovány jsou technologické platformy.net, PHP, Node.js a další. Integrována je taktéž podpora pro redakční systémy WodrPress, Joomla a Drupal. [4, s. 9] Obrázek 4: Weby Zdroj: (upraveno) Mobilní služby (Mobile Services) Mobilní služby Azure poskytují škálovatelný backendový systém pro vytvoření aplikací pro Windows Store, Windows Phone, Apple ios, Android a HTML/JavaScript. Umožňují během několika minut uložit data do cloudu, ověřit uživatele a poslat do aplikace nabízená oznámení. [11] Nabízí tedy tři základní 18

19 pilíře pro vývoj mobilních aplikací. Autentizační služby umožňují přihlášení uživatelů identitou od renomovaných poskytovatelů identit jako je Microsoft, Facebook, Twitter nebo Google. Nabízí se také možnost využít Active Directory a bezpečně přistupovat k podnikovým údajům. Dalším prvkem jsou Notifikační služby, které umožňují doručení oznámení na zařízení. Typickým příkladem jsou dynamické dlaždice Windows 8.1 a toast (vyskakovací) notifikace. [12, s. 8] Pro zaslání notifikací do aplikací pro Windows Store se využívá služba Windows Push Notification Service (WNS). [13, s. 94] Obrázek 5: Mobilní služby Zdroj: (upraveno) Dávka (Batch) Azure Batch usnadňuje spouštění rozsáhlých paralelních a HPC pracovních postupů v Azure. Batch se dá použít ke škálování paralelních úloh, správě spouštění úkolů ve frontě a přípravě aplikací pro cloud tak, aby mohly přesměrovat zpracování úkolů v cloudu. [11] Služba tedy najde své využití všude tam, kde je nutný 19

20 vysoký výkon pro náročné výpočetní operace, což by jistě v Azure šlo i bez této služby, ale Dávka přidává navíc správu a obsluhu virtuální instancí určených pro výpočty. 2.2 Datové služby Microsoft Azure poskytuje podporu různým formám uložení dat s rozdílnými vlastnostmi a možnostmi Úložiště (Storage) Služba Úložiště je škálovatelná a vysoce dostupná služba, která umožňuje ukládat jakákoliv aplikační data ve třech typech objektů, kterými jsou bloby, tabulky a fronty. Každý typ úložiště má své výhody a můžeme zvolit vhodnou variantu v závislosti na požadavcích naší aplikace. [5, s. 205] Typ blob je vhodný pro uložení větších dat jako jsou dokumenty, obrázky, videa či hudební soubory. Jednotlivé bloby jsou uchovávány v kontejnerech a můžou být doplněny o metadata, tedy o strukturované informace o datech ve formě párů klíč-hodnota. Jednotlivý blob může dosahovat velikosti až 1TB a být rozdělen do bloků pro efektivní přenos. [5, s. 211] Dalším typem je fronta, která je řešením pro doručení a uchovávání spolehlivých asynchronních zpráv a slouží zejména ke komunikaci mezi instancemi webových a výkonných rolí. [5, s. 269] Poslední typ, tabulka, umožňuje ukládat strukturovaná data, kdy se nejedná o relační tabulku a data se uchovávají ve formě sady položek a jejich vlastností. [5, s. 313] Pro zajištění dostupnosti a ochrany před selháním hardwaru jsou v rámci jedné oblasti data automaticky replikována ve třech kopiích s možností rozšíření o geografickou redundanci, která zajistí vyšší dostupnost a rychlejší zotavení po havárii vytvořením dalších tří kopií. [5, s. 207] 20

21 Obrázek 6: Architektura služby Úložiště Zdroj: [5, s. 206] Databáze SQL (SQL Database) Databáze Azure SQL je služba relační databáze, pomocí které můžete rychle vytvořit, rozšířit a škálovat relační aplikace do cloudu. [11] Služba Databáze SQL je založena na jádru relační databáze Microsoft SQL Server a může být použita pro ukládání obchodních, uživatelských a systémových dat. Azure trvale udržuje tři repliky databáze v cloudu a pokud jedna z nich selže, je automaticky vytvořena nová instance. Nabídka nástrojů pro správu služby je pestrá od REST API, přes portál správy Azure až po SQL Server Management Studio a podporuje technologie jako.net, PHP a další. Díky tomu, že služba je nasazena na infrastruktuře datových center firmy Microsoft, poskytuje SQL Azure taktéž možnost vyrovnání zátěže a převzetí služby při selhání a to prakticky bez nutnosti údržby. [5, s. 505] 21

22 2.2.3 HDInsight Azure HDInsight je služba, která využívá technologii Hadoop a poskytuje cloudu řešení Apache Hadoop. [11] Návrh služby byl proveden tak, aby mohla zpracovávat libovolný škálovatelný objem dat a to jak nestrukturovaných tak i semistrukturovaných. Zdrojem mohou být různorodá data od záznamů o navštívených webových stránkách přes protokoly serverů až po data ze senzorů a podobně. Výhodou je spolupráce služby s analytickými nástroji Microsoftu. [9, s. 29] Spravovaná mezipaměť (Managed Cache) Spravovaná mezipaměť je distribuční škálovatelné řešení v paměti, které díky rychlému přístupu k datům umožňuje vytvořit vysoce škálovatelné a interaktivní aplikace. Mezipaměť je založená na open source mezipaměti Redis. Poskytuje přístup k zabezpečené vyhrazené mezipaměti Redis spravované Microsoftem. Mezipaměť vytvořená pomocí systému Azure je přístupná z libovolné aplikace v platformě Microsoft Azure. [11] Zálohování (Backup) Zálohování Azure je jednoduché a spolehlivé řešení ochrany dat, které zákazníkům umožňuje zálohovat jejich místní data do Microsoft Azure. Služba dále slouží ke správě cloudových záloh prostřednictvím nástrojů v aplikacích Windows Server 2012, Windows Server 2012 Essentials nebo System Center 2012 Data Protection Manager. Data záloh jsou uložená v geograficky replikovaném úložišti, které ve dvou datových centrech Azure udržuje 6 kopií uživatelských dat. [11] Zotavení sítě (Site Recovery) Site Recovery pomáhá chránit důležité aplikace koordinací replikace a obnovení privátních cloudů napříč lokalitami díky jednoduchému a nákladově efektivnímu zotavení po havárii. [11] Strojové učení (Machine Learning) Služba Machine Learning umožňuje jednoduše navrhnout, testovat, zprovoznit a spravovat prediktivní analytická řešení v cloudu. Kombinuje statistiku a matematiku se strojovým učením a umělou inteligencí. [11] 22

23 2.2.8 StorSimple StorSimple nabízí řešení úložiště v hybridním cloudu, které poskytuje primární úložiště, archiv a možnosti zotavení po havárii. V kombinaci s Microsoft Azure toto řešení optimalizuje celkové náklady úložiště a ochrany dat. StorSimple využívá disky SSD a pevné disky, které zajišťují výkon vstupně-výstupních operací s nízkými náklady, odstraňuje duplicity a provádí kompresi, aby se snížil celkový objem dat." [11] DocumentDB Azure DocumentDB je plně spravovaná databázová služba s nativní podporou JSON a JavaSriptu pro dokumenty typu NoSQL, která nabízí dotazy a transakce s daty bez schématu. [11] Vyhledávání Azure (Azure Search) Vyhledávání systému Azure je plně spravovaná služba, která umožňuje přidat k webu a mobilním aplikacím důmyslné vyhledávací funkce bez obvyklých složitostí spojených s fulltextovým vyhledáváním. Služba omezuje složitost tím, že vytváří a spravuje vlastní vyhledávací indexy. [11] Datová továrna (Data Factory) Azure Data Factory je spravovaná služba pro vývojáře, která vytváří důvěryhodné informace z nezpracovaných dat v cloudu nebo místních zdrojích. Umožňuje vytvářet a organizovat vysoce dostupné, vůči chybám odolné pracovní postupy přesunu dat a transformačních aktivit. [11] Analýza streamování (Stream Analytics) Stream Analytics je modul pro zpracování událostí, který pomáhá získat informace ze zařízení, senzorů, cloudové infrastruktury a vlastností existujících dat v reálném čase. Díky okamžité integraci do center událostí dokáže kombinované řešení přijmout miliony událostí a analyzovat je. To pomáhá lépe porozumět vzorům, pracovat s řídicím panelem, zjišťovat anomálie nebo spustit akci během streamování dat v reálném čase. [11] 23

24 2.3 Aplikační služby Aplikační služby poskytují funkce, které umožňují vyvíjet škálovatelné cloudové aplikace na platformě Microsoft Azure a jejich následnou správu Mediální služby (Media Services) Mediální služby nabízejí cloudová řešení pro média založená na mnoha stávajících technologiích. Umožňuje bezpečně nahrávat, ukládat, kódovat a balit videa nebo zvukový obsah pro streamování na vyžádání nebo v reálném čase na řadu koncových bodů, jako jsou televize, počítače a mobilní zařízení. Prostředky jsou chráněné šifrováním při nahrávání, v úložišti i při přehrávání díky technologii Microsoft PlayReady Digital Rights Management (DRM). [11] Sběrnice (Service Bus) Sběrnice Azure je infrastruktura zasílání zpráv umístěná mezi aplikacemi, kterým umožňuje výměnu zpráv a tím i lepší škálovatelnost a odolnost. Propojovací sběrnice řeší problémy komunikace mezi místními aplikacemi a okolním světem tím, že umožňuje místním webovým službám zpřístupnit veřejné koncové body. [11] Centra oznámení (Notification Hubs) Centra oznámení poskytují vysoce škálovatelnou infrastrukturu nabízených oznámení napříč platformami, která umožňuje vysílat oznámení milionům uživatelů najednou nebo vytvořit oznámení šitá na míru konkrétním osobám. S pomocí těchto služeb se dají analyzovat velké objemy dat vytvářené připojenými zařízeními a aplikacemi. Data se poté dají v Centru událost transformovat a uložit pomocí analýzy v reálném čase. [11] Statistika provozu (Operational Insights) Statistika provozu umožňuje shromažďovat, korelovat a vizualizovat všechna data v počítači, jako jsou protokoly událostí, síťové protokoly, údaje o výkonu z místních i cloudových prostředků. [11] 24

25 2.3.5 Plánovač (Scheduler) Plánovač umožňuje vyvolat akce, které volají koncové body HTTP/S nebo odesílají zprávy do fronty úložiště kteréhokoli plánu. V Plánovači je možno vytvářet úlohy, které volají služby v systému Azure nebo mimo něj a okamžitě tyto úlohy na základě pravidelného nebo nepravidelného plánu spouštět nebo je nastavit na spuštění v budoucnu. [11] Služby BizTalk (BizTalk Services) Azure BizTalk je rozšiřitelná cloudová integrační služba, která poskytuje funkce integrace B2B (Business to Business) a podnikových aplikací (EAI) umožňující přinášet cloudová a hybridní integrační řešení. Jedná se o řešení správy obchodních partnerů a zpracování elektronické výměny dat s podporou podnikových aplikací SAP, Oracle EBS, SQL Server a PeopleSoft spouštěných místně i v cloudu. [11] Active Directory Služba Active Directory poskytuje funkce správy identity a řízení přístupu určené pro cloudové aplikace. Je možno synchronizovat místní identity a povolením jednotného přihlašování usnadnit uživatelům přístup ke cloudovým aplikacím. Uživatelé tedy můžou spouštět cloudové aplikace z webového přístupového panelu pomocí svých přihlašovacích údajů do podnikové sítě. Služba tak pomáhá zabezpečit přístup k aplikacím včetně online služeb Microsoftu, jako je například Office 365 a další. [11] Vícefaktorová autentifikace (Multi-Factor Authentication) Služba Azure Multi-Factor Authentication poskytuje další úroveň ověřování a pomáhá tak zabránit neoprávněnému přístupu k místním i cloudovým aplikacím. Umožňuje používat firemní standardy bezpečnosti a dodržování předpisů a zároveň vyhovět požadavkům uživatelů na pohodlný přístup. Nabízí silné ověřování za pomoci řady jednoduchých prostředků a to buď telefonických hovorů, textových zpráv nebo oznámení přes mobilní aplikaci. [11] 25

26 2.3.9 Automatizace (Automation) Služba Automation umožňuje automatizovat vytvoření, nasazení, sledování a údržbu zdrojů v prostředí Azure pomocí vysoce škálovatelného prováděcího modulu a tím zjednodušit správu cloudu. [11] Síť pro doručování obsahu (Content Delivery Network) Služba CDN je navržená speciálně pro současné dynamické weby zaměřené na média. Díky globální síti datových center umožňuje poskytovat koncovým uživatelům na celém světě širokopásmový obsah s nízkou latencí a vysokou dostupností. Slouží k rychlejšímu a spolehlivějšímu posílání zvuku, videa, aplikací, obrázků a dalších souborů zákazníkům ze serverů umístěných co nejblíže koncovým uživatelům sítě. Významně se tak zvyšuje rychlost a dostupnost. [11] Správa rozhraní API (API Management) Správa rozhraní umožňuje publikovat API (Application Programming Interface) vývojářům, partnerům a zaměstnancům bezpečným a škálovatelným způsobem. Správa chrání důležité podnikové systémy ověřováním, omezením přenosové rychlosti, kvótami a ukládáním do mezipaměti a snižuje tak zátěž při vysokém zatížení. [11] Vzdálená aplikace (RemoteApp) Vzdálená aplikace Azure RemoteApp pomáhá uživateli zůstat produktivní kdekoli a v různých zařízeních Windows, Mac OS X, ios nebo Android. Aplikace běží na Windows Serveru v cloudu Azure, kde je možno ji snadno škálovat a aktualizovat. Uživatelé si nainstalují klienty Vzdálené plochy Microsoftu do svých přenosných počítačů, tabletů nebo telefonů připojených k internetu a mohou aplikaci používat stejně, jako kdyby byla spuštěna místně. Jedná se o chráněné řešení pro poskytování aplikací například pro sezónní zaměstnance, dodavatele bez nutnosti budovat místní infrastrukturu. [11] Aplikační náhledy (Application Insights) Application Insights umožňuje detekovat a řešit problémy webových aplikací pomocí diagnostiky v reálném čase. Jedná se o globální náhled na stav a výkon všech 26

27 webových aplikací, kdy je možné zjistit, jak uživatelé aplikaci používají, zjistit tempo požadavků a dobu odezvy. [11] Visual Studio Online Služba Visual Studio Online nabízí cloudové řešení správy životního cyklu aplikací, které zahrnuje funkce od hostovaných úložišť kódu a sledování problémů až po zátěžové testování a automatizované sestavování. Pro účely tradiční centralizované správy verzí je možno použít TFVC (Team Foundation Version Control) anebo distribuovaný přístup Git. K projektům, kódu a pracovním položkám je umožněn přístup prostřednictvím integrovaného prostředí Visual Studia nebo bezplatného modulu plug-in pro Eclipse. [11] 2.4 Síťové služby Síťové služby umožňují uživatelům propojovat jejich instance běžící v Azure s vlastními datovými centry a privátními cloudy. Umožňují mít pod kontrolou síťovou topologii, konfiguraci adresního prostoru IP (Internet Protocol), směrovací tabulky a bezpečnostní pravidla ExpressRoute Azure ExpressRoute umožňuje vytvořit privátní připojení mezi datovými centry Azure a místní infrastrukturou ve vlastních prostorách nebo v okolním prostředí. Spojení ExpressRoute nevede veřejným internetem, má tedy nižší latenci a vyšší rychlost. Toto řešení je vhodné pro pravidelné migrace a replikace dat. [11] Virtuální síť (Virtual Network) Pomocí virtuální sítě je možno vytvořit v Azure virtuální privátní sítě (VPN) a bezpečně je propojit s místní IT infrastrukturou. Topologii sítě včetně konfigurace rozsahů DNS (Domain Name System) a IP adres je plně pod kontrolou a je možné ji spravovat stejně jako místní infrastrukturu. [11] 27

28 2.4.3 Správce provozu (Traffic Manager) Se Správcem provozu Azure je možno vyrovnávat zatížení příchozího provozu napříč několika hostovanými službami Azure spuštěnými ve stejném datovém centru nebo i v různých datových centrech po celém světě. Dochází tak k zajištění lepšího výkonu a dostupnosti. Správce provozu je navržený tak, aby zrychlil odezvu aplikací a poskytování obsahu tím, že směruje uživatele do služby Azure nebo do externího umístění s nejnižší síťovou latencí. [11] 28

29 3 Vývoj aplikací pro Windows Store Nový operační systém Windows 8 a jeho následný update Windows 8.1 přinesl mnoho zásadních novinek a to nejenom z pohledu uživatelů, ale i vývojářů. Nové uživatelské prostředí Modern UI totiž poskytlo i nový způsob vytváření a distribuci aplikací. 3.1 Windows 8.1 a Modern UI Operační systém Windows 8 byl vydán v roce 2012 a je založen na jádru s názvem MinWin, který je taktéž základním kamenem Windows Server OS a Windows Phone 8. Existence jediného jádra pomáhá zachovat kompatibilitu mezi různými zařízeními a platformami, zkracuje dobu vývoje a pomáhá zvyšovat bezpečnost. Windows 8 je modulární operační systém. To znamená, že lze jednotlivé funkce libovolně zapnout nebo vypnout a některé funkce mohou být zcela odstraněny bez ovlivnění funkčnosti celého systému. Jednotlivé moduly a funkce se liší, ale jádro zůstává stejné. [14, s. 1] V roce 2013 Microsoft uvolnil aktualizaci Windows 8.1, která přinesla řadu významných vylepšení a změn. Tyto změny zahrnovaly vše, od způsobu jakým uživatelské rozhraní komunikuje, jak vypadá až po rozšíření podpory pro podnikové uživatele. [14, s. 2] Největší změna pro uživatele přecházející ze starších verzí Windows je nové uživatelské rozhraní s názvem Modern UI (dříve Metro). K jeho přednostem patří jednoduchost a zaměření na obsah. Přibyla nová úvodní obrazovka, která je založená na živých dlaždicích sloužících jako zástupci aplikací, z nichž každá poskytuje informace v reálném čase. Například se může jednat o události v kalendáři, počet nových ů, směnné kurzy a změny na akciových trzích. [14, s. 5] Nové rozhraní je určené primárně pro dotykové zařízení a obsahuje podporu gest. Nicméně i na zařízeních nepodporující dotykové ovládání lze operační systém pohodlně provozovat, jelikož Windows 8 integruje dvě základní prezentační vrstvy, a to nové Modern UI a standardní desktopové rozhraní Aero, známé již ze systému Windows 7. Samozřejmostí je i komunikace se standardními vstupními zařízeními počítače. Mezi rozhraními lze plynule přepínat a využívat výhody obou. [15, s. 11] Programy běží standardně v celoobrazovkovém módu, nicméně nové rozhraní dovoluje vzájemnou koexistenci dvou a více programů vedle sebe. V tom případě se rozdělí obrazovka na více regionů a do každého se umístí prezentační vrstva právě jednoho 29

30 programu. [15, s. 14] Program má vždy deterministicky definované vizuální rozvrhnutí svojí prezentační vrstvy. Tuto vrstvu formuje grafické rozhraní programu, jehož funkcionalita je založena na principu dynamické mřížky. Mřížka vytváří základní hierarchické uspořádání jak kolekcí objektů, tak i samostatných objektů těchto kolekcí. Výhodou je logická kategorizace objektů a schopnost automatického přizpůsobování vzhledu programu v přímé korelaci na dostupnou zobrazovací plochu a aktuální rozlišení zařízení, na kterém je program právě spuštěn. [15, s. 15] Obrázek 7: Úvodní obrazovka Windows Windows Store Zdroj: [14, s. 9] Spolu s novým operačním systémem Windows 8 přišel i nový elektronický obchod společnosti Microsoft. Ten nabízí tisíce aplikací rozdělených do jednotlivých kategorií, které jsou kompatibilní s novým uživatelským rozhraním, a zároveň je tento obchod jejich jediným oficiálním distribučním kanálem. [15, s. 18] Ještě než je možné aplikaci distribuovat ve Windows Store, musí nejprve projít testovacím a certifikačním procesem. Pro úspěšné dokončení validačního procesu na straně 30

31 vývojáře je nutné mít nainstalovaný Windows App Certification Kit a platnou vývojářskou licenci. Samotný program, který má projít validací, musí být zkompilovaný a spojený do přímo spustitelného souboru. Proces samotný vykonává například detekci kolizních stavů, kontrolu výkonnosti programu (suspendaci a oživení) a kontrolu použití jen kompatibilních API (Application Programming Interface). Součástí validace je taktéž kontrola správnosti formátování obsahu manifestu programu. [15, s. 45] Každý aplikační balíček (souborová koncovka.appx) totiž obsahuje svůj jedinečný manifest, který uchovává informace o kolekci souborů, z nichž se tento program skládá a stanovuje, zda program požaduje přístup k chráněným systémovým zdrojům nebo k jeho perifériím. [15, s. 46] Jak jsme již předeslali pro publikaci aplikací ve Windows Store je nutný vývojářský účet. Pro účely této práce byl využit bezplatný studentský účet, poskytovaný v rámci programu DreamSpark. Program DreamSpark je určený studentům a školám a nabízí zdarma nejnovější technologie pro vývoj, design a správu IT systémů od společnosti Microsoft. 3.3 Specifika vývoje Aplikace vyvíjené pro Windows Store jsou postaveny na nové systémové knihovně Windows Runtime. Pro vytváření aplikací si můžeme vybrat z několika programovacích jazyků a způsobů vytváření uživatelského rozhraní. [16] Jejich přehled je uveden na obrázku 8. Pro účely této práce byla zvolena kombinace C# a XAML. 31

32 Obrázek 8: Přehled programovacích jazyků Zdroj: [16] Vývojový proces aplikací pro Windows Store disponuje několika specifikami. Velký důraz je kladen na asynchronní programování. Pokud je implementace správná, nikdy se nemůže stát, že program přestane zpracovávat vstupy od uživatele anebo že by se jevil jako nečinný. V C# je k dispozici usnadnění asynchronního programování pomocí klíčových slov async a await. Modifikátorem async určujeme, že daná metoda je asynchronní. Operátor await informuje kompilátor, že nelze za daným bodem v programu pokračovat, dokud nebude ukončen asynchronní proces. [15, s. 44] Za pozornost určitě stojí i životní cyklus běhu aplikace v novém rozhraní systému Windows 8.1, který je odlišný od standardní aplikace a je znázorněn na obrázku 9. První akce v životním cyklu je aktivace a načítání aplikace, ke které dojde při spuštění uživatelem a stav programu se změní z NotRunning na Running. Běžící program realizuje naprogramovanou činnost a v případě potřeby aktivně komunikuje s uživatelem. Běh aplikace může být přerušen, například když se uživatel přepne na jiný program. [15, s. 47] Aplikace se v tomto okamžiku, kdy s ní uživatel nepracuje, přepíná do speciálního hibernačního režimu Suspended. V tomto režimu aplikace stále žije (disponuje fyzickým procesem, programovým vláknem a paměťovými vrstvami), ale nevyvíjí žádnou aktivitu (v jeho vláknech nejsou realizované žádné činnosti). [15, s. 13] Změna běžícího programu ze stavu Running do suspendovaného stavu Suspended ale neproběhne okamžitě, nýbrž až 32

33 po deseti vteřinách. Důvod je ten, že operační systém inteligentně čeká, zda se uživatel rychle nepřepne z jiného programu zpět na původní aplikaci. Pro vývojáře je důležitá možnost zachycení události Suspending, která je generována těsně před přechodem aplikace do stavu Suspended. Vhodné je navrhnout program tak, aby na událost Suspending reagoval uložením dat a uvolnil všechny přidělené systémové zdroje, tak aby s nimi mohly pracovat ostatní programy bez vzniku kolizních stavů. [15, s. 48] Pokud je program suspendovaný a uživatel se na něj přepne, dochází k jeho obnovení. Stav programu se změní z pozastaveného (Suspended) na běžící (Running). Program pokračuje v realizování výpočtových procesů na místě, kde skončil v okamžiku suspendování. Analogicky k archivaci před suspendováním při obnovení načítá data a uvádí objekty do použitelného stavu. Při obnovení je generována událost Resuming. Ukončení programu probíhá ve dvou etapách. Nejdřív je program suspendovaný a následně ukončený, kdy se stav mění na NotRunning. [15, s. 49] Obrázek 9: Stavový diagram životního cyklu aplikace 3.4 XAML Zdroj: [17] XAML, neboli Extensible Application Markup Language, je jedním ze základních kamenů Windows 8 a nového uživatelského rozhraní Modern UI. [18, s. 8] Jedná se o dialekt jazyka XML, který Microsoft představil v roce 2006 spolu s první verzí WPF (Windows Presentation Foundation). XAML je poměrně jednoduchý a uni- 33

34 verzální značkovací jazyk vhodný pro inicializaci objektů. Jak již bylo naznačeno, XAML je prakticky XML rozšířený o soubor pravidel o prvcích, atributech a jejich mapování na objekty. [19, s. 63] Jazyk slouží k návrhu uživatelského rozhraní aplikace a to buď přímou tvorbou fragmentů tohoto jazyka anebo za asistence návrhářských nástrojů, které generují fragmenty jazyka XAML automaticky. Jazyk tedy slouží k usnadnění zápisu a pomocí něj definujeme jaké objekty a s jakými vlastnostmi se mají vytvořit. [15, s. 53] Nespornou výhodou je i fyzické oddělení kódu do dvou souborů, a to na uživatelské rozhraní, kde je definován vzhled pomocí jednotlivých elementů a programovou část. Pokud se pozastavíme nad syntaxí jazyka XAML, tak zjistíme, že základem jsou stejně jako u XML jmenné prostory (namespaces), které nám slouží k jednoznačnému odlišení jednotlivých tříd a zabraňují tak případným kolizím. Pokud jednotlivé prvky nemají definován jmenný prostor, je použit implicitní, který obsahuje základní grafické elementy WPF. Struktura XAML kódu je stromová, jednotlivé elementy mohou být vnořené a obsahovat elementy další. Elementy samotné jsou uzavřené v lomených závorkách včetně ukončovacího znaku, zpětného lomítka. Případné nastavení vlastností objektu zajistíme vložením atributu k danému elementu. [20] 3.5 Data Binding Jednou z vlastností rozhraní Modern UI je i podpora data bindingu, což zjednodušeně znamená automatické obnovení zobrazovaných dat v případě, že byla tato data změněna. [21, s. 13] Klíčem k data bindingu je rozšířená vazba, která spojuje dva objekty a udržuje mezi nimi otevřený komunikační kanál. Stačí tuto vazbu nastavit jednou a synchronizace již pak funguje automaticky po celou dobu životního cyklu aplikace. [19, s. 571] Vazba může být nastavena třemi způsoby. Jednosměrná vazba (OneWay) znamená, že cílový objekt je aktualizován při každé změně zdrojového objektu. Obousměrná vazba (TwoWay) má za následek, že cílový i zdrojový objekt reaguje na změnu svého protějšku aktualizováním. Poslední vazbou je jednorázová (OneTime), která funguje podobně jako jednosměrná s tím rozdílem, že cílový objekt získá snímek zdroje pouze při iniciaci vazby. [19, s. 575] 34

35 3.6 Návrhový vzor MVVM Ve vývoji software se často používají návrhové vzory. V praktické části této práce byl použit vzor MVVM (Model-View-ViewModel), a proto se konkrétně zaměříme právě na něj. Tento vzor vychází z principů vzoru MVC (Model-View-Controller) a navrhnul jej WPF/Silverlight architekt John Grosman. Nejprve si tedy popíšeme samotnou architekturu MVC. Ta dělí aplikaci na tři logické části a odděluje tím logiku aplikace od uživatelského rozhraní tak, že lze upravovat jednotlivé části samostatně, s minimálním dopadem na ostatní. Tyto tři části jsou Model, View a Controller. Model reprezentuje data a business logiku aplikace, View zobrazuje uživatelské rozhraní a Controller má na starosti tok událostí v aplikaci a obecně aplikační logiku. [22] V MVVM má Model stejnou roli jako v MVC, tedy reprezentaci dat získaných z perzistentního úložiště a je zodpovědný za notifikaci změn ViewModelu. View má opět na starosti zobrazení dat a sbírání uživatelských vstupů, které tentokrát předává přímo ViewModelu. ViewModel zde představuje mezivrstvu, která adaptuje Model pro potřeby View. Je tedy zodpovědná za stav View a přesun dat z Modelu do View. [18, s. 80] Toto je hlavní odlišností oproti MVC, jelikož View již nepřistupuje k Modelu napřímo. Pokud se zaměříme na implementaci MVVM v XAML, je vhodné, aby veřejné vlastnosti byly ViewModelem publikovány jako notifikační, tedy vyvolávaly události při změně. V opačném případě by nemohlo docházet ke komunikaci mezi View a ViewModelem. Toho docílíme buď použitím vlastností DependencyProperty anebo implementací rozhraní INotifyPropertyChanged. Toto rozhraní popisuje událost, která nastane v případě změny vlastnosti ViewModelu. U kolekcí prvků pak využijeme vystavování pomocí kolekce ObservableCollection<T>, která oznamuje přidání anebo odebrání prvků. Ovládací prvky View jsou s ViewModelem propojeny pomocí data bindingu a získávají z něj tak svůj obsah. Důvodem, proč zvolit při vytváření aplikace vzor MVVM je snaha o co nejčistší code behind. Tomu přispěje právě implementace výše uvedeného rozhraní. Dalším důvodem je využití obousměrného data bindingu a zjednodušení dalších případných úprav v budoucnu. [23] 35

36 Obrázek 10: MVVM části a jejich interakce Zdroj: Framework Caliburn.Micro Použití návrhového vzoru při prvotním vývoji aplikace samozřejmě znamená i určitý investovaný čas navíc. Tato investice se ale s největší pravděpodobností v budoucnu vrátí při dalších úpravách aplikace. Pro usnadnění aplikace vzoru MVVM byl vytvořen robustní framework Caliburn a jeho odlehčená verze Caliburn.Micro. Autorem je programátor Rob Eisenberg a jeho tým. Caliburn.Micro je tedy malý, ale velice silný framework, vytvořený pro vývoj aplikací napříč všemi XAML platformami. Umožňuje výrazně urychlit vývoj, bez nutnosti obětovat kvalitu kódu. [24] Tento framework byl použit při implementaci návrhového vzoru MVVM do ukázkové aplikace. 36

37 4 Představení aplikace Pro demonstraci možného využití služeb platformy Microsoft Azure při vývoji aplikací pro Windows Store byl vytvořen program s názvem Scholasticus. Název je inspirován latinským výrazem pro učitele. Jedná se o aplikaci pro osvojení a zkoušení slovní zásoby a tedy o pomocníka při výuce cizích jazyků. Program byl vyvinut pro operační systém Windows 8.1 v jazyce C# a XAML s využitím frameworku Caliburn.Micro pro implementaci návrhového vzoru MVVM. Uživatel se přihlašuje do aplikace pomocí účtu Microsoft, čili pomocí poskytovatele identity Microsoft Account. Obrázek 11: Hlavní menu aplikace Scholasticus Zdroj: Aplikace Scholasticus (vlastní zpracování) 4.1 Vytváření a editace slovníků Základní funkcionalitou je pro uživatele možnost vytvářet a editovat slovníky, které později budou využity pro testování jeho znalostí. Slovníky samotné jsou uchová- 37

38 vány ve formátu XML a na pevném disku zařízení jsou uloženy ve složce RoamingState v balíčku aplikace, který je vnořen ve složce uživatele operačního systému. Výhodou tohoto řešení je fakt, že soubory slovníku se automaticky synchronizují mezi zařízeními daného uživatele, kde je aplikace nainstalována. O synchronizaci se stará operační systém, s čímž je ovšem spojena i jedna nevýhoda, jelikož uživatel nemá možnost synchronizaci oficiálně iniciovat. Ta probíhá automaticky na pozadí zhruba ve třicetiminutových cyklech a dále také ve chvíli, kdy je zařízení uzamčené. Tento způsob jak výše uvedený problém obejít a synchronizaci iniciovat uzamčením zařízení jsme využívali například v průběhu testování. V rámci aplikace Scholasticus je pro lepší uspořádání možné jednotlivé slovníky řadit do kategorií (skupin). Kategorie je možno přímo z aplikace zakládat a slovníky mezi nimi libovolně přesouvat. Stejně tak lze definovat nové jazyky slovníků. V obou případech se uživateli pro stisknutí příslušného tlačítka zobrazí dočasné kontextové okno pro zadání nové hodnoty, čehož bylo docíleno využitím prvku Flyout. Obrázek 12: Založení nové kategorie Zdroj: Aplikace Scholasticus (vlastní zpracování) Kolekce slovíček je na stránce slovníku zobrazována v podobě vertikálního seznamu pomocí prvku ListView a umožňuje přímou editaci slovíčka včetně jeho smazání. Pro lepší přehlednost nebo pro vyhledávání lze již založená slovíčka v seznamu filtrovat pomocí k tomu určených textových polí a také je řadit dle abecedy. V rámci definované dvojice slovíček může uživatel uvést i další varianty slovíčka (synonyma). Ke každé dvojici je pak možno přiřadit i slovní druh z připraveného 38

39 seznamu. Jako jednu z možností, jak sdílet slovníky mezi uživateli umožňuje aplikace export a import slovníku ze souboru ve formátu XML. Pro export využijeme třídu FileSavePicker, který umožní uživateli specifikovat název a umístění výsledného souboru. Obdobně pak funguje pro import slovníku použitá třída FileOpenPicker. V obou případech se uživateli zobrazí standardní rozhraní Modern UI pro práci se soubory. V XML souboru slovníku je evidován autor, datum vzniku, kategorie, dvojice jazyků a samotná slovíčka. V souboru může být uveden atribut, že se jedná o systémový slovník. V takovém případě nelze tento slovník v aplikaci editovat a znamená to, že byl vytvořen autorem aplikace jako oficiální slovník. Už samotné vytváření slovníku lze považovat za určitou formu studia slovní zásoby. Nespornou výhodou je možnost vytvořit si slovník opravdu na míru svým potřebám. Obrázek 13: Editace slovníku Zdroj: Aplikace Scholasticus (vlastní zpracování) 39

40 Obrázek 14: XML soubor slovníku Zdroj: Zdrojový kód aplikace - Computers.xml (vlastní zpracování) Pro zobrazení slovníků, které jsou v aplikaci dostupné, a také pro jejich další správu slouží stránka Administrace. Zde je pomocí prvku GridView znázorněn přehled jednotlivých slovníků v podobě dlaždic, které zobrazují základní informace. Dlaždice jsou rozděleny do skupin dle ve slovníku definovaných kategorií. Přímo ze stránky Administrace lze provádět import, export a smazání slovníku a dále také iniciovat jeho sdílení na Tržišti. 40

41 Obrázek 15: Administrace slovníků Zdroj: Aplikace Scholasticus (vlastní zpracování) 4.2 Zkoušení uživatele a jeho hodnocení Neméně důležitou funkcionalitou je i samotné zkoušení. Uživatel má možnost si zvolit počet testovacích kol, neboli na kolik slovíček bude během testu dotázán a na který z dvojice jazyků ve slovníku má být test zaměřen. Vnitřní logika aplikace zajistí, že slovíčka, se kterými má uživatel problém, budou zkoušena častěji. Každé slovíčko je v rámci slovníku ohodnoceno známkou jedna až pět, přičemž počáteční hodnota je pět. Při správné odpovědi je známka vylepšena o jeden stupeň a naopak při špatné odpovědi zhoršena. Tato známka poté ovlivňuje samotný náhodný výběr slovíčka při zkoušení. Během zkoušení je také možno využít nápovědu, která zobrazí počáteční písmeno a počet znaků ve slovíčku, které reprezentuje správnou odpověď. Každé zkoušení je následně hodnoceno. Sledován je počet správných a špatných odpovědí a jejich celkový poměr. Za použití nápovědy se odečte polovina hodnocení za slovíčko, u kterého byla využita. 41

42 Obrázek 16: Zkoušení uživatele Zdroj: Aplikace Scholasticus (vlastní zpracování) 4.3 Osobní statistika uživatele Pro sledování úspěšnosti zkoušení slouží funkcionalita Statistika. K dispozici je nejenom detailní statistika uživatele ve formě grafů, ale i žebříček deseti aktuálně nejlepších uživatelů aplikace Scholasticus ve třech kategoriích. První kategorií je nejvyšší aktuálně dosažené celkové hodnocení úspěšnosti zkoušení, druhou kategorií je počet správných odpovědí a poslední sledovanou hodnotou je počet dokončených testů. Tyto žebříčky mají být motivačním prvkem pro uživatele, který by se měl snažit umístit se v nich co nejvýše. Pro vizualizaci grafů byl využit NuGet balíček WinRT XAML Toolkit Data Visualization Controls. Z nabízených prvků využijeme koláčový a sloupcový graf. 42

43 Obrázek 17: Statistika uživatele Zdroj: Aplikace Scholasticus (vlastní zpracování) 4.4 Tržiště Tržiště umožňuje komunitě uživatelů aplikace Scholasticus navzájem mezi sebou efektivně sdílet svoje slovníky. Každý uživatel může jím vytvořené slovníky libovolně nahrávat do sdíleného úložiště a taktéž je odsud mazat. Jedná se o způsob jak rychle rozšířit svoji knihovnu slovníku pro zkoušení slovní zásoby. V rámci přehledu aktuálně nabízených slovníků je uživateli umožněno nabídku filtrovat dle názvu souboru a názvu slovníku a taktéž seznam řadit dle všech sledovaných atributů. O přidání nového slovníku jsou uživatelé informováni pomocí notifikačních zpráv. 43

44 Obrázek 18: Tržiště 4.5 Nastavení Zdroj: Aplikace Scholasticus (vlastní zpracování) Uživatelské prostředí bylo vyvinuto jako vícejazyčné. V tuto chvíli existuje aplikace v české a anglické lokalizaci. Výběr jazyka provádí aplikace při prvním spuštění automaticky dle nastavené lokalizace v operačním systému. Pokud by uživateli toto implicitní nastavení nevyhovovalo, může ho jednoduše změnit v panelu nastavení. Rozšíření v budoucnu o další jazyk je díky využití balíčku Multilingual App Toolkit for Visual Studio jednoduchou záležitostí, jelikož veškeré texty jsou vyčleněny mimo hlavní kód do samostatného souboru pro každý jazyk. V panelu má uživatel dále možnost nastavit počet testovacích kol neboli počet dotazů na slovíčka během jednoho testu. Pro vytvoření panelu jsme použili prvek Settings Flyout, který implementuje obecné chování ve Windows, kdy panel nastavení roluje z pravé strany obrazovky na základě uživatelského gesta nebo klávesové zkratky. [25, s. 297] 44

45 Obrázek 19: Panel nastavení aplikace Zdroj: Aplikace Scholasticus (vlastní zpracování) Jelikož při tvorbě aplikace využíváme návrhový vzor MVVM implementovaný pomocí frameworku Caliburn.Micro, liší se naše realizace panelu nastavení od běžného základního postupu. Při startu aplikace ve třídě App.xaml.cz voláme metodu RegisterSettingsService nad kontejnerem WinRTContainer. Tato metoda vrací službu pro práci s nastavením ISettingsService, kterou využijeme k registraci příkazu vyvolání našeho panelu jako panelu nastavení, tedy příkaz na vyvolání modelu pohledu CustomSettingsViewModel. 45

46 Obrázek 20: Registrace panelu nastavení Zdroj: Zdrojový kód aplikace App.xaml.cs (vlastní zpracování) 4.6 Uživatelské prostředí O možnostech lokalizace aplikace do různých jazyků jsme se již zmínili v předchozí kapitole. Dalším prvkem, který má za úkol uživatelům zpříjemnit práci s aplikací je nápověda v podobě popisků, které se zobrazují nad jednotlivými elementy a jsou opět lokalizované do jednotlivých jazyků. Pro implementaci byla využita vlastnost ToolTip přidaná k elementu v XAML pohledu. Nápovědu vyvoláme, pokud nad elementem ponecháme kurzor myši či v případě dotykového ovládání podržíme prst. Jedná se o rychlou kontextovou nápovědu, kdy uživatel není nucen hledat pomoc v manuálu k aplikaci. Další formou nápovědy je využití vlastnosti PlaceholderText u elementu typu TextBox (textové pole). Tato vlastnost umožňuje zobrazit text nápovědy přímo v textovém poli do té doby, než je nahrazen uživatelským textem. Poslední formou nápovědy můžeme nazvat podbarvovaní textových polí červenou barvou v případě, že se jedná o povinné pole a například při pokusu o uložení slovníku zůstane nevyplněné. Uživatel se tak může rychle orientovat a povinný údaj doplnit. Pro tuto funkcionalitu jsme využili rozšíření v podobě balíčku Win- RTXamlToolkit.Controls.Extension, který nám umožní na základě validace pole podbarvit. 46

47 Obrázek 21: Nápověda v podobě popisku Zdroj: Aplikace Scholasticus (vlastní zpracování) Abychom dodrželi jednotnost grafické reprezentace uživatelského prostředí ve všech částech aplikace, oddělíme definici stylů do samostatného souboru, knihovny stylů. Obrázek 22: Definice stylu tlačítka Zdroj: Zdrojový kód aplikace MyResources.xaml (vlastní zpracování) Později při tvorbě elementů se již budeme pouze odkazovat na konkrétní styl v naší knihovně. Tento způsob implementace nejenom, že pomáhá udržet konzistenci vzhledu aplikace, ale i výrazně zjednodušuje případné úpravy v budoucnu. Obrázek 23: Styl a nápověda tlačítka Zdroj: Zdrojový kód aplikace DictionaryAdministrationView.xaml (vlastní zpracování) Proto, abychom mohli z aplikace využívat cloudové služby Microsoft Azure logicky potřebujeme internetové připojení. Pro ověření konektivity jsme si vytvořili třídu CheckConnection, ve které voláním metody GetInternetConnectionProfile 47

48 získáme informaci o aktuálním připojení k internetu. Pokud není k dispozici internetové připojení, zobrazí se na vybraných stránkách aplikace ikona, která o tomto stavu uživatele informuje, a některé služby nebudou dostupné. O probíhajícím asynchronním načítání dat na pozadí je uživatel informován pomocí prvku ProgressRing, který se prezentuje jako animace rotujícího kruhu teček. Obrázek 24: Kontrola připojení k internetu Zdroj: Zdrojový kód aplikace CheckConnection.cs (vlastní zpracování) Dalším prvkem pro zlepšení uživatelské přívětivosti je implementace kontextového menu v administraci slovníku pomocí třídy PopupMenu. Menu lze snadno vyvolat kliknutím pravým tlačítkem myši nebo v případě dotykového ovládání dlouhým stiskem na konkrétní slovník. Zpřístupní se tak rychlá nabídka možných operací se slovníkem jako je editace, export, sdílení či odstranění. Obrázek 25: Kontextové menu slovníku Zdroj: Aplikace Scholasticus (vlastní zpracování) 48

49 Posledním prvkem, o kterém se v této kapitole zmíníme, je aplikační lišta, která slouží jako rychlý navigační panel a standardně je skryta. Vyvolat lze klávesovou zkratkou Win+Z, pravým tlačítkem myši nebo potažením z horní části obrazovky. Využijeme zde element AppBar, který nám slouží jako kontejner pro jednotlivá navigační tlačítka. Obrázek 26: Aplikační lišta Zdroj: Aplikace Scholasticus (vlastní zpracování) 49

50 5 Implementace vybraných služeb Azure v aplikaci Microsoft poskytuje vývojářům konzistentní prostředí v podobě nástrojů Visual Studio, Visual Studio Online a Microsoft Azure SDK a to bez ohledu na typy projektů na kterých pracují a samozřejmě poskytuje rozsáhlou podporu pro rozhraní.net Framework v systémech Windows. Microsoft Azure je ale také otevřená platforma, která plně podporuje systémy třetích stran, jejich jazyky a nástroje. Například se jedná o Linux, PHP, Java, Ruby, Python a MySQL. Pro snadnou správu služeb platformy Microsoft Azure je poskytováno webové rozhraní v podobě portálu Microsoft Azure Management Portal, které je funkční ve všech nejrozšířenějších prohlížečích. [7, s. 17] Pro samotný vývoj a využívání služeb platformy Azure je nutná registrace. Microsoft nabízí zdarma předplatné na jeden měsíc ve výši 150 dolarů pro vyzkoušení všech poskytovaných služeb. [7, s. 16] V našem případě bylo pro vývoj ukázkové aplikace použito vývojové prostředí Visual Studio 2013 s Microsoft Azure SDK a po vypršení měsíční lhůty na vyzkoušení služeb nabízené platformou bylo využito nízkonákladové předplatné typu Pay-As-You-Go, což znamená platbu pouze za skutečně využité služby bez periodických měsíčních plateb. 5.1 Mobilní služby Pokud uvažujeme o využití cloudových služeb platformy Azure při vývoji aplikací pro Windows Store, tak na základě seznámení se s nabídkou v rámci kapitoly 2 Služby Microsoft Azure naše první kroky budou určitě směřovat k použití Mobilních služeb Azure, které nám umožní uchovávat data v cloudu, přihlašování a ověřování uživatelů a využívání notifikačních služeb. Mobilní služba Azure je poskytována na třech úrovních. Jsou to Free, Basic a Standard. Nastavení úrovně ovlivňuje výkonnost mobilní služby a možnosti škálování. Detailní přehled nabízených úrovní je uveden v tabulce 1. Pro naši potřebu použijeme úroveň Free, která je poskytována zdarma. Výhodou je, že mezi jednotlivými úrovněmi můžeme v budoucnu plynule přecházet a reagovat tak na skutečné potřeby námi provozované aplikace. [26] 50

51 Tabulka 1: Nabízené úrovně Mobilní služby Azure FREE BASIC STANDARD Počet volání API za den 0,5 mil. 1,5 mil. / jednotka 15 mil. / jednotka Počet aktivních zařízení za den 500 bez limitu bez limitu Škálování není dostupné max. 6 jednotek bez limitu Kapacita CPU 60 min. / denně bez limitu bez limitu Odchozí přenos dat 165 MB / denně bez limitu bez limitu Zdroj: [26] (upraveno) V první řadě tedy musíme vytvořit novou mobilní službu, kterou později propojíme s naší aplikací. To lze provést buď skrze uživatelský portál Azure anebo přímo z konkrétního projektu ve vývojovém prostředí Visual Studio, které jsme nejprve propojili s naším Azure účtem. Využití průvodce vytvoření mobilní služby ve Visual Studiu má tu výhodu, že do řešení rovnou přidá projekt mobilní služby a nainstaluje patřičné balíčky přes správce balíků NuGet, který je zde integrován. Tím zásadním balíčkem je WindowsAzure.MobileServices. Jako backend (interní rozhraní) volíme.net Framework. 51

52 Obrázek 27: Vytvoření mobilní služby Zdroj: Visual Studio 2013 (vlastní zpracování) Přístup do nově vytvořené mobilní služby je zaručen využitím instance třídy MobileServiceCient. Tento klient je vytvořen pomocí URI (jednotného identifikátoru zdroje) a aplikačního klíče nové mobilní služby. Toto statické pole musí být umístěno v třídě App daného projektu. Obrázek 28: Klient mobilní služby Zdroj: Zdrojový kód aplikace App.xaml.cs (vlastní zpracování) Veškeré změny v projektu mobilní služby je nutné vždy z prostředí Visual Studia publikovat do prostředí Microsoft Azure. Publikace opět probíhá za pomoci 52

53 průvodce a je velmi intuitivní. Pro zjednodušení práce s chybovými stavy v komunikaci naší aplikace s mobilní službou je na portále Microsoft Azure Management Portal v záložce Logs k dispozici přehled všech zachycených chyb a varování. Jeho sledování minimálně v prvních fázích implementace služeb lze z vlastní zkušenosti více než doporučit. V rámci založení mobilní služby vytváříme i databázový server a novou instanci SQL databáze, kterou později využijeme jako relační databázi pro naši aplikaci. Pokud bychom již měli databázi v Azure vytvořenu, mohli bychom ji použít namísto vytváření nové. Pro naše účely jsme použili bezplatnou SQL databázi o velikosti 20 MB. 5.2 Autentizace Ve chvíli, kdy máme vytvořenu a propojenu mobilní službu Azure s naším projektem je možno naplno začít využívat služby, které Azure nabízí. Prvním požadavkem bude využít Azure pro autentizaci uživatelů aplikace Scholasticus. Jak již bylo zmíněno v předchozích kapitolách, Microsoft Azure nabízí podporu několika poskytovatelů identit. Pro naše potřeby byl vybrán Microsoft Account. Důvodem byl předpoklad, že drtivá většina uživatelů Windows 8.1 má tento typ účtu založen a aktivně ho využívá pro přihlašování do operačního systému. Výhodou je, že lze používat stejný účet jak pro přihlášení do systému, tak následně i do aplikace samotné. Na straně aplikace tedy není nutné vyvíjet vlastní správu uživatelských účtů a jejich přihlašovacích údajů. Pro implementaci autentizačních služeb musíme v první řadě pod svým vývojářským účtem vyvíjenou aplikaci zaregistrovat mezi námi připravované aplikace pro Windows Store na webovém portálu Dev Center for Windows, kde si můžeme například i zarezervovat jméno vyvíjené aplikace. Pro dokončení registrace našeho programu přejdeme na portále v nastavení aplikace na záložku Služby, a pomocí zde uvedeného odkazu přejdeme přímo na portál Web Live Services, kde bude nutné provést nastavení komunikačního rozhraní API (Application Programming Interface). Zde uvedeme adresu URL, na kterou bude uživatel přesměrován. V našem případě se jedná o URI, které již známe z nastavení mobilních služeb, doplněné o postfix signin-microsoft. Pokud vyvíjíme aplikaci ve vývojovém prostředí Visual Studio, je vhodné v tuto chvíli asociovat náš projekt s právě zaregistrovanou aplikací, což učiníme přímo ve vývojovém prostředí pomocí jednoduchého průvod- 53

54 ce s názvem Associate App with the Store. Umožní nám to například později publikovat aplikaci do Windows Store přímo z Visual Studia. Obrázek 29: Nastavení API Zdroj: (vlastní zprac.) Na portálu Web Live Services zjistíme v nastavení aplikace jednoznačné důvěrné identifikátory, které jsou nezbytné pro korektní nastavení správy identit v Azure. Získáme zde identifikační číslo klienta, sdílený tajný klíč klienta a jedinečný identifikátor aplikace pro Windows Store. Všechny tři obdržené údaje opět na portálu Microsoft Azure Management Portal uvedeme do již v minulosti založené mobilní služby a to pod konkrétního poskytovatele identity, v našem případě tedy pod Microsoft Account, a dokončíme tak nastavení správy identit na portále Azure. 54

55 Obrázek 30: Nastavení poskytovatele identit Zdroj: (vlastní zpracování) Abychom minimalizovali nutnost volat poskytovatele identity při každém přihlášení do aplikace, využijme možnost uchovávat přihlašovací token uživatele (bezpečnostní klíč) a při startu aplikace se nejdříve pokusíme využít jej. Pokud token existuje a neexpiroval, aplikace se úspěšně přihlásí bez interakce s uživatelem. Nespornou výhodou tohoto řešení je, že uživatel se úspěšně přihlásí i bez internetového připojení, které je jinak pro ověření identity nutné, jelikož aplikace musí kontaktovat poskytovatele identity pro realizaci ověření. Internetové připojení tedy bude nutné při prvním přihlášení do aplikace, kdy dojde i k uložení tokenu do zařízení a dále v případě neexistence tokenu či jeho expiraci. Pro uložení uživatelského jména a hesla byla použita třída PasswordVault ze jmenného prostoru Windows.Security.Credentials. Tato třída umožňuje bezpečně uchovávat přihlašovací údaje uživatele v důvěryhodných zařízeních propojených s účtem Microsoftu. [19, s. 345] 55

56 Obrázek 31: Implementace přihlášení Zdroj: Zdrojový kód aplikace UserName.cs (vlastní zpracování) Zavoláním metody LoginAsync zobrazíme uživatelské rozhraní pro přihlášení. Vzhled rozhraní pro daného poskytovatele identity je ve standardizované podobě a vývojář ho nemusí v rámci XAML nijak řešit či inicializovat. Obrázek 32: Přihlášení do aplikace Scholasticus Zdroj: Aplikace Scholasticus (vlastní zpracování) Využití renomovaného poskytovatele identity v kombinaci s bezpečným uložením přihlašovacích údajů působí zajisté na uživatele důvěryhodněji a bezpečněji 56

57 oproti pro něj neznámým řešením. Transparentnosti ověření identity přispívá i fakt, že uživatel má možnost spravovat pověření udělená jednotlivým aplikacím v ovládacím panelu operačního systému Windows 8.1, pro který je tato aplikace určena. Nejinak je tomu i v případě aplikace Scholasticus. Pro potřeby aplikace Scholasticus, ale požadujeme nejenom samotné ověření identity uživatele, ale také bychom rádi používali uživatelské jméno jako identifikátor uživatele ve statistikách. Zde narážíme na první nedostatky výše uvedené implementace, jelikož poskytovatel identity Microsoft Account nám v rámci ověřování identity s využitím mobilních služeb Azure poskytuje pouze přístup k informaci o uživatelském identifikačním čísle a tokenu. Uvádět ve statistikách uživatele pod identifikačním číslem by nebylo dobré, jelikož většina uživatelů své číslo nezná a nic jim neříká. Jedním z řešení je vytvoření vlastního API kontroléru, který bude komunikovat s poskytovatelem identity a získávat od něj doplňující informace o přihlášeném uživateli. Nás zajímá zejména informace o preferovaném ovém účtu, neboť ten se využívá jako uživatelské jméno v účtu Microsoft. Jedná se tedy o jedinečný identifikátor uživatele. Po přihlášení uživatele do aplikace a ověření identity provedeme přes náš kontrolér dotaz na doplňující informace o uživateli, které si uložíme do SQL databáze jako součást jeho statistiky, abychom měli údaje k dispozici i v případě, že uživatel bude přihlášen pomocí uloženého tokenu a k praktickému ověření identity u poskytovatele tedy nedojde. Na portále Azure je pro funkčnost kontroléru taktéž nutné definovat rozšíření v konfiguraci mobilní služby. Konkrétně v našem případě doplníme v App Settings pro MS_MicrosoftScope hodnoty wl.basic, wl.signin a wl. s. Informace získané od poskytovatele identity jsou ve formátu JObject, tedy v podobě kolekce párů klíče a hodnoty. Při prvním přihlášení do aplikace je uživatel vyzván k povolení přístupu aplikace k osobním informacím. Jedná se o zobrazení profilových údajů, povolení automatického přihlášení a zobrazení ové adresy. 57

58 Obrázek 33: Implementace Api kontroléru Zdroj: Zdrojový kód aplikace UserInfoController.cs (vlastní zpracování) Obrázek 34: Získání uživatelského jména z kontroléru Zdroj: Zdrojový kód aplikace UserName.cs (vlastní zpracování) 5.3 Databáze SQL Nyní se zaměříme na možnost využití SQL databáze, poskytované v rámci Microsoft Azure v kombinaci s naší aplikací pro Windows Store. Cloudovou SQL databázi využijeme pro ukládání osobní statistiky uživatele a odtud budeme čerpat i data pro žebříček nejúspěšnějších uživatelů aplikace Scholasticus. Cloudový databázový server a instanci SQL databáze jsme již vytvořili v rámci zprovoznění nové mobilní služby, které bylo popsáno v kapitole 5.1 Mobilní služby. Ze strany platformy Azure nejsou na uživatele kladeny žádné velké nároky a veškeré nastavení probíhá prak- 58

59 ticky automaticky. V našem případě využijeme pro ukázkovou aplikaci základní zdarma poskytovanou databázi omezenou na maximální velikost 20 MB. U placených verzí máme možnost vybrat i výkonnostní charakteristiku databáze. Zde je určitě namístě zvážit, pro co bude vyvíjená aplikace sloužit a jaká úroveň pro nás bude vhodná. I zde ovšem platí možnost libovolně přecházet mezi jednotlivými úrovněmi a pružně tak reagovat na skutečné potřeby. Jednotlivé nabízené úrovně jsou uvedené v tabulce 2. Tabulka 2: Nabízené úrovně služby SQL Azure Úroveň DTU Velikost DB Max. vláken Max. relací Transakční rychlost Basic 5 2 GB transakcí za hodinu Standard/S GB transakcí za minutu Standard/S GB transakcí za minutu Standard/S GB transakcí za minutu Standard/S GB transakcí za minutu Premium/P GB transakcí za vteřinu Premium/P GB transakcí za vteřinu Premium/P GB transakcí za vteřinu Zdroj: (vlastní zpracování) Dalším krokem bude vytvoření potřebných tabulek pro projekt v naší databázi ve schématu mobilní služby. To můžeme provést přes webový portál Azure anebo opět přímo z Visual Studia. Oba kanály můžeme využít i v budoucnu pro administrování databáze. Při vytvoření nové tabulky nesmíme zapomenout na povinný identifikační sloupec Id, který slouží jako primární klíč. V naší tabulce bude každý řádek reprezentovat jednoho uživatele aplikace Scholasticus, který bude identifikován číslem Microsoft účtu a uživatelským jménem. Dále budeme evidovat celkovou procentuální úspěšnost zkoušení, počet správných a špatných odpovědí, počet využití nápovědy a datum vytvoření záznamu a jeho následných úprav. Své místo zde má i sloupec Version, který najde uplatnění později při řešení konfliktu mezi lokálními a cloudovými daty. 59

60 Obrázek 35: Schéma tabulky UserStatistics Zdroj: Portál správy SQL Azure (vlastní zpracování) Nyní již následují úpravy na straně aplikace. Klienta pro přístup do Mobilní služby již náš projekt obsahuje z implementací popsaných v předchozích kapitolách. Nyní si vytvoříme třídu UserStatistic jejíž instance budou reprezentovat jednotlivé statistiky uživatelů a koresponduje tedy se založenou tabulkou a představuje náš datový model. Názvy sloupců jsou vlastně JSON elementy. Pro vývojáře, který s platformou Azure začínají, je vhodné si z portálu stáhnout předpřipravený jednoduchý projekt mobilní služby, který následně přidají do vlastního řešení aplikace ve Visual Studiu. Tento projekt usnadní propojení existující aplikace s mobilní službou a celou implementaci zjednoduší, jelikož například zahrnuje databázový kontext a kontrolér pro práci s tabulkou a s HTTP požadavky. Následně je ovšem nutné provést řadu úprav, tak aby projekt mobilní služby odpovídal našemu požadovanému datovému modelu. Úpravou musí projít nejenom již zmiňovaný kontrolér, ale i takzvaný Data Transfer Object, což je objekt namapovaný na data, která máme v databázi a ve své konečné podobě je velmi blízký třídě UserStatistic. 60

61 Obrázek 36: Kontrolér pro práci s tabulkou Zdroj: Zdrojový kód aplikace UserStatisticController.cs (vlastní zpracování) 61

62 Obrázek 37: Data Transfer Object statistiky uživatele Zdroj: Zdrojový kód aplikace - MobileUserStatistic.cs (vlastní zpracování) Aplikace musí řešit i stav, kdy je uživatel v režimu off-line neboli nemá přístup k internetu. Pro tento případ využijeme balíček SQLite for Windows 8.1, kdy budou uživatelská data primárně uložena v lokální databázi a z ní synchronizována do cloudu. Pokud je uživatel dočasně v režimu off-line, synchronizace proběhne až ve chvíli, kdy je opět on-line. Po spuštění aplikace nejdříve inicializujeme lokální databázi a synchronizačního klienta. Veškeré běžné CRUD (Create, Read, Update, Delete) operace pro mobilní služby pracují stejně, jako kdyby byla aplikace on-line, s tím rozdílem, že se provádějí oproti lokální databázi (InsertAsync, UpdateAsync). Na server jsou odesílány pouze změny. Pro synchronizaci využíváme metodu PushAsync, která odešle změny do cloudu a PullAsync pro získání dat z cloudové tabulky na serveru. Synchronizace bude probíhat na pozadí a to vždy při dokončení testu, zobrazení statistiky a při zobrazení hlavního menu. 62

63 Obrázek 38: Inicializace a synchronizace databáze Zdroj: Zdrojový kód aplikace SyncTable.cs (vlastní zpracování) V případě, že nastane konflikt mezi daty v lokální databázi a daty uloženými v cloudu, necháme uživatele zvolit, kterou verzi dat si přeje zachovat. Konflikt může nastat například tak, že uživatel na prvním zařízení, které nemá dočasně z nějakého důvodu dostupné síťové připojení, dokončí úspěšně zkoušení a údaje o něm aplikace zapíše do lokální databáze, ale k synchronizaci do cloudu již ze zjevných důvodů nedojde. Později na druhém zařízení, které má dostupné síťové připojení, opět stejný uživatel úspěšně dokončí zkoušení a data se nejprve propíšou do lokální databáze a později i do cloudu. Nyní se vrátí zpět k prvnímu zařízení, které je již on-line a to se pokusí synchronizovat data s cloudovou tabulkou a detekuje konflikt, neboť se pokouší modifikovat data, která již byla mezitím změněna. Problém vyřešíme tak, že vytvoříme třídu SyncHandler, která implementuje obslužnou rutinu IMobileServiceSyncHandler. Tato třída je zavolána při každé operaci Push (odeslání dat na server) a pokud dojde k výjimce MobileServicePreconditionFailedException, tak víme, že nastal konflikt mezi lokálními a cloudovými daty a zobrazíme uživateli varování s možností zvolit požadovanou verzi dat. Pro práci s lokální databází SQLite lze doporučit doplněk do vývojového prostředí Visual Studio s názvem SQLite Toolbox. Tento doplněk přidává několik funkcí, které pomáhají databázi spravovat. Svoje uplatnění nalezne hlavně v počáteční fázi implementace lokální databáze do aplikace a řešení kolizních stavů mezi lokální a cloudovou databází. 63

64 Obrázek 39: Konflikt mezi lokální a cloudovou statistikou Zdroj: Aplikace Scholasticus (vlastní zpracování) Pro dotazování do databáze využíváme deklarativní jazyk LINQ (Language INtegrated Query), který je součástí jazyka C#. Dotaz je následně převeden na HTTP REST dotazy a na serverové straně tedy není nutný žádný kód. Obrázek 40: Načtení statistiky uživatele Zdroj: Zdrojový kód aplikace StatisticViewModel.cs (vlastní zpracování) 5.4 Úložiště Nyní se zaměříme na službu Úložiště, která se jeví pro potřeby naší aplikace, konkrétně pro funkcionalitu Tržiště, jako ideální. Služba je opět poskytována v několika úrovních, které jsou blíže popsány v tabulce 3. 64

65 Tabulka 3: Úrovně služby Úložiště Locally Redundant Storage (LRS) Redundance Synchronní kopie dat v rámci jednoho datového centra Počet kopií 3 Proč použít Pro levné lokální úložiště nebo z regulačních důvodů SLA 99.9% čtení / zápis Zone Redundant Storage (ZRS) Redundance Kopie dat napříč různými datovými centry v rámci jednoho regionu Počet kopií 3 Proč použít Vyšší odolnost oproti LRS SLA 99.9% čtení / zápis Geographically Redundant Storage (GRS) Stejné jako LRS a navíc více asynchronní kopií do stovky kilometrů vzdálených datových Redundance center Počet kopií 6 Proč použít SLA Ochrana proti velkému výpadku nebo přírodní katastrofě 99.9% čtení / zápis Read-Access Geographically Redundant Storage (RA-GRS) Redundance Stejné jako GRS a navíc další přístup pro čtení ve druhém datovém centru Počet kopií 6 Poskytuje přístup pro čtení údajů během výpadku, pro maximální dostupnost dat a trvanlivost Proč použít SLA 99.99% čtení / 99.9% zápis Zdroj: (vlastní zpracování) Pro naši potřebu využijeme základní úroveň Locally Redundant Storage, jelikož námi ukládaná data nebudou natolik zásadního charakteru, abychom případný výpadek považovali za kritický. Pro sdílení slovníků budeme používat typ služby Blob, který je pro uchovávání souborů ve formátu XML ideální. Pro lepší přehlednost v seznamu nabízených slovníků jednotlivé soubory ve sdíleném úložišti doplníme také o metadata s informací o příslušném slovníku. V první řadě opět na portále Microsoft Azure Management Portal založíme novou službu Úložiště, kde vybereme požadovanou lokalitu, úroveň služby a zadáme název našeho úložiště (URI). Tím získáme specifické URL koncových bodů služby Úložiště pro jednotlivé typy služeb. 65

66 Obrázek 41: Koncové body služby Úložiště Zdroj: (vlastní zpracování) Po dokončení jednoduché konfigurace můžeme začít Úložiště používat. K přístupu do úložiště budeme využívat přístupové klíče automaticky vygenerované během aktivace služby. Tyto klíče jsou dostupné k zobrazení na portále Azure a je možné je v případě potřeby přegenerovat. 66

67 Obrázek 42: Přístupové klíče do Úložiště Zdroj: (vlastní zpracování) V tuto chvíli je nutné nakonfigurovat přístup do služby Úložiště v aplikaci Scholasticus. V našem případě to učiníme tak, že v souboru App.xaml.cs, který je výchozím bodem naší aplikace, deklarujeme koncový bod služby typu Blob a klienta CloudBlobClient pro práci s bloby. Využijeme zde klíče a specifické URL koncového bodu získané při konfiguraci služby na portále. Do našeho projektu ve Visual Studiu, také doplníme NuGet balíček WindowsAzure.Storage, který umožní využívat v aplikaci službu Úložiště Azure. Obrázek 43: Přístup do služby Úložiště z aplikace Zdroj: Zdrojový kód aplikace App.xaml.cs (vlastní zpracování) 67

68 Jak již bylo řečeno, soubory slovníku pro sdílení na Tržišti budou v úložišti uchovávány v podobě blobů v rámci jednoho kontejneru, který jsme pojmenovali dictionaries. Vytvoření kontejneru je otázkou pouze několika kliknutí na portále Microsoft Azure Management Portal. Při nahrávání souboru do úložiště nejdříve získáme odkaz na náš kontejner, načteme si požadovaný soubor pro sdílení a nakonec získáme odkaz na blob kam asynchronně nahraje soubor zavoláním metody UploadFromFileAsync (obrázek 44). Po vytvoření blobu doplníme metadata s informacemi o slovníku jako jsou název, autor, popis, jazyky, kategorie, velikost souboru a datum nahrání do kontejneru. Cílem je, aby ostatní uživatelé získali co nejvíce údajů, na základě kterých se rozhodnou zda je pro ně slovník zajímavý a mají si ho stáhnout do své lokální knihovny. Při nastavování metadat jsme narazili na problém s českou diakritikou, jelikož povolené jsou pouze znaky ASCII. Řešením je využití metody Uri.EscapeUriString, která převede všechny znaky na hexadecimální vyjádření a díky tomu je možno v této podobě metadata v úložišti nastavit. Pro pozdější zobrazení informací o slovníku v seznamu na Tržišti je zpět převedeme pomocí metody Uri.UnescapeDataString. Samotných dat v souboru se tato konverze nedotkne. Obrázek 44: Vytvoření blobu Zdroj: Zdrojový kód aplikace ShopStorage.cs (vlastní zpracování) 68

69 Pro získání všech dostupných sdílených slovníků v kontejneru dicitionaries využijeme metodu ListBlobsSegmentedAsync. Tato asynchronní metoda na jedno zavolání vrátí maximálně pět tisíc blobů a pokračovací znak v případě, že je v kontejneru větší počet blobů. [5, s. 215] Z tohoto důvodu voláme metodu ve smyčce do té doby, než vrátí nulový pokračovací znak a díky tomu víme, že je načtení kompletní. Pro takto získanou kolekci položek musíme ještě načíst metadata a vlastnosti blobů pomocí metody FetchAttributesAsync. Ve chvíli, kdy uživatel vybere slovník ke stažení, postupujeme podobně jako u nahrávání. Nejdříve získáme odkaz na kontejner a poté odkaz na blob. Následně blob uložíme do lokálního souboru na pevný disk do roamingové adresáře naší aplikace zavoláním metody DownloadToFileAsync a zařadíme ho tak do uživatelské knihovny. Uživatelům chceme taktéž umožnit ze sdíleného úložiště smazat ty slovníky, které z nějakého důvodu již nechtějí nabízet ostatním ke stažení. Podmínkou ovšem je, že jsou jejich autorem. Postup je opět stejný, získáme odkaz na blob se slovníkem který chceme odstranit a zavoláme metodu Delete. Obrázek 45: Načtení blobů Zdroj: Zdrojový kód aplikace ShopStorage.cs (vlastní zpracování) 5.5 Notifikační služby Poslední službou z nabídky Microsoft Azure, kterou budeme implementovat do naší aplikace pro Windows Store, budou Notifikační služby za pomoci služby Centra oznámení. Aplikace bude nejenom přijímat notifikační zprávy, ale bude je i odesílat. V aplikaci Scholasticus využijeme různé typy notifikačních služeb. 69

70 V první řadě to budou notifikační zprávy (toast notifications), které budou všechny uživatele informovat o tom, že na Tržiště byl vložen nový slovník. Zpráva se zobrazí v pravém horním rohu obrazovky a po několika vteřinách zmizí. S ohledem na nastavení operačního systému je doplněna i zvukovým oznámením. Tyto notifikace budou rozesílány na všechna zařízení registrovaná k odběru notifikací z našeho kanálu, tedy na ty, kde je aplikace nainstalována. Dále využijeme takzvanou aktivní dlaždici aplikace (tile notifications), tedy dlaždici umístěnou na úvodní obrazovce sloužící jako zkratka ke spuštění programu, která zobrazuje aktuální informace vztahující se k aplikaci. Zde budeme taktéž uvádět informace o vložení nových slovníků na Tržiště. Tato dlaždice bude navíc doplněna v pravém dolním rohu o takzvaný odznak (badge), který bude uvádět aktuální počet slovníku ve sdíleném úložišti, Tržišti. Při počtu větším jak 99 bude zobrazena hodnota 99+. Dlaždice může mít různé velikosti, typicky malou, střední a velkou. Malá není vhodná pro zobrazování informací s ohledem na nedostatek místa, a proto budeme definovat grafické rozložení údajů pouze pro střední a velkou dlaždici. Veškeré notifikace bude uživatel dostávat i ve chvíli, kdy aplikace nepoběží. Obrázek 46: Aktivní dlaždice aplikace Zdroj: Aplikace Scholasticus (vlastní zpracování) V rámci notifikací jsme museli vyřešit problém s možnými rozdílnými lokalizacemi aplikace jednotlivých uživatelů. Jelikož v našem případě odeslání notifikace inicializuje jednotlivý uživatel vložením slovníku do sdíleného úložiště, byla by tato zpráva v základní implementaci notifikačních služeb odeslána v jazyce daného uživatele a přijali by ji v této podobě všechna zařízení bez rozlišení, což je samozřejmě nežádoucí. Jedním z řešení by mohlo být například odeslání notifikace ve všech aplikací podporovaných jazycích a jednotlivá zařízení by se pak registrovala k odběru notifikací pouze ve svém jazyce. V aplikaci Scholasticus jsme problém vyřešili jinak, jednodušeji a z našeho pohledu i elegantněji. Konkrétně za pomocí univerzálních grafických symbolů. V rámci zpráv předáváme dvě informace, název nového slovníku a jeho autora. Použijeme tedy jeden symbol pro slovník doplněný jeho názvem a jeden symbol pro autora doplněný o jeho uživatelské jmé- 70

71 no. Výsledná zpráva je přehledná, bez zbytečných informací navíc (obrázek 47). Nicméně možnost zaslat do jednotlivých zařízení lokalizované notifikace implementujeme taktéž. V budoucnu můžeme chtít zaslat uživatelům například lokalizovanou informaci o nové verzi aplikace a je dobré, aby na to byl náš program připraven. Obrázek 47: Notifikační zpráva Zdroj: Aplikace Scholasticus (vlastní zpracování) Podmínkou pro využití notifikačních služeb Azure je registrace aplikace na portále Dev Center for Windows, získání identifikačního čísla klienta, sdíleného tajného klíče a jedinečného identifikátoru aplikace pro Windows Store. V projektu taktéž musí být nainstalovaný balíček WindowsAzure.MobileServices. Všechny kroky jsme již provedli při implementaci autentizace v kapitole 5.1 Autentizace. V rámci projektu ve Visual Studiu můžeme využít průvodce konfigurace mobilní služby pro aktivování notifikací s názvem Add Push Notification Wizard. Je to bezesporu účinný pomocník, ale ve chvíli, kdy již máme některé služby Azure v projektu implementovány, může dojít k přepsání existujících nastavení anebo k jejich duplikaci. Příkladem může být URL pro přesměrování uživatele nastavené na portále Web Live Services během implementace autentifikačních služeb. Zde jsme do URL vkládali URI služby doplněné o postfix signin-microsoft. Toto nastavení zmíněný průvodce přepíše a tím autentifikaci znevalidní. Vhodnější je proto provést nastavení samostatně. Na portále Microsoft Azure Management Portal vytvoříme novou službu Notification Hub (Centrum oznámení) a poté v záložce Configure vložíme do oddílu Windows Notification Settings jedinečný identifikátor aplikace a tajný klíč. Z karty View Connection String, kterou najdeme pod záložkou Dashoard, si ještě poznamenáme připojovací řetězce, které použijeme později. Tím máme hotovu konfiguraci notifikačních služeb na portále Azure pro práci s WNS. Na straně našeho projektu začneme tím, že v Package.appxmanifest v záložce Application nastavíme v oddíle Notification atribut Toast capable na Yes a povolíme tak aplikaci možnost vyvolat notifikaci. Dále jsme si v projektu založili 71

72 třídu PushRegistrations s metodou RegChannel, která je volána při každém startu aplikace, vytváří komunikační kanál a registruje zařízení v našem Centru oznámení k odběru notifikací. Jelikož komunikační kanál může expirovat, je nutné toto učinit při každém startu. V rámci této třídy se registrujeme k odběru notifikací v aktuálním jazyce uživatelského prostředí aplikace. Jak již ale bylo uvedeno výše, budeme v našem případě zasílat univerzální notifikace bez rozlišení kategorií alias jazyků. Obrázek 48: Registrace k odběru notifikací Zdroj: Zdrojový kód aplikace - PushRegister.cs (vlastní zpracování) Jelikož chceme, aby aplikace Scholasticus mohla oznámení na všechna registrovaná zařízení přes Centrum oznámení také odesílat, vytvoříme si v našem projektu mobilní služby další kontroléry. Po jednom pro každý typ notifikací, ToastController pro notifikační zprávy, TileController pro aktualizaci živé dlaždice a BadgeController pro změnu údaje o počtu sdílených slovníku ve znaku na dlaždici. Kontroléru předáváme objekt typu JObject (kolekce párů klíče a hodnoty) s informacemi o nově přidaném slovníku či o počtu slovníku aktuálně dostupných na Tržišti, ze kterého vytvoříme XML pro konkrétní druh notifikace. Při vytváření XML je vhodné se inspirovat katalogem šablon notifikací, který je dostupný na a zvolit vhodnou šablonu. Odeslání notifikační zprávy provedeme zavoláním metody Services.Push.SendAsync(message), kde je v parametru pouze zpráva bez rozlišení kategorie a bude tedy doručena všem zařízením. Obdobným způsobem implementuje i kontroléry pro aktivní dlaždici 72

73 Obrázek 49: XML Šablona pro Toast notifikaci Zdroj: Veškeré případné chyby spojené s odesláním notifikace evidujeme v logu, dostupném na portále Microsoft Azure Management Portal pod naší mobilní službou. Nesmíme také zapomenout publikovat veškeré změny v projektu mobilní služby v našem řešení do Microsoft Azure pomocí volby Publish ve Visual Studiu. Výsledná implementace kontroléru vypadá jako na obrázku

74 Obrázek 50: Kontrolér pro notifikační zprávu Zdroj: Zdrojový kód aplikace ToastController.cs (vlastní zpracování) Při vložení nového slovníku na Tržiště provedeme s pomocí našich kontrolérů odeslání jednotlivých notifikací. Obrázek 51: Odeslání notifikací přes ApiController Zdroj: Zdrojový kód aplikace DictionaryAdministrationViewModel.cs (vlastní zprac.) 74

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační

Více

Ako hybridný cloud pomáha v praxi poskytovať spoľahlivé a bezpečné služby

Ako hybridný cloud pomáha v praxi poskytovať spoľahlivé a bezpečné služby Ako hybridný cloud pomáha v praxi poskytovať spoľahlivé a bezpečné služby Mgr. Jana Venclíková SPCSS Ing. Václav Koudele - Microsoft Název prezentace str. 1 Název prezentace str. 2 Poskytovatel garantovaných

Více

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Cloud Slovník pojmů. J. Vrzal, verze 0.9 Cloud Slovník pojmů J. Vrzal, verze 0.9 Typické poskytované služby SaaS (Software as a Service): software jako služba Poskytování softwarové aplikace prostřednictvím internetu tak, že aplikace běží na

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Vzdálená správa v cloudu až pro 250 počítačů

Vzdálená správa v cloudu až pro 250 počítačů Vzdálená správa v cloudu až pro 250 počítačů S pomocí ESET Cloud Administratoru můžete řídit zabezpečení vaší podnikové sítě bez nutnosti nákupu, instalace nebo údržby dalšího hardwaru. Řešení je poskytováno

Více

Cloudová Řešení UAI/612

Cloudová Řešení UAI/612 Cloudová Řešení UAI/612 Kontakt Ondřej Urbánek ondrej.urbanek@orchitech.cz Výuka 7.3. 2014 13:00 21.3.2014 13:00 11.4. 2014 13:00 24.5. 2014 13:00 Cloudová Řešení Co je to cloud? Co je pro něj charakteristické?

Více

2012 (červen) Microsoft Sharepoint Portal Server. Microsoft Live Communications Server 2003 Řešení pro online komunikaci. Microsoft Exchange

2012 (červen) Microsoft Sharepoint Portal Server. Microsoft Live Communications Server 2003 Řešení pro online komunikaci. Microsoft Exchange 1989 1996 2001 2003 Microsoft Office Kancelářský balík Microsoft Exchange Emailové a groupwarové řešení Microsoft Sharepoint Portal Server Webová platforma pro spolupráci a správu obsahu Microsoft Live

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

DATOVÁ ÚLOŽIŠTĚ. David Antoš CESNET

DATOVÁ ÚLOŽIŠTĚ. David Antoš CESNET DATOVÁ ÚLOŽIŠTĚ David Antoš CESNET 11. 12. 2017 Přehled proč budujeme národní datová úložiště pro vědu a výzkum hlavní výhody úložišt typické případy užití úložišt plány rozvoje infrastruktury a služeb

Více

UAI/612 - Cloudová Řešení. Technologie

UAI/612 - Cloudová Řešení. Technologie UAI/612 - Cloudová Řešení Technologie Rekapitulace Multitenance Bezestavovost Škálovatelnost Cachování Bezpečnost Způsoby nasazení Datová úložiště SQL databáze NoSQL databáze Cloudová datová úložiště (API)

Více

Datová úložiště CESNET

Datová úložiště CESNET Datová úložiště CESNET David Antoš CESNET 20. 9. 2016 Přehled proč budujeme národní datová úložiště pro vědu a výzkum hlavní výhody úložišť typické případy užití úložišť plány rozvoje infrastruktury a

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

Více

Microsoft Azure Workshop

Microsoft Azure Workshop Miroslav Holec Developer Evangelist Microsoft MVP: Microsoft Azure, MCSD Microsoft Student Partner Lead miroslavholec.cz @miroslavholec Microsoft Azure Workshop Software Engineer HAVIT, s.r.o. Agenda ODKAZY

Více

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack http://www.ulticloud.com http://www.openstack.org Představení OpenStacku 1. Co OpenStack je a není 2.

Více

Platforma ArcGIS. Platforma ArcGIS se skládá ze čtyř komponent: dat, zdrojů, portálu a aplikací.

Platforma ArcGIS. Platforma ArcGIS se skládá ze čtyř komponent: dat, zdrojů, portálu a aplikací. Platforma ArcGIS Platforma ArcGIS Platforma ArcGIS je tvořena datovým obsahem, službami a softwarovými produkty, které spolu vzájemně komunikují. Je určena každému, kdo chce snadno a rychle sdělit informaci

Více

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

Úvod. Klíčové vlastnosti. Jednoduchá obsluha REQUESTOR DATASHEET Úvod Requestor Service Desk poskytuje kompletní řešení pro správu interních i externích požadavků, které přicházejí do organizace libovolnou cestou. Produkt je zaměřen na vytvoření

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Efektivní vývoj mobilních aplikací na více platforem současně Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows

Více

PRODUKTY Tovek Server 6

PRODUKTY Tovek Server 6 Tovek Server je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených strukturovaných i nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně

Více

CA AppLogic platforma typu cloud pro podnikové aplikace

CA AppLogic platforma typu cloud pro podnikové aplikace INFORMACE O PRODUKTU: CA AppLogic CA AppLogic platforma typu cloud pro podnikové aplikace agility made possible CA AppLogic je platforma na klíč založená na technologii cloud computing, která pomáhá podnikům

Více

Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12

Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12 Obsah Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12 Úvod do Microsoft SharePoint Foundation 2010 13 Základní pojmy používané v této knize

Více

edice Windows 10 je pro vás nejvhodnější? Firemní prostředí Kancelářské a uživatelské prostředí Správa a nasazení Home Pro Enterprise Education

edice Windows 10 je pro vás nejvhodnější? Firemní prostředí Kancelářské a uživatelské prostředí Správa a nasazení Home Pro Enterprise Education Firemní prostředí Kancelářské a uživatelské prostředí Dobře známé a produktivní uživatelské prostředí Home Pro Enterprise Education Continuum pro telefony 1 Cortana 2 Windows Ink 3 Nabídka Start a živé

Více

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů Model Mainframe Centralizované řešení Cena za strojový čas Klientská zařízení nedisponují výkonem Vysoké pořizovací náklady na hardware Bez softwarových licencí software na míru Model Klient Server Přetrvává

Více

Google Apps. Administrace

Google Apps. Administrace Google Apps Administrace Radim Turoň 2015 Administrátorská konzole Google Apps Místo, ve kterém se nacházejí administrační nástroje pro správu vašeho Google Apps Administrátorská konzole - kde ji naleznete

Více

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze Office, e-mail, sdílení dokumentů, videokonference

Více

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Datové služby sdružení CESNET http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY Jakub Šesták 5. 12. 2014 1. ročník navazujícího

Více

Optimalizaci aplikací. Ing. Martin Pavlica

Optimalizaci aplikací. Ing. Martin Pavlica Optimalizaci aplikací Ing. Martin Pavlica Vize: Aplikace v dnešním světě IT Ze všech částí IT jsou aplikace nejblíže businessu V elektronizovaném světě významným způsobem podporují business, ten se na

Více

ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu:

ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu: ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu: 410173-221 Leden 2006 Obsah 1 ešení pro správu klientských počítač Konfigurace a nasazení....................... 1 2 Správa a aktualizace

Více

1 Slovník pojmů Zákaznická data jsou data, která mají být zahrnuta do záložní kopie vytvořené pomocí Služby v závislosti na zálohovacím schématu.

1 Slovník pojmů Zákaznická data jsou data, která mají být zahrnuta do záložní kopie vytvořené pomocí Služby v závislosti na zálohovacím schématu. 1 Slovník pojmů Zákaznická data jsou data, která mají být zahrnuta do záložní kopie vytvořené pomocí Služby v závislosti na zálohovacím schématu. Překročení objednané kapacity pro zálohu (Backup Burst)

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

Cloud Computing pro státní správu v praxi. Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s.

Cloud Computing pro státní správu v praxi. Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s. Cloud Computing pro státní správu v praxi Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s. Portál SecuStamp.com Proč vznikl portál SecuStamp.com Na trhu chybělo» Jednoduché

Více

Digitální. transformace. Lubica Kršková, Partner Sales Executive - Disti. René Klčo, Cloud Sales Specialist. Microsoft

Digitální. transformace. Lubica Kršková, Partner Sales Executive - Disti. René Klčo, Cloud Sales Specialist. Microsoft Digitální transformace Lubica Kršková, Partner Sales Executive - Disti René Klčo, Cloud Sales Specialist Microsoft GDPR = General Data Protection Regulation Nařízení nikoliv směrnice. Je přímo aplikovatelné

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

Ostrava. 16. dubna 2014

Ostrava. 16. dubna 2014 Ostrava 16. dubna 2014 1 SoftLayer Managed Services Roman Hlaváč 2 Co je a není SoftLayer 1-stránkový přehled Globální poskytovatel cloud služeb Poskytuje následující služby IaaS PaaS Virtuální Privátní

Více

CineStar Černý Most Praha 31. 10. 2012

CineStar Černý Most Praha 31. 10. 2012 CineStar Černý Most Praha 31. 10. 2012 Stejná aplikace na více zařízeních Michael Juřek Microsoft s.r.o. Potřebné ingredience 1. Portable libraries 2. Návrhový vzor MVVM 3. XAML 4. Abstrakce platformy

Více

Novinky. Autodesk Vault helpdesk.graitec.cz,

Novinky. Autodesk Vault helpdesk.graitec.cz, Novinky Autodesk Vault 2017 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk Vault 2017 PDF dokument obsahuje přehled novinek produktu Autodesk Vault 2017. Obsah: 1.

Více

VOIPEX Pavel Píštěk, strategie a nové Sdílet projek ts y práv, I né PEX inf a.s orm. ace se správnými lidmi ve správný čas WWW.IPEX.

VOIPEX Pavel Píštěk, strategie a nové Sdílet projek ts y práv, I né PEX inf a.s orm. ace se správnými lidmi ve správný čas WWW.IPEX. VOIPEX Pavel Píštěk, strategie a nové projekty, Sdílet správné IPEX a.s. informace se správnými lidmi ve správný čas Byznys začíná komunikací Agenda 1. Cesta do Cloud služeb. 2. Přínos pro nás a naše zákazníky.

Více

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze Office, e-mail, sdílení dokumentů, videokonference

Více

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23 Úvod 11 KAPITOLA 1 Nástroje pro vývoj 13 Co budete potřebovat 13 Instalace programovacího jazyka Java 13 Java 8 14 Vývojové prostředí Eclipse 15 Instalace a konfigurace Android SDK a doplňků ADT 15 Vytvoření

Více

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra Symantec pcanywhere 12.0 Špičkové řešení vzdáleného ovládání pro odbornou pomoc a řešení problémů Co je Symantec pcanywhere 12.0? Symantec pcanywhere, přední světové řešení vzdáleného ovládání*, pomáhá

Více

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze Office, e-mail, sdílení dokumentů, videokonference

Více

Michal Verner, DAQUAS michal.verner@daquas.cz

Michal Verner, DAQUAS michal.verner@daquas.cz Michal Verner, DAQUAS michal.verner@daquas.cz Obsah Kdo, co a kde je Azure IaaS vs PaaS vs SaaS Infrastructure as a service Platform as a service Kolik to stojí Kudy do Azure Druhá polovina září (16. 17.

Více

VÝBĚR CLOUDU, ANEB JAK ZVOLIT TEN NEJLEPŠÍ

VÝBĚR CLOUDU, ANEB JAK ZVOLIT TEN NEJLEPŠÍ VÝBĚR CLOUDU, ANEB JAK ZVOLIT TEN NEJLEPŠÍ Infinity, a.s. U Panasonicu 375 Pardubice 530 06 Tel.: (+420) 467 005 333 www.infinity.cz PROČ SE ZABÝVAT VÝBĚREM CLOUDU 2 IT služba Jakákoliv služba poskytovaná

Více

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY 1 CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY Ing. Martin Pochyla, Ph.D. VŠB TU Ostrava, Ekonomická fakulta Katedra Aplikovaná informatika martin.pochyla@vsb.cz Informační technologie pro praxi 2010 Definice

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

Řešení pro správu klientů a mobilní tisk

Řešení pro správu klientů a mobilní tisk Řešení pro správu klientů a mobilní tisk Uživatelská příručka Copyright 2006 Hewlett-Packard Development Company, L.P. Microsoft a Windows jsou registrované ochranné známky společnosti Microsoft Corporation

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Portfolio úložišť WD pro datová centra Kapacitní úložiště prošlo vývojem

Portfolio úložišť WD pro datová centra Kapacitní úložiště prošlo vývojem Kapacitní úložiště, které posune váš výkon k inovacím. WD a logo WD jsou registrované ochranné známky společnosti Western Digital Technologies, Inc. v USA a dalších zemích; WD Ae, WD Re+, WD Re, WD Se,

Více

Windows Server 2003 Active Directory

Windows Server 2003 Active Directory Windows Server 2003 Active Directory Active Directory ukládá informace o počítačích, uživatelích a ostatních objektech v síti. Zpřístupňuje tyto zdroje uživatelům. Poskytuje komplexní informace o organizaci,

Více

DOCUMENT MANAGEMENT TOOLKIT

DOCUMENT MANAGEMENT TOOLKIT DOCUMENT MANAGEMENT TOOLKIT SPRÁVA DOKUMENTŮ V MODERNÍM PODNIKOVÉM PROSTŘEDÍ Zpracování dokumentů prochází v dnešním firemním světě významnými změnami. Firmy jsou nuceny řešit řadu problémů, které s sebou

Více

Microsoft Office 2003 Souhrnný technický dokument white paper

Microsoft Office 2003 Souhrnný technický dokument white paper Microsoft Office 2003 Souhrnný technický dokument white paper Přehled inteligentních klientských aplikací založených na sadě Microsoft Office 2003 System Publikováno: Duben 2003 Shrnutí: Inteligentní klienti

Více

Představení Kerio Control

Představení Kerio Control Představení Kerio Control UTM - Bezpečnostní řešení bez složitostí Prezentující Pavel Trnka Agenda O společnosti Kerio Kerio Control Přehled jednotlivých vlastností Možnosti nasazení Licenční model O společnosti

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Wonderware InTouch 2012 R2 Co je nového

Wonderware InTouch 2012 R2 Co je nového Wonderware InTouch 2012 R2 Co je nového Ivan Picek Pantek (CS) s.r.o. Strana 2 Úvod Wonderware InTouch je oblíbený software pro vizualizaci, sběr dat a supervizní řízení technologických procesů kategorie

Více

Veřejné cloudové služby

Veřejné cloudové služby Veřejné cloudové služby Petr Dvořák Konference GAPP System 2018 Hotel Diplomat, Praha 12. dubna 2018 Využití veřejných cloudových služeb Typické otázky roku 2017 ze strany finančního ředitele při schvalování

Více

Zálohování dat a disaster recovery

Zálohování dat a disaster recovery Zálohování dat a disaster recovery Petr Šváb Senior Systems Engineer GAPP, 7.4.2016 Vítá vás Veeam Veeam je globální společnost se sídlem ve švýcarském Baaru Společnost Veeam byla založena v roce 2006

Více

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč. 2011 IBM Corporation

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč. 2011 IBM Corporation IBM Cloud computing Jak postavit enterprise cloud na klíč Petr Leština Client IT Architect Agenda Úvod Architektura privátního cloudu (IaaS a PaaS) Smart Cabinet pro provoz cloud infrastruktury Závěr Cloud

Více

DATA ULOŽENÁ NA VĚČNÉ ČASY. (ICZ DESA / Microsoft Azure) Mikulov 8. 9. 2015 Michal Matoušek (ICZ) / Václav Koudele (Microsoft)

DATA ULOŽENÁ NA VĚČNÉ ČASY. (ICZ DESA / Microsoft Azure) Mikulov 8. 9. 2015 Michal Matoušek (ICZ) / Václav Koudele (Microsoft) DATA ULOŽENÁ NA VĚČNÉ ČASY (ICZ DESA / Microsoft Azure) Mikulov 8. 9. 2015 Michal Matoušek (ICZ) / Václav Koudele (Microsoft) ICZ DESA - Důvěryhodná elektronická spisovna a archiv ICZ DESA - Důvěryhodná

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Versiondog 2.1.1 Co je nového

Versiondog 2.1.1 Co je nového Versiondog 2.1.1 Co je nového Lukáš Rejfek, Pantek (CS) s.r.o. 11/2012 Strana 2 Úvod Nová verze produktu Versiondog 2.1.1 přináší oproti verzím 1.52.x mnoho nových funkčností i nové typy komponent, které

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Platforma Juniper QFabric

Platforma Juniper QFabric Platforma Juniper QFabric Matěj Čenčík (CEN027) Abstrakt: Tématem článku je princip a architektura JuniperQFabric platformy. Klíčová slova: Juniper, QFabric, Platforma, Converged services, non-blocking

Více

Úvod 17 ČÁST 1. Kapitola 1: Principy návrhu doménové struktury služby Active Directory 21

Úvod 17 ČÁST 1. Kapitola 1: Principy návrhu doménové struktury služby Active Directory 21 Úvod 17 Proč číst tuto knihu? 18 ČÁST 1 Kapitola 1: Principy návrhu doménové struktury služby Active Directory 21 Kritéria návrhu doménové struktury služby Active Directory 22 Schéma 23 Aspekty návrhu

Více

Datová věda (Data Science) akademický navazující magisterský program

Datová věda (Data Science) akademický navazující magisterský program Datová věda () akademický navazující magisterský program Reaguje na potřebu, kterou vyvolala rychle rostoucí produkce komplexních, obvykle rozsáhlých dat ve vědě, v průmyslu a obecně v hospodářských činnostech.

Více

Programové vybavení OKsmart pro využití čipových karet

Programové vybavení OKsmart pro využití čipových karet Spojujeme software, technologie a služby Programové vybavení OKsmart pro využití čipových karet Ukázky biometrické autentizace Ing. Vítězslav Vacek vedoucí oddělení bezpečnosti a čipových karet SmartCard

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

ArcGIS Online Subscription

ArcGIS Online Subscription ArcGIS Online Subscription GIS pro organizace ArcGIS Online je GIS v cloudu. Poskytuje služby GIS v prostředí internetu, ať už se jedná o úložné místo, publikaci mapových a geoprocessingových služeb, nebo

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

Více

Data Protection Delivery Center, s. r. o. JEDNODUCHOST, SPOLEHLIVOST a VÝKONNOST. DPDC Protection. zálohování dat

Data Protection Delivery Center, s. r. o. JEDNODUCHOST, SPOLEHLIVOST a VÝKONNOST. DPDC Protection. zálohování dat Data Protection Delivery Center, s. r. o. JEDNODUCHOST, SPOLEHLIVOST a VÝKONNOST zálohování dat DPDC Protection DPDC Protection Jednoduchost, spolehlivost a výkonnost zálohování dat DPDC Protection je

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow

Více

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation TSM for Virtual Environments Data Protection for VMware v6.3 Ondřej Bláha CEE+R Tivoli Storage Team Leader TSM architektura 2012 IBM Corporation Tradiční zálohování a obnova dat ze strany virtuálního stroje

Více

PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ

PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ Juraj Žoldák Vítkovice IT Solutions, Michal Osif Microsoft Services 2.4.2012 ISSS Hradec Králové http://itsolutions.vitkovice.cz Cíle a stav IT systémů ve veřejné

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

Nasazení jednotné správy identit a řízení přístupu na Masarykově univerzitě s využitím systému Perun. Slávek Licehammer

Nasazení jednotné správy identit a řízení přístupu na Masarykově univerzitě s využitím systému Perun. Slávek Licehammer Nasazení jednotné správy identit a řízení přístupu na Masarykově univerzitě s využitím systému Perun Slávek Licehammer 16. 5. 2016 IdM na MU Na MU právě vzniká nová koncepce správy identit a řízení přístupu

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud UAI/612 - Cloudová Řešení Návrh aplikací pro cloud Rekapitulace Cloud computing Virtualizace IaaS, PaaS, SaaS Veřejný, Privátní, Komunitní, Hybridní Motivace Návrh aplikací pro cloud Software as a Service

Více

Jednotlivé hovory lze ukládat nekomprimované ve formátu wav. Dále pak lze ukládat hovory ve formátu mp3 s libovolným bitrate a také jako text.

Jednotlivé hovory lze ukládat nekomprimované ve formátu wav. Dále pak lze ukládat hovory ve formátu mp3 s libovolným bitrate a také jako text. 1.0 Nahrávání hovorů Aplikace Nahrávání hovorů ke svému chodu využívá technologii od společnosti Cisco, tzv. Built-in bridge, která snižuje nároky na síťovou infrastrukturu, snižuje náklady a zvyšuje efektivitu

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Případové studie a kulatý stůl. Dalibor Kačmář, Microsoft

Případové studie a kulatý stůl. Dalibor Kačmář, Microsoft Případové studie a kulatý stůl Dalibor Kačmář, Microsoft Případová studie využití Microsoft Azure společnosti Ness Akviziční systém společnosti Cofidis Vysoká dostupnost celého řešení Zeštíhlení IT oddělení

Více

Webové portály pro Hlavní město SR a Dopravní podnik Bratislava

Webové portály pro Hlavní město SR a Dopravní podnik Bratislava Webové portály pro Hlavní město SR a Dopravní podnik Bratislava Jak jsme Hlavnímu městu a Dopravnímu podniku Bratislava zajistili větší uživatelský komfort moderními portálovými řešeními Webové portály

Více

ABBYY Automatizované zpracování dokumentů

ABBYY Automatizované zpracování dokumentů ABBYY Automatizované zpracování dokumentů tradiční řešení OCR versus Cloud Jiří Dvořák ECM konzultant Světový leader v produktech pro zpracování dokumentů Individulání uživatelé Malé a střední společnosti

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Budování infrastruktury v době digitalizace společnosti

Budování infrastruktury v době digitalizace společnosti Budování infrastruktury v době digitalizace společnosti Vladimír Střálka, VMware Country Manager, CZ/SK Mikulov, září 2016 2016 VMware Inc. Všechna práva vyhrazena. Co říkají o infrastruktuře manažeři

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Koncept centrálního monitoringu a IP správy sítě

Koncept centrálního monitoringu a IP správy sítě Koncept centrálního monitoringu a IP správy sítě Implementace prostředí MoNet a AddNet Jindřich Šavel 31/5/2013 NOVICOM s.r.o. 2012 2013 Novicom All rights s.r.o. reserved. All rights reserved www.novicom.cz,

Více

Extrémně silné zabezpečení mobilního přístupu do sítě.

Extrémně silné zabezpečení mobilního přístupu do sítě. Extrémně silné zabezpečení mobilního přístupu do sítě. ESET Secure Authentication (ESA) poskytuje silné ověření oprávnění přístupu do firemní sítě a k jejímu obsahu. Jedná se o mobilní řešení, které používá

Více

Příloha č. 1 Verze IS esyco business

Příloha č. 1 Verze IS esyco business Příloha č. 1 Verze IS esyco business 1.10.1.1. Nasazení nové verze IS esyco business 1.10.1.1. proběhne u zákazníků postupně od 23. 4. 2018. V rámci nasazování verze budete kontaktováni konzultantem společnosti

Více

FORPSI Cloud Computing Virtuální datacentrum v cloudu

FORPSI Cloud Computing Virtuální datacentrum v cloudu FORPSI Cloud Computing Virtuální datacentrum v cloudu Milan Leszkow CTO INTERNET CZ, a. s. Květen 20, 2013 Cloud Computing Charakteristika Používání a správa výpočetních zdrojů (HW,SW) poskytovaných jako

Více

Enterprise Mobility Management

Enterprise Mobility Management Enterprise Mobility Management Množství různých typů a celkové počty mobilních zařízení, pomocí kterých jsou dostupná firemní data, se neustále zvyšují. To na jedné straně zvyšuje efektivitu práce zaměstnanců,

Více

VirtualBox desktopová virtualizace. Zdeněk Merta

VirtualBox desktopová virtualizace. Zdeněk Merta VirtualBox desktopová virtualizace Zdeněk Merta 15.3.2009 VirtualBox dektopová virtualizace Stránka 2 ze 14 VirtualBox Multiplatformní virtualizační nástroj. Částečně založen na virtualizačním nástroji

Více

Wonderware Historian 2017

Wonderware Historian 2017 Wonderware Historian 2017 Co je nového Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o Strana 2 Úvod Neustálý vývoj modernějších, výkonnějších a inteligentnějších zařízení a jejich masivnější nasazení v oblasti

Více