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