Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
courses:a4m33aos [2012/09/20 09:19] rychtluk uprava odkazu na web |
courses:a4m33aos [2025/01/03 18:23] (aktuální) |
||
---|---|---|---|
Řádek 18: | Řádek 18: | ||
~~DISCUSSION~~ | ~~DISCUSSION~~ | ||
- | ===== Zkouška 20.12. ===== | + | ===== Zkouška 20.1.2017 ===== |
+ | |||
+ | === Bottom-up, Top-down - popis, srovnání, příklad postupu, příklad postupu pro klienta === | ||
+ | === BPEL === | ||
+ | === Ontologie - popis, výhody, napsat příklady a popsat je === | ||
+ | === Hashovací funkce, Digitální podpis - popis, k čemu se používá === | ||
+ | === Websockety - jaké se používají funkce === | ||
+ | === 5 otázek ANO/NE === | ||
+ | |||
+ | |||
+ | ===== Zkouška 13.1.2014 ===== | ||
+ | |||
+ | === Stateless vs statefull a příklady využití (jak kladné tak záporné) === | ||
+ | === Co je to WSDL (nakreslit diagram vůbec nevím co tam chtěl) === | ||
+ | === Orchestrace, choreografie a mashup === | ||
+ | === Bezpečnost služeb, end-to-end, point-to-point === | ||
+ | === OWL, co je to ontologie k čemu slouží výhody nevýhody. === | ||
+ | |||
+ | ===== Zkouška 22.1.2015 ===== | ||
+ | |||
+ | === Kódování zpráv - vlastnosti, příklady === | ||
+ | === BPEL === | ||
+ | === Ontologie - způsoby zachyecní === | ||
+ | === Bezpečnost služeb, end-to-end === | ||
+ | === WebSocket - události === | ||
+ | ===== Zkouška 13.1.2014 ===== | ||
+ | |||
+ | === Stateless vs statefull a příklady využití (jak kladné tak záporné) === | ||
+ | === Co je to WSDL (nakreslit diagram vůbec nevím co tam chtěl) === | ||
+ | === Orchestrace, choreografie a mashup === | ||
+ | === Bezpečnost služeb, end-to-end, point-to-point === | ||
+ | === OWL, co je to ontologie k čemu slouží výhody nevýhody. === | ||
+ | |||
+ | ===== Zkouška 19.12.2013 ===== | ||
+ | |||
+ | Jedna hodina, 5 otazek (prvni odevzdavali uz po pul hodine), **NENÍ MINIMUM :-)** | ||
+ | |||
+ | === Idempotent request === | ||
+ | === XML === | ||
+ | === srovnat BPEL a WSDL === | ||
+ | === hashovací funkce === | ||
+ | === MVC v kontextu služeb, životnost jednotlivých částí M,V, a C === | ||
+ | |||
+ | |||
+ | ===== Zkouška 20.12.2012 ===== | ||
+ | |||
+ | Jedna hodina, 5 otazek (prvni odevzdavali uz po pul hodine) - vse viz lonske terminy | ||
+ | |||
+ | === SOA vs RPC === | ||
+ | |||
+ | Pozor u této otázky chce slyšet "Rozdíl mezi SOA a RPC je...". Napsal jsem mu tam, co je to RPC, co je to SOA a dostal jsem 0 bodů! | ||
+ | |||
+ | === Idempotent request === | ||
+ | === BPEL === | ||
+ | === XML === | ||
+ | === Semantic service === | ||
+ | |||
+ | ===== Zkouška 10.01.2012 ===== | ||
+ | |||
+ | 1. Stateless x Statefull (srovnání, výhody, nevýhody, příklady použití) | ||
+ | |||
+ | 2. Bottom-up, Top-down (srovnání, příklad postupu, příklad postupu pro klienta) | ||
+ | |||
+ | 3. RPC (obrázek, vysvětlit, výhody, nevýhody) | ||
+ | |||
+ | 4. UDDI (vysvětlit, obrázek použití, části) | ||
+ | |||
+ | 5. REST-SOA (vysvětlit, technologie, výhody, nevýhody) | ||
+ | |||
+ | ===== Zkouška 20.12.2011 ===== | ||
Jedna hodina, 6 otazek: | Jedna hodina, 6 otazek: | ||
- | - stateful vs. stateless | + | === stateful vs. stateless === |
- | - bottom-up vs. top-down, vyhody, nevyhody | + | |
- | - XML, vyhody, nevyhody | + | |
- | - orchestrace vs. choreografie | + | |
- | - semantic services | + | |
- | - end-to-end vs. point-to-point security | + | |
- | ===== Zkouška 4.1. ===== | + | == Stateful == |
- | - Idempotent request | + | |
- | - WSDL co to je, k čemu se to využívá, jaké to má výhody a nevýhody | + | Stavová služba si drží session mezi klientem a serverem. Session je typicky uložena někde v paměti, takže se hůře škáluje (pokud máme hodně klientů musíme si někde držet kontext pro každého klienta zvlášť). |
- | - RPC, nakreslit obrázek, diskutovat nad výhodami a nevýhodami | + | |
- | - BPEL nakreslit příklad diagramu, kde se využívá | + | == Stateless == |
- | - OWL | + | |
- | - Hashovaci funkce, co to je, k čemu to je a jaké to má vlastnosti | + | Bezestavový znamená, že server si nedrží žádnou session. Každý request je izolovaná transakce (request musí obsahovat všechny potřebná data) a nemá vztah k žádnému předchozímu requestu. Typicky HTTP atd. Stateless služby se lépe škálují, lépe se zpracovávají chyby, jsou spolehlivější atd. |
+ | |||
+ | |||
+ | === bottom-up vs. top-down, vyhody, nevyhody === | ||
+ | |||
+ | == Bottom-up == | ||
+ | Nejprve navrhneme třídu/rozhraní a pak vygenerujeme [[http://en.wikipedia.org/wiki/Web_Services_Description_Language|WSDL]] | ||
+ | Jednodušší přirozený přístup, může zavést platformové či jazykové závislosti | ||
+ | |||
+ | == Top-down == | ||
+ | Nejdříve vytvoříme [[http://en.wikipedia.org/wiki/Web_Services_Description_Language|WSDL]] a pak z něj vygenerujeme rozhraní tříd. Vypadá složitěji (kdo se má s tím balatem XML patlat), vede k čistšímu designu (navrhujeme rozhraní). | ||
+ | |||
+ | |||
+ | === XML, vyhody, nevyhody === | ||
+ | |||
+ | == Výhody == | ||
+ | - lidsky čitelný formát | ||
+ | - strong typing, validace XSD, DTD | ||
+ | |||
+ | == Nevýhody == | ||
+ | - neefektivní (ukecanost, spousta datového balastu) | ||
+ | |||
+ | |||
+ | === orchestrace vs. choreografie === | ||
+ | |||
+ | == Orchestrace == | ||
+ | |||
+ | - popisuje uspořádání, koordinaci a řízení služeb | ||
+ | - reprezentována pomocí [[http://en.wikipedia.org/wiki/Business_Process_Execution_Language|BPEL]] | ||
+ | - koordinace událostí v procesu | ||
+ | |||
+ | == Choreografie == | ||
+ | - spolupráce několika stran (služeb) | ||
+ | - je popsána jazykem Choreography Description Language (WS-CDL), rozšíření WSDL | ||
+ | - popisuje formát zpráv | ||
+ | - aplikuje se ke sdílení spolupráce skrze autonomní systémy | ||
+ | - může být použita k monitorování zasílání zpráv | ||
+ | |||
+ | |||
+ | === Semantic services === | ||
+ | Je komponenta (webová služba) sémantického webu, protože obsahuje data v machine-readable formátu. | ||
+ | |||
+ | === end-to-end vs. point-to-point security === | ||
+ | |||
+ | == end-to-end == | ||
+ | Princip end-to-end je založen na tom, že pokud je to možné, měly by být operace komunikačního protokolu definovány tak, aby byly prováděny buď v koncových bodech komunikačního systému, nebo co nejblíže zařízení, které je ovládáno. [[http://en.wikipedia.org/wiki/SOAP|SOAP]] zpráva má vlastní ochranu. | ||
+ | |||
+ | == point-to-point == | ||
+ | Přímá komunikace mezi dvěma uzly. Účastníci komunikace mohou vidět zprávy v plain-text formátu. | ||
+ | |||
+ | |||
+ | ===== Zkouška 4.1.2012 ===== | ||
+ | === Idempotent request === | ||
+ | Přijaté duplicitní požadavky mají stejný efekt jako unikátní požadavek. Toto omezení umožní poskytovateli a klientovi zlepšit celkovou spolehlivost služby pouze tím, že se v případě výskytu chyby požadavek zopakuje. | ||
+ | |||
+ | === WSDL co to je, k čemu se to využívá, jaké to má výhody a nevýhody === | ||
+ | * [[http://en.wikipedia.org/wiki/Web_Services_Description_Language|Web Service Description Language]] | ||
+ | * jazyk pro popis webových služeb postavený nad XML | ||
+ | * definuje službu jako kolekci network endpoints | ||
+ | * popisuje interface služby | ||
+ | |||
+ | == Výhody == | ||
+ | * lidsky čitelný formát | ||
+ | * strong typing, validace XSD, DTD | ||
+ | |||
+ | == Nevýhody == | ||
+ | * neefektivní (ukecanost, spousta datového balastu) | ||
+ | |||
+ | === RPC, nakreslit obrázek, diskutovat nad výhodami a nevýhodami === | ||
+ | * [[http://en.wikipedia.org/wiki/Remote_procedure_call|Remote Procedure Call]] | ||
+ | * dovoluje programu vykonat proceduru, která může být uložena na jiném místě než je umístěn sám volající program | ||
+ | * základ pro [[http://en.wikipedia.org/wiki/Distributed_Component_Object_Model|DCOM]] a [[http://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture|CORBA]] | ||
+ | * múže spadnout na nepredikovatelných chybách sítě | ||
+ | |||
+ | {{:courses:rpc.png?400}} | ||
+ | |||
+ | === BPEL nakreslit příklad diagramu, kde se využívá === | ||
+ | * [[http://en.wikipedia.org/wiki/Business_Process_Execution_Language|Business Process Execution Language]] | ||
+ | * jazyk pro skládání webových služeb | ||
+ | * slouží pro orchestraci webových služeb | ||
+ | * vytvořeno BEA, IBM a M$ | ||
+ | * definuje business procesy, které interagují se vzdálenými entitami skrze webové služby | ||
+ | * postaveno nad XML | ||
+ | * podporuje implicitní vytvoření a ukončení instancí procesů | ||
+ | * definuje long-running transakce a recovery v případě pádu | ||
+ | {{:courses:bpel-orchestration.gif|}} | ||
+ | {{:courses:bpel_arch.png|}} | ||
+ | |||
+ | === OWL === | ||
+ | * [[http://en.wikipedia.org/wiki/Web_Ontology_Language|Web Ontology Language]] | ||
+ | * je to kolekce jazyků pro reprezentaci znalostí | ||
+ | * je charakteristický formální sémantinkou RDF/XML-based serializací pro [[http://en.wikipedia.org/wiki/Semantic_Web|Sémantický web]] | ||
+ | |||
+ | === Hashovaci funkce, co to je, k čemu to je a jaké to má vlastnosti === | ||
+ | [[http://en.wikipedia.org/wiki/Hash_function|Hašovací funkce]] je matematická funkce pro převod vstupních dat do (relativně) malého čísla. Hašování v základní variantě dovoluje testovat vstupní data na shodu, tedy rovnost. Nezachovává podobnost dat ani uspořádání. | ||
+ | |||
+ | == Vlastnosti == | ||
+ | * jakékoliv množství vstupních dat poskytuje stejně dlouhý výstup (otisk) | ||
+ | * malou změnou vstupních dat dosáhneme velkou změnu na výstupu (tj. výsledný otisk se od původního zásadně na první pohled liší) | ||
+ | * z hashe je prakticky nemožné rekonstruovat původní text zprávy | ||
+ | * v praxi je vysoce nepravděpodobné, že dvěma různým zprávám odpovídá stejný hash, jinými slovy pomocí hashe lze v praxi identifikovat právě jednu zprávu (ověřit její správnost). | ||
+ | |||
+ | == Použití == | ||
+ | * hashovací tabulky (key -> value) | ||
+ | * kontrola integrity dat [[http://cs.wikipedia.org/wiki/Cyklick%C3%BD_redundantn%C3%AD_sou%C4%8Det|CRC]] | ||
+ | * kryptování | ||
===== Zkouška 11.1.2012 ===== | ===== Zkouška 11.1.2012 ===== | ||
- | - Idempotent request | + | === Idempotent request === |
- | - SOA vs RPC | + | Viz předchozí termín |
- | - RPC | + | |
- | - Choreografie | + | |
- | - OWL | + | === SOA vs RPC === |
- | - Hashovaci funkce | + | |
+ | SOA (Service Oriented Architecture) - je architektura systému (aplikace), může využívat REST, SOAP | ||
+ | * je to množina flexibilních principů (patterns) použita při návrhu a integraci aplikace | ||
+ | * poskytují volně integrovanou sadu služeb, které mohou být použity v rámci více business domains | ||
+ | * definuje, jak integrovat široce nesourodé aplikace pro svět, který je distribuovaný a používá více implementačních platforem | ||
+ | * definuje rozhraní protokolů a metod | ||
+ | * vyžaduje loose coupling služeb a dalších technologií, které tvoří základ aplikace | ||
+ | * rozděluje fukce do jednotek (služeb) | ||
+ | * zapouzdření | ||
+ | * loose coupling | ||
+ | * znovupoužitelnost | ||
+ | * autonomita služeb | ||
+ | |||
+ | V podstatě SOA je architektura systému a RPC je způsob komunikace (volání vzdálené služby). | ||
+ | |||
+ | === RPC === | ||
+ | Viz předchozí termín | ||
+ | |||
+ | |||
+ | === Choreografie === | ||
+ | Viz předchozí termín | ||
+ | |||
+ | === OWL === | ||
+ | Viz předchozí termín | ||
+ | |||
+ | === Hashovaci funkce === | ||
+ | Viz předchozí termín | ||
+ | |||
+ | |||
+ | ===== Slovník pojmů ===== | ||
+ | |||
+ | ==== REST ==== | ||
+ | [[http://en.wikipedia.org/wiki/Representational_state_transfer|REpresentational State Transfer]] | ||
+ | * je to architektonický styl | ||
+ | * stateless | ||
+ | * založeno na HTTP | ||
+ | * metody: HEAD, GET, PUT, POST, DELETE | ||
+ | * formáty: | ||
+ | * XML | ||
+ | * XML-RPC | ||
+ | * JSON | ||
+ | * YAML | ||
+ | |||
+ | ==== RESTful ==== | ||
+ | * je označení webové služby, která splňuje následující podmínky: | ||
+ | * client-server komunikace | ||
+ | * stateless | ||
+ | * cachable | ||
+ | * layered | ||
+ | * uniform interface | ||
+ | * code on demand (optional) | ||
+ | |||
+ | ==== SOAP ==== | ||
+ | * [[http://en.wikipedia.org/wiki/SOAP|Simple Object Access Protocol]] | ||
+ | * specifikace pro výměnu strukturovaných informací pomocí webových služeb | ||
+ | * využívá protokoly aplikační vrstvy (HTTP, RPC) | ||
+ | * postaveno na WSDL a UDDI | ||
+ | * navrženo jako object-access protokol | ||
+ | |||
+ | ==== UDDI ==== | ||
+ | * [[http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration|Universal Description Discovery and Integration]] | ||
+ | * platformově nezavislý xml-based registr webových služeb | ||
+ | * white pages | ||
+ | * yellow pages | ||
+ | * green pages | ||
+ | |||
+ | ==== CORBA ==== | ||
+ | * [[http://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture|Common Object Request Broker Architecture]] | ||
+ | * standard, který umožňuje komunikace mezi různými platfomami a jazyky | ||
+ | * jazykově a platformě nezávislé | ||
+ | * strong typing | ||
+ | * CORBA Interface Definition Language | ||
+ | * transakce a security | ||
+ | {{:courses:corba.png|}} | ||
+ | |||
+ | ==== Choreografie ==== | ||
+ | * spolupráce několika stran (služeb) | ||
+ | * je popsána jazykem Choreography Description Language (WS-CDL), rozšíření WSDL | ||
+ | * popisuje formát zpráv | ||
+ | * aplikuje se ke sdílení spolupráce skrze autonomní systémy | ||
+ | * může být použita k monitorování zasílání zpráv | ||
+ | * typy: | ||
+ | |||
+ | === abstraktní === | ||
+ | |||
+ | * definuje typ informací | ||
+ | * definuje sekvence a podmínky | ||
+ | * nedefinuje fyzickou strukturu zpráv | ||
+ | * endpoints | ||
+ | * řízení zpráv | ||
+ | |||
+ | === portabilní === | ||
+ | |||
+ | * definuje fyzickou strukturu zpráv (WSDL, ...) | ||
+ | * definuje detaily použité technologie (security, reliability) | ||
+ | * pravidla k řízení výměny zpráv |