Implementace cloudové aplikace 11. dubna 2014 David Kimr
David Kimr Unicorn Universe, 2009 (1998) Unicorn, 1993 Univerzita Hradec Králové, Fakulta informatiky a managementu Univerzita Karlova v Praze, Matematicko-fyzikální fakulta Gymnázium J.V.Jirsíka, České Budějovice Základní škola E.Destinové, České Budějovice Mateřská škola Staroměstská, České Budějovice 2 Copyright 2014 Unicorn College
Kde se nacházíme 3 Copyright 2014 Unicorn College
Konstrukční materiál aplikace
5 + 1 Potřebných znalostí uuapp 5
Unicorn Universe a Plus4U 6
Výhody uuapp Infrastruktura (SLA) Uživatelé (uuid) Digitální pracovní prostory (Úkolovník, diář, ) Centrální služby (+4U Lidé, +4U Organizace, +4U Fair Pay, +4U Mobile, +4U Base, ) Stavebnice Unicorn Universe Process Unicorn Universe Operating System Unicorn Universe Application Unicorn Universe Business Modeling Language SaaS Rychle, efektivně, vyřešit! 7
Vše důležité je v systému Virtualizací rozumíme modelování reality fiktivními objekty s cílem řídit jejich informační obsah a jejich vzájemnou interakci Virtualizujeme vše, co je důležité. Vše důležité je v systému! (1. klíčová myšlenka Unicorn Universe) 8 Copyright 2013 Unicorn College
Artefakt Propojení věcných a řídících informací 9 Copyright 2014 Unicorn College
Artefakt - úložiště 10 Copyright 2014 Unicorn College
Aktivity Aktivita má vždy zadavatele a řešitele Nastavením stavu na aktivitě řídíme její průběh Přes stavy aktivit mezi sebou komunikujeme 11 Copyright 2014 Unicorn College
Digitální pracovní prostor Potřebné informace se zobrazují na pracovní ploše uživatelů Každý má přehled o všech úkolech, které má vyřešit 12 Copyright 2014 Unicorn College
Artefakt základní vlastnosti 13 Copyright 2014 Unicorn College
Metodické vzory metaartefakty Use Cases Vzory obsahu Vzory vazeb Vzory životního cyklu Vzory pro nastavení práv Parametrizace/konfigurace systému Znovupoužitelnost osvědčených vzorů 14
uuapp Aplikace v digitální stavebnici Vytváří vzory pro artefakty (metaartefakty), řešící konkrétní problematiku aplikace Definuje vzorové struktury dat a vzorové vzhledy K metaartefaktům připojuje Vizuální UC, nevizuální UC (synchronní i asynchronní) Vytváří vizuální komponenty Integruje se na jiné webové služby 15 Copyright 2014 Unicorn College
Artefakty uuapp MMD Implementace 16
Konstrukce řešení
Produktový pohled 18
Vývojové prostředí 19
uuapp Metamodel 20 Copyright 2014 Unicorn College
uuapp Metamodel 21 Copyright 2014 Unicorn College
Popis UC Zaevidovat úlovek 22
uuapp - VisualUseCase Artefakt uložený v metamodelu Připojený ke konkrétnímu Meta Artefaktu (práva) Formulářové VisualUseCaseComponents + všechny existující komponenty popisu (včetně datatable) Vzhled se vytváří v editoru (resp. lze ho generovat přes uuapi) Chování obsluhováno speciálním typem skriptu (VisualUseCase Controller) 23
uuapp VisualUseCase Components Infobar Komponenta nápovědy formuláře, v které se mimo jiné zobrazují také validační hlášky formuláře. Label Komponenta sloužící pro definici popisek formulářových polí včetně možnosti definovat informační text. Text Textarea Date Reference Choice Formbutton Checkbox Multichoice File Image Komponenta vstupního pole pro krátký text.... 24 Komponenta vstupního pole pro dlouhý text. Komponenta vstupního pole pro datum nebo datum a čas. Komponenta vstupního pole pro definici reference na objekt uuos. Komponenta vstupního pole pro výběr hodnoty z připravené množiny dat (combobox). Komponenta pro vyvolání akce na formuláři - odeslání / zrušení formuláře apod. Zaškrtávací pole Master/Detail formuláře Vstupní pole pro upload souboru (s progressem) Obrázek
VUC Zaevidovat úlovek 25
VUC Zaevidovat úlovek 26
VUC Zaevidovat úlovek 27
UuApp VisualUseCase Controller Speciální skript (Ruby) obsluhující události VisualUseCase Každá událost dostává v parametrech kompletní hodnoty formulářových polí Každá událost může projít happy-day nebo alternativním scénářem zpracování on_init volá se po spuštění formuláře, před předáním řízení uživateli Kontrola pre-conditions, nastavení hodnot formulářových komponent on_value_change volá se při změně hodnoty označených komponent Dynamické dočítání hodnot polí, znepřístupnění polí atp. on_submit volá se při vyslání akce submit (obvykle tlačítko OK) Kontrola pre a post-conditions Validace hodnot a jejich zpracování (uložení) Navigace na další VUC on_cancel volá se při zrušení VUC on_custom_event přidávejte dle potřeby 28
UuApp VisualUseCase Controller 29
Vývojové prostředí - skriptování Specializovaný workspace pro Eclipse Vytvoření struktury uuapp a její synchronizace Vývoj VisualUseCaseControllers (ruby) Vývoj Commands (ruby) Ladění VisualUseCaseControllers Version Control (do Plus4U, do GITu) Deployment uuappbox 30 Copyright 2014 Unicorn College
Zaevidovat úlovek VUC Controller 31
Zaevidovat úlovek VUC Controller 32
Zaevidovat úlovek VUC Controller 33
Zaevidovat úlovek - uujson 34 Copyright 2014 Unicorn College
Nasazení do cloudu
uuapp Box 36
uuapp Box 37
BT provoz uuapps 38
Nasazujeme uuapp na uunode rake deploy[nec_lk_file_quarry_vuc.rb] Nasadí konkrétní controller rake uuappbox vytvoří uuappbox rake deploy nasadí uuappbox na uunode Samozřejmě to mužete spustit i z Eclipse ;) 39
Zaevidovat úlovek - náklady Příprava Metaartefaktu uuapp Designer 60 minut Vytvoření formuláře uuapp Designer 30 minut Naprogramování controlleru uuapp Developer 60 minut Nasazení uuapp Developer 0 minut Ladění a testování uuapp Designer + uuapp Developer 90 minut Za 4 hodiny plně funkční VUC 40
Rozpočet konstrukce
Rozpočet - HLC 4 metaartefakty 25 vizuálních UC 6 složitých 6 středně složitých 13 jednoduchých 1 nevizuální UC 5 systémových UC 2 vazby m:n, 1 vazba 1:n, 1 vazba 1:1 4*7 + 6*8 + 6*5 + 13*3 + 1*6 + 5*2 + 2*3 + 1*2 + 1 = 170 hodin 42
Rozpočet - skutečnost Michal Zajac uuapp Architect 24 hodin - HLC 20 hodin - Konstrukce - řízení + testování Martin Giertl uuapp Designer 63,5 hodin - Konstrukce MARy, formuláře, testování Ondřej Šubrt uuapp Developer 70,5 hodin - Konstrukce vývoj controllerů Konstrukce celkem 154 hodin 43
Shrnutí
O čem jsem mluvili Konstrukce cloudové aplikace (uuapp) uuapp Designer, uuapp Developer (specific know-how) Implementace uuapp, uuapp Team Problém, Idea, HLC, uuapp Box, uuapp HLC, Konstrukce, Pilot, Runtime (SLA) uuapp Metamodel, uuapp Operational Unit, uuapp Support Unit Nasazení uuapp uunode 45
Co uvidíte dále Předvedení Loveckého klubu Lukáš Pavlica