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, vazby,.. (statická data); statistiky, komentáře,.. (dynamická data). 2.Filozofie důraz na pružnost, jednoduchost a rozšiřitelnost 3.Pořizování dat využití klasických kancelářských nástrojů s následnou transformací do XML formátu a validací 4.Webová aplikace technické řešení - server vs. klient, zobrazení objektů a jejich vazeb, propojení s externími službami 5.Vizualizace vztahů mezi objekty doplněk MBI portálu Snímek 2
Obsah portálu Statická data: Objekty a jejich atributy uspořádány do hierarchické struktury, relativně jednoduchá struktura, kterou lze vyjádřit tabulkou Souhrnné slidy existuje ke každému základnímu objektu Přílohy k objektům obsahuje relevantní soubory (šablony dokumentů,..) Předgenerované výstupy přehledy vazeb, data pro externí software Dynamická data: Uživatelské profily Statistiky Komentáře k objektům Snímek 3
Model Hierarchie objektů a vazby Skupina faktorů Skupina metrik Podskupina metrik Podskupina faktorů Faktor Skupina scénářů Scénář 1 Metrika Doména řízení IT Skupina metod Skupina aplikací Skupina úloh Úloha Metoda 2 Podskupina aplikací Aplikace Skupina dokumentů Podskupina dokumentů Dokument Skupina rolí Role 1.Každý z objektů má hierarchickou strukturu, 2.Vazby jsou na nejnižší úrovni hierarchie, např. Úloha Metoda 3.Hlavním objektem, k němuž se váží všechny ostatní objekty je Úloha Dimenze Vlastnost Předmět Kompetence Snímek 4
Filozofie 1.Pružnost Snadné přidávání nových objektů a jejich atributů (> Excel) bez dopadu na aplikační kód 2.Jednoduchost Zpracování, validace dat a další související procesy na jedno kliknutí (> Apache ANT a XSLT) Intuitivní zobrazování objektů v hierarchiích a vazby v maticích 3.Rozšiřitelnost Snadné přidávání nových a využití externích funkcionalit Vytváření branžových řešení a jejich zobrazování na základě zvoleného filtru Reporty a exporty Lokalizace Vstupní i výstupní data systému (Excel, PowerPoint, webová stránka (vč. grafiky), Word, PDF,..) mají své reprezentace ve formátu značkovacího jazyka. Systém MBI proto využívá technologie, které jsou pro práci s těmito formáty navržené (XQuery a XSLT) a ukládá je do NoSQL databáze. Snímek 5
Filozofie Vstupní data pocházejí především z kancelářských aplikací. Jsou převedena do xml formátu a zvalidována. Poté jsou převedena do různých výstupních formátů a zahrnuta do instalace. Zpracování je řízeno dynamicky vytvářenými ANT skripty (volání z *.bat souboru). Hlavním nástrojem je XSLT procesor (Saxon), pro PDF výstupy slouží FOP. Snímek 6
Pořizování dat Statická data: Jak data objektů, tak jejich metadata jsou uloženy v Excel souborech ve formě tabulek (do buněk lze ukládat i richtext). Data jsou následně transformována do XML struktur a validována. Souhrnné slidy k objektům jsou uloženy v souborech PowerPoint. Ty jsou pomocí transformací a nagenerovaných VBA skriptů převedeny do PNG obrázků. Přílohy ve formě souborů ZIP jsou obohaceny o nagenerované PDF soubory, které obsahují texty ke skupině objektů. Exporty představují datové soubory (pro externí zpracování), či různé přehledy např. přehled všech vazeb objektů. Dynamická data: Uživatelské profily Statistky vlastní a Google analytics Komentáře (ve vývoji) jde o funkcionalitu, kdy uživatel může přidávat komentáře k libovolnému objektu s tím, že se tyto komentáře zapracují po verifikaci do základního řešení a následně je může pouze autor editovat. Snímek 7
Pořizování dat Ukázka transformace dat z excelu do xml podoby, která je pak uložena do nativní xml databáze. Element richtext je indexován pro fulltextové vyhledávání. Význam jednotlivých sloupců je definován v souboru metadat. Snímek 8
Webová aplikace Server - NoSQL databáze MarkLogic (založená na XML datovém modelu, bohaté možnosti práce s textem a stromovými datovými strukturami) Klient - Saxon-CE (XSLT 2.0 procesor v prohlížeči) + různé javascriptové knihovny Příklad ošetření uživatelské akce - Kliknutí na fulltextové vyhledávání - Odchycení události šablonou a odeslání parametru na server - XQuery dotaz do db - odeslání XML výsledku do prohlížeče - Aplikování XSLT šablony na XML - HTML výsledek vložen do cílového elementu Integrace s externím webem - Google books (prohlížení obsahu knih přímo z aplikace). Možnost integrace se SlideShare, YouTube,.. Snímek 9
Webová aplikace Ukázka obsloužení uživatelské akce v prostředí transformací v prohlížeči (Saxon- CE). Kliknutí je obslouženou šablonou. Výsledky ze serveru jsou zobrazeny jako odrážky a vloženy do prvku results. Snímek 10
Webová aplikace Ukázka integrace MBI portálu se službou Google Books. Snímek 11
Vizualizace vztahů mezi objekty - motivace 1. MBI je množina objektů (uzlů) a vazeb mezi nimi (hran) = graf. 2. Vizualizace (části) grafu umožní lépe porozumět konkrétnímu problému i celé struktuře (řízení IT). Úkoly: 1. Jak efektivně a uživatelsky přívětivě vybrat požadovanou část grafu? 2. Jak ji přehledně zobrazit resp. zobrazení uzpůsobit? Snímek 12
Vizualizace vztahů mezi objekty - technické řešení - přehled Snímek 13
Vizualizace vztahů mezi objekty - technické řešení - neo4j neo4j je - grafový databázový stroj datový model je tzv property graph - napsaný v jazyku Java - za specifických podmínek volně použitelný - implementuje dotazovací jazyk Cypher inspirovaný koncepcí SQL SELECT - poskytuje uživatelsky přívětivou www konzoli, která umožňuje - částečnou konfiguraci vzhledu (styly) - zadávání dotazů v jazyku Cypher a jejich vyhodnocování - ukládání (odladěných) dotazů - grafickou prezentaci výsledků dotazu s možností ruční úpravy zobrazeného podgrafu Cypher ukázka dotazu MATCH (node {Nazev:"Propojení metrik byznysu a metrik IT"})-[rel*1..]->(n) RETURN node AS Úloha,rel AS vztah,n AS Objekt; Snímek 14
Vizualizace vztahů mezi objekty - prakticky aktuální stav Živá ukázka Snímek 15
Vizualizace vztahů mezi objekty - další rozvoj Pracujeme na: 1. Rozšíření schématu (grafu) popisujícího MBI - uzly model (M), instance (I), hierarchie (H),... - vztahy MI, II, MI, HH, HI,.. - umožní dotazování ve specifických dimenzích 2. Návrhu (později implementaci) doménově specifického graficky nebo dialogově orientovaného dotazovacího jazyka pro MBI Snímek 16