PA 160 Webové a gridové služby Od webu k webovým službám ■ Motivace ■ Použít osvědčené webove přístupy ■ Nabídnout více než dynamické webove stránky ■ Podporovat distribuované aplikace ■ Výhody ■ Univerzální ■ Jednoduché ■ Rozšířené PA160 2 Webový přístup Obecná rozhraní Nezávislý vývoj a nasazení částí Rozšiřitelnost Existence podpůrných prostředků (cache, bezpečnost, ...) Dosaženo ■ Znovupoužitím komponent ■ Dynamickou nahraditelností jednotlivých částí PA160 3 Jaro 2003 Webové služby ■ Zajišťují zpracování požadavků webových agentů ■ Jsou adresovány pomocí URI ■ Jsou přístupné standardními protokoly ■ Data jsou „obalena" XML ■ Definují typy přenášených dat (dohodnutým) standardním způsobem ■ Umožní přístup k metadatům o službách a jejich rozhraních PA160 4 Jaro 2003 URI - Universal Resource Identifier ■ Pojmenovává webove služby i odpovědi na webove dotazy ■ Umožňuje cachovaní na ■ klientech (RAM, disk, ...) ■ cestě (network cache) serverech PA160 5 Jaro 2003 XML - extended Markup Language ■ Podporuje rozšiřitelné množiny typů dokumentů ■ Je parsovatelné a kontrolovatelné ■ Má významné sémantické vlastnosti (URI, jmenné prostory, schemata) ■ Je podporováno průmyslem PA160 6 Jaro 2003 Metadata ■ Metadata popisují ■ Rozhraní ■ Vazbu ■ Používají rejstříky (registries), které dovolují ■ vyhledávání založené na popisu ■ dynamickou vazbu na nejnovější službu PA160 7 Jaro 2003 Základní model ■ Tři komponenty ■ Poskytovatelé služeb (providers) ■ Uživatelé služeb (consumers) ■ Rejstříky (registries) ■ Poskytovatel publikuje informaci v rejstříku ■ Uživatel používá rejstřík k vyhledávání služby ■ a váže se s poskytovatelem služby PA160 8 Jaro 2003 XML protokoly pro přenos dat ■ SOAP ■ XMI ■ XML-RPC ■ W3C vlastní standard PA16C 9 Jaro 2003 Simple Object Access Protocol - SOAP ■ Přenášen přes HTTP ■ Webové služby popisovány prostřednictvím WSDL ■ Používá UDDI rejstříky pro ukládání WSDL popisů ■ Má 4 části ■ Obálku: popis obsahu zprávy a způsob použití ■ Kódovací pravidla pro popis aplikačních datových typů ■ Konvence pro reprezentaci RPCs a odpovědí ■ Množinu pravidel pro použití nad HTTP PA160 10 Jaro 2003 SOAP II ■ de facto standard pro XML zprávy ■ Je jednoduchý (tenká vrstva nad HTTP) ■ Flexibilní a rozšiřitelný ■ Rozsáhlá podpora ■ Způsob interakcí ■ jednostranné: odpověď není očekávána ■ konverzační: v podstatě dialog, definovatelný choreografických jazykem ■ n-to-m: multicast, definovatelné choreografických jazykem ■ Použití ■ Předávání zpráv ■ Vzdálené vyvolání procedur (RPC) PA160 11 Jaro 2003 Zprávy SOAP ■ Zajišťují jednostrannou komunikaci mezi SOAP uzly ■ Kombinací zajištěny složitější interakce (otázka/odpověď) ■ Formát: obálka (envelope) zahrnuje případnou hlavičku (header) + povinné tělo (body) ■ Obsah hlavičky i těla je aplikačně závislý PA160 12 Jaro 2003 Popis služeb SOAP ■ Minimální ■ Rozhraní (interface): jaké zprávy očekává a jak vypadají odpovědi ■ Implementace: jak kódovat zprávy, kam je posílat PA160 13 Jaro 2003 Web Service Description Language -WS D L ■ Definice rozhraní ■ Vazba: protokol, formát dat, bezpečnostní atributy ■ Typ portu: operace služby (vstupy, výstupy, chyby) ■ Zprávy: XML datové typy pro jednotlivé komponenty zpráv ■ Typ: Komplexní datové typy použité ve zprávách ■ Definice služby Služba: množina URLs a příslušných vazebných elementů ■ Port: Adresy a čísla portů PA160 14 Jaro 2003 WDSL politiky a prezentace ■ Politiky definovány prostřednictvím pravidel a tvrzení (assertion) ■ Aplikovány na služby ■ Příklady ■ Bezpečnostní politika služby ■ Kvalita služby ■ WDSL může též popsat prezentaci služby ■ Jak službu zobrazit uživateli ■ Jak vypadá možná interakce mezi službou a uživatelem ■ Příklad: http: //www.cee.hw.ac.uk/courses/5nml/14/GoogleSearch.wsdl PA16((případně http: //www. google .1ícom/apis/) Jaro201 UDDI ■ Universal Description, Discovery and Integration ■ http://www.uddi.org ■ Zajištuje zpřístupnění služeb (popsaných pomocí WSDL) ■ Veřejný adresář (registry) ■ Dvě základní metody: Inquiry a Publish ■ Doplňkové metody: security, custody transfer, subscription PA160 16 Jaro 2003 Omezení SOAP ■ Nepodporuje řadu funkcionalit dostupných v CORBA či RMI: ■ Distribuované čištění paměti ■ Spojování zpráv ■ Objekty definované odkazy ■ Aktivace objektů PA160 17 Jaro 2003 Rozšíření SOAP ■ Převážně ve vývoji nebo experimentální ■ Určeny k podpoře ■ zrychlení přístupu - HTTP cache není přímo použitelná (dynamický obsah) ■ rozšiřitelnosti - práce s vlákny ■ bezpečnosti ■ transakcí PA160 18 Jaro 2003 Gridové služby ■ Gridy ■ Prostředí a nástroje pro dynamickou spolupráci heterogenních zdrojů v ad hoc vytvářených virtuálních organizacích (VO). PA160 19 Jaro 2003 Gridové služby ■ Gridy ■ Prostředí a nástroje pro dynamickou spolupráci heterogenních zdrojů v ad hoc vytvářených virtuálních organizacích (VO). ■ Problémy: ■ Heterogenita ■ Dynamičnost ■ Syndrom „Bug or Feature?" ■ Jistota poruchy PA160 19 Jaro 2003 Open Grid Services Architecture (OGSA) ■ Virtualizace služeb Společný interface ■ Různé implementace Umožňuje abstrakci služeb v heterogenním prostředí PA160 20 Jaro 2003 Open Grid Services Architecture (OGSA) ■ Virtualizace služeb Společný interface ■ Různé implementace Umožňuje abstrakci služeb v heterogenním prostředí ■ Vyžaduje ■ Standardní formát popisu služeb ■ Definice: interface ■ Invokace: protokol mezi definicí a implementací ■ Implementace: vlastní tělo PA160 20 Jaro 2003 Implementace ■ Referenční implementace (portabilní, obecná) ■ Mapování do nativních (specifických) vlastností konkrétní platformy ■ Dekompozice na vyšší a nižší služby PA160 21 Jaro 2003 Grid Services ■ Definice: webová služba, poskytující množinu definovaných rozhraní (interfaces) odpovídajících určitým pravidlům (konvencím). ■ Interface: ■ vyhledávání ■ dynamická tvorba služeb ■ životnost ■ notifikace ■ správa PA160 22 Jaro 2003 Grid Services: otevřené otázky ■ Pravidla: ■ Pojmenování (naming) ■ Rozšiřitelnost ■ Autorizace a řízení paralelního přístupu ■ Autentizace a spolehlivé volání: součást invokace PA160 23 Gridové služby: komponenty ■ Grid Service Instance ■ Vícenásobné: odpovídá konkrétní instanci ■ Vnitřní stav služby ■ Grid Service Handle (GSH) ■ Jednoznačná identifikace instance služby ■ Neměnná v čase ■ Grid Service Reference (GSR) ■ Enkapsulace protokolu a specifických vlastností instance ■ Může se měnit v čase ■ SoftState a prodloužení služby PA160 24 Jaro 2003 Gridové služby: Factory ■ Vytváří instance služeb ■ Factory a factory ■ Factory: interface, definuje službu a vrací GSH a počáteční GSR ■ factory: konkrétní instance obecné Factory PA160 25 Jaro 2003 Doba života služeb ■ Reakce na existenci chyb a výpadků ■ GSR má omezenou životnost ■ Služba je „držena při životě" (keepalive) ■ Prodloužení služby ■ Transientní služba: může být ukončena, prostředí získá zpět všechny zdroje ■ Počáteční doba života: dohoda při vytvoření ■ Prodloužení doby života PA160 26 Jaro 2003 Príklad (i) (2) ® íUser \^_ ^Application __ ŕ~ Storage reservation \^ factory Create— Mrňing s' Service Create Storage Reservation Mining service factory E Storage 3 E Storage reservation factory Mining service factory f Storage yreservati L) C Mining service e Storage 3 (3) ~~-Ke.e£jalive Status"-— Update Notification Storage reservation factory Mining service factory K Sto rag e "N reservation^.- Mining service F Storage 3 __ (4) ® Status~-Update f Storage reservation V^ factory (Storage ^\ reservation^.- Mining service factory Mining service e Storage --- 60 použití OGSA ® f Database A ( R I titorage J f Database"^ (^R) ®^ I Storage J ® Database service ) ^® I Storage J ® ,-Query f Database ^'l service I Storage J ---« Database ^ ( R service I titorage J ® í Database ^'l. service , -Query I Storage J A Database ^ ( R service I Storage J 27 Jaro 2003 Literatura ■ Grid Service Specification, http://www.gridforum.org/ ogsi-wg/drafts/GS_Spec_draft03_2002-07-17.pdf ■ The Physiology of the Grid: http://www.globus.org/research/papers/ogsa.pdf ■ a další práce dostupné na http://www.globus.org/research/papers.html#anatomy PA160 28 Jaro 2003 Shrnutí ■ V praxi dosud neověřený přístup ■ Možné problémy s výkonem ■ Globus3jako (první) referenční volná implementace ■ Rozšíření pojmu služba ■ Transientní ■ Soft state ■ Enkapsulace heterogenity PA160 29 Jaro 2003