Využitie web služieb na vývoj online aplikácií Katarína Žáková Slovenská technická univerzita v Bratislave Fakulta elektrotechniky a informatiky Ústav automobilovej mechatroniky katarina.zakova@stuba.sk
Webové služby Podľa definície W3C: riešenie, ako spolu môžu aplikácie komunikovať a vymieňať si medzi sebou informácie prostredníctvom Internetu. Technológia, ktorej úlohou je sprístupnenie zdrojov pre strojové (počitačové) spracovanie a spoluprácu programov bežiacich na rôznych paltfomách. Typicky predstavuje aplikačné programovacie rozhranie (API, z anglického Application Programming Interface), ktoré je prístupné prostredníctvom HTTP protokolu a vykonané na vzdialenom systéme, ktoré prevádzkuje samotnú aplikáciu. 2 Katarína Žáková
Ako to funguje? počítač A v New Yorku...... povie počítaču B v Paríži...... o zdroji informácií, ktorý je k dispozícii na počítači C v Bratislave Web služba Web služba Klienti Zdroj údajov pondelok/27/júla Katarína Žáková 3
Výhody pre pedagogiku, vedu a výskum údaje na webe, nielen v laboratóriu automatizovanie časovo náročných aktivít zdielanie výpočtových kapacít umožnenie programom rýchle spracovanie veľkých objemov dát prístup pre veľa používateľov
Vytvorenie a zdielanie služieb opísať operácie, ktoré služba podporuje definovať protokol, ktorý umožní aktivovanie služby prostredníctvom Internetu prevádzkovať server, ktorý bude obsluhovať prichádzajúce požiadavky
Vzájomná spolupráca potrebujeme štandardy na čo je to užitočné? zautomatizovanie spracovania požiadavok spoločné rozhranie pre viaceré služby potreba spoločných protokolov, údajových formátov, sémantiky
Štandardy pre web služby XML RPC JSON - RPC SOAP (Simple Object Access Protocol) WSDL (Web Service Description Language) REST (Representational State Transfer)
Motivácia
Nástroje pre tvorbu inžinierskych web aplikácií systémy počítačovej algebry Maxima, Octave (CAS Computer Algebra Systems) otvorené riešenia
JSON-RPC požiadavka JSON-RPC 1.0 špecifikácia method meno metódy, ktorá má byť zavolaná. params pole objektov, ktoré majú byť použité ako argumenty pre volanú metódu. id identifikátor, ktorý slúži na spárovanie požiadavky s odpoveďou.
JSON-RPC odpoveď result objekt, ktorý vracia volaná metóda. error objekt s chybovou hláškou, ak ju metóda vygeneruje. id rovnaký identifikátor ako bol identifikátor v požiadavke. 18. 9. 2013 Easy Development of Web Based Simulations
Serverová aplikácia prijať, dekódovať a spracovať požiadavku od klienta (XML, JSON formát), transformovať a poslať príkazy od klienta do zvoleného CAS, prijať odpoveď s výsledkami z CAS, transformovať výsledky do požadovaného formátu, generovať odpoveď pre klienta.
Príklad štvrtinový model auta (m 1, m 2 hmotnosť telesa, k s, k w konštanta pružiny, b konštanta tlmiča, x 1, x 3 pozícia horného a dolného telesa, x 2, x 4 rýchlosti telies)
Dotazníkové vyhodnotenie Čo ste si pomysleli, keď ste zbadali diferenciálne rovnice v zadaní úlohy? Nevyvolalo to vo mne žiadne zvláštne pocity. Zľakol(a) som sa, z diferenciálnych rovníc som mal(a) obavy. 53 študentov Prekvapilo ma to, ale nemal(a) som z toho zlý pocit.
Dotazníkové vyhodnotenie Neplatí pre mňa nič z predchádzajúceho. Pri individuálnej úlohe som si uvedomil(a), že diferenciálne rovnice môžu mať praktické využitie. Pri individuálnej úlohe, som sa potešil(a), že informácie v predmetoch na škole sa navzájom dopĺňajú Pri individuálnej úlohe som zistil(a), že tvorivá práca na animácii, ktorá sa správa podobne ako reálny systém, ma celkom baví.
Dotazníkové vyhodnotenie Po naprogramovaní úlohy som si animáciu niekoľkokrát spustil(a), aby som sa potešil(a) z funkčného výsledku svojej práce. si odskúšal(a) funkcionalitu pre rôzne parametre. skúsil(a) pochopiť ako parametre ovplyvňujú animáciu (dynamické správanie sa) systému. Animáciu som si viackrát nespúšťal(a).
Dotazníkové vyhodnotenie Po pochopení problému bola úloha zaujímavá a som rád, že bol takýto projekt. Individuálna úloha by sami páčila viac, keby nebola s podtextom fyziky, nakoľko to bolo pre mňa 2x ťažšie. Celkovo individuálna úloha mi dala dosť zabrať, ale je v pohode, človek sa pri nej kopu vecí naučí... Úloha bola zaujímavá. Nebola velmi náročná. Individuálna úloha je zadaná správne tak, aby informatik previedol technické znalosti v praxi. V tomto smere zadanie bolo vybrané veľmi správne. Bolo to dosť ťažké. Úloha bola zaujímavá a výsledok by stál za to, keby som nemal na práci nič iné a sthihol zadanie dokončiť. Výsledok celej práce ma potešil. Individuálna úloha bola celkom zaujímavá a poučná. No najviac ma potešil výsledok mojej vlastnej práce po niekoľkých dlhých hodinách strávených nad úlohou. Dosť som sa potrápil, ale mal som dobrý pocit, keď som to odovzdal. Bola to komplexná úloha, kde som zhodnotil všetko, čo som sa na tomto predmete naučil. A ukázala mi do budúcnosti, čo ma asi tak čaká.. Páčilo sa mi, že sme mohli využiť doterajšie poznatky získané na predmete, aby sme mohli vytvoriť väčší komplexnejší projekt, kde sme mohli popustiť fantázii uzdu.
GUI pre výpočty pondelok/27/júla Katarína Žáková 18
Úprava blokových schém pondelok/27/júla Katarína Žáková 19
Frekvenčné charakteristiky pondelok/27/júla Katarína Žáková 20
Frekvenčné charakteristiky pondelok/27/júla Katarína Žáková 21
Samotestovanie Náhodne generované asymptotické aproximácie pondelok/27/júla Katarína Žáková 22
Frekvenčné charakteristiky pondelok/27/júla Katarína Žáková 23
Záver systémy počítačovej algebry štandardizovaná web služba interaktívne prostredie online animácie iba otvorené technológie
LaTeX pondelok/27/júla Katarína Žáková 25