PA160 Webové a gridové služby Od webu k webovým službám ■ Motivace ■ Použít osvědčené webové přístupy ■ Nabídnout více než dynamické webové stránky ■ Podporovat distribuované aplikace ■ Výhody ■ Univerzální ■ Jednoduché ■ Rozšířené PA160 2 Jaro 2003 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štují 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á webové služby i odpovědi na webové dotazy ■ Umožňuje cachování 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, schémata) ■ 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 prenos dat ■ SOAP ■ XMI ■ XML-RPC ■ W3C vlastní štandard PA160 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) 60 11 Jaro Zprávy SOAP Zajištují 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ý 60 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 60 13 Web Service Description Language -WSDL ■ Definice rozhraní ■ Vazba: protokol, formát dat, bezpečnostní atriubuty ■ 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ávch ■ 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 6((případně http://www.google.11om/apis/) Jaro20 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ů 60 17 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í 60 20 Jaro 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 60 20 Jaro Implementace ■ Referenční implementace (portabilní, obecná) ■ Mapování do nativních (specifických) vlastností konkrétní platformy ■ Dekompozice na vyššia 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 Jaro 2003 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 Příklad použití OGSA (i) (2) User Application Create— Mining ^ Service " Create Storage Reservation Storage~"\ Mining w reservation service V factory J y factory Storage reservation factory Mining service factory Database service Database service 3 Database ] ( r service ) ^ 3 f\Database I service )® I storage (3) ® f User ^^Application j" ~-Keep_alive Status^— Update KJotification Storage Mining reservation | service factory J V factory Storage ~\ /- Mining reservation service "Storage P ^ -Gfuery /Database^ (FR) "V service J _<5> (4) SI Storage ~\ í Mining a. reservation service v_ factory J v, factory J _ -Gruery Database service ^® Storage Database^ ( r ) service 3 PA160 27 Jaro 2003 83 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 ■ Globus3 jako (první) referenční volná implementace ■ Rozšíření pojmu služba ■ Transientní ■ Soft state ■ Enkapsulace heterogenity PA160 29 Jaro 2003