====== Architektura zaměřená na služby (SOA). Kvalita služeb (QoS), výběr založený na QoS, sociální výběr služeb, trust a reputace v otevřených SOA.(A4M33AOS) ====== ===== Architektura zaměřená na služby (SOA) ===== * Architektura, která využívá metody a technologie umožňující dynamické propojení a komunikaci softwarových aplikací napříč platformami. Poskytuje generické a spolehlivé služby, které jsou stavebními bloky aplikací, jenž umožňují vývoj robustnějších aplikací a informačních systémů. * Řešení vycházející z konceptů Common Object Request Broker Architecture(CORBA) a Distributed Component Object Model(DCOM) a velké pozornosti se mu dostalo po stvoření webových služeb. Hlavní motivací pro prosazení SOA do vývoje softwaru je nezávislost na platformě, opakovaná použitelnost jednotlivých služeb a lepší schopnost přizpůsobovat se měnícím požadavkům. V aplikacích vyvinutých pomocí konceptu SOA lze kombinovat a opakovaně využívat vytvořené služby. {{:statnice:si:soa2.png|}} {{:statnice:si:wss.png?350|}} * Komponenty jsou základní stavební kameny služeb, jsou zodpovědné za realizaci funkčnosti služeb a za zajištění požadované kvality služeb (QoS). Na této úrovni abstrakce jsou komponenty černé skříňky a jejich funkce jsou přístupné pouze přes rozhraní. * Na vyšší úrovni jsou rozhraní jednotlivých komponent sjednocena do služeb. Služba se dá chápat jako mechanismus, který za běhu sestavuje komponenty a vhodným způsobem jim přeposílá požadavky, které jsou kladeny na samotnou službu. * Nejvyšší vrstvou hierarchie zobrazené na obr. 2.2 je vrstva byznys procesů. Byznys proces (dále jen BP) je posloupnost kroků, která respektuje určitá byznys pravidla a vede k zisku (hmotnému i nehmotnému). V kontextu SOA je BP reprezentován sekvencí provedení několika služeb. BP jde tedy v tomto směru chápat jako jednoduchou samostatnou aplikaci. Proces sestavení služeb do BP je označován jako choreografie služeb. **Orchestration** každá služba dělá určitou část - řízené z jednoho místa {{:statnice:si:orchestration.gif|}} **Choreography** jednotlivé služby postupně komunikují mezi sebou a postupně vytváří výsledek {{:statnice:si:choreography.gif|}} **Mashup** webová stránka nebo aplikace, která používá a kombinuje data, prezentaci nebo funkčnost ze dvou nebo více zdrojů a vytvářet novou službu(service) ===== Kvalita služeb (QoS) ===== {{:statnice:si:qos.jpg|}} {{:statnice:si:qualityofservice.gif|}} ==== Typy ==== * QoS nabízená (offered) / plánovaná (planned) poskytovatelem služby - specifikovaná úroveň jakosti o níž se předpokládá, že bude nabízena uživateli poskytovatelem služby * QoS dodaná (delivered) / docílená (achieved) poskytovatelem služby - specifikovaná úroveň skutečné jakosti dosažené a nabízené uživateli * QoS vnímaná (perceived) uživatelem/ účastníkem - konstatování, vyjadřující úroveň jakosti, o které se účastníci domnívají, že byla dosažena ==== Jakost služby QoS ==== * **Zajištění (podpora) služby** Service Support Performance - Schopnost organizace poskytovat službu a pomáhat při jejím užívání. Vztahuje se k odpovědnosti operátora. Tuto schopnost lze hodnotit např. podle: odezvy na požadavky účastníků, zřizování telekomunikačních služeb a jejich uvádění do provozu, doby potřebné pro zřízení služby, vyřizování přihlášek, reklamací uživatele, vytváření a aktualizace seznamů účastníků, účtování, placení apod. * **Provozovatelnost služby** Service Operability - Schopnost služby být snadno a úspěšně používaná uživatelem, např.: snadná ovladatelnost a použitelnost rozhraní účastník - zařízení, snadná identifikovatelnost tónů a jejich jednoznačnost, přehlednost struktury tarifu. * **Spolehlivost služby** Serveability - Schopnost poskytnout službu na požádání uživatelem a poskytovat ji po požadovanou dobu v rámci specifikovaných tolerancí a dalších daných podmínek. Může být vyjádřena pohotovostí služby, nepřetržitostí služby a celistvostí (integritou) služby. * **Pohotovost služby** Service Accessibility Performance - Schopnost poskytnout službu na požádání uživatelem, ve specifikovaných tolerancích a za dalších daných podmínek. Vztahuje se k fázi budování spojení. * **Nepřetržitost služby** Service Retainability Performance - Schopnost služby, uživateli již poskytnuté, být nadále poskytována za daných podmínek po danou dobu. * **Celistvost služby** Service Integrity Performance - Schopnost poskytnuté služby udržet si kvalitu bez mimořádných zhoršení. V telekomunikační síti je tato schopnost dána kvalitou přenosových vlastností systémů (jde např. o vliv krátkodobých přerušení, impulsních hluků, srozumitelných přeslechů, apod.). * **Bezpečnost služby** Service Security Performance - Odolnost proti neoprávněnému odposlechu, neoprávněnému použití, zlovolnému poškození, nesprávnému použití, lidským chybám a přírodním katastrofám. ==== Výkonost služby QoS ==== //QoS přenosových medii - vesměs se jedná o obecné vlastnosti přenositelné i na služby// * **Pohotovost** Availability Performance - Schopnost prvku být ve stavu, umožňujícím vykonávat požadovanou funkci v určitém nebo v libovolném časovém okamžiku v daném časovém intervalu. Tato vlastnost závisí na bezporuchovosti sítě, udržovatelnosti a zajištěnosti. * **Bezporuchovost** Reliability Performance - Schopnost prvku vykonávat požadované funkce za daných podmínek po daný časový interval. (Předpokládá se, že prvek je na začátku časového intervalu ve stavu, umožňujícím vykonávat dané funkce). * **Udržovatelnost** Maintainability Performance - Schopnost prvku používaného v souladu s dohodnutými podmínkami být ve stavu nebo vrátit se do stavu, ve kterém může vykonávat požadované funkce, když je prováděna údržba podle daných podmínek za použití stanovených postupů a zdrojů. * **Zajištěnost údržby** Maintenance Support Performance - Schopnost organizace, provozující údržbu, poskytnout (za daných podmínek) na požádání zdroje potřebné pro údržbu prvku podle dohodnutých pravidel. * **Spolehlivost** Dependability - Souhrnný pojem k popisu pohotovosti a činitelů, které ji ovlivňují: bezporuchovosti, udržovatelnosti a zajištěnosti obnovy (provozuschopnosti) prvku. * //Zpoplatnění Charging Performance - Pravděpodobnost, že je správně zpoplatněno spojení podle typu, cíle, času a doby trvání.// * //Propustnost Trafficability Performance - Schopnost prvku zpracovat provozní zatížení určitých vlastností a dané velikosti za daných podmínek.// * //Jakost přenosu Transmission Performance - Úroveň reprodukce signálu nabízeného za daných podmínek telekomunikačním systémům, pokud je systém v provozuschopném stavu.// * //Šiřitelnost Propagation Performance - Schopnost přenosového média, ve kterém se vlna šíří přirozeným způsobem, přenášet signál v daných tolerancích. Šiřitelnost se vztahuje k rádiovým přenosům a je závislá na přirozených vlivech prostředí, jako jsou útlum v důsledku deště, vícesměrové šíření (v důsledku odrazu a lomu) apod.// ===== Výběr založený na QoS ===== FIXME ===== Sociální výběr služeb, trust a reputace v otevřených SOA ===== FIXME Ačkoliv by toto téma nemělo u státnic být, tak jsem pro jistotu našel pár informací pro základní představu. **Trust** je prakticky o výběru důvěryhodné služby. Při hledání služby řešící náš problém můžeme narazit na desítky různých kandidátů a jak zjistit který je nelepší? * **Direct** - prostě nějaký vybereme a budeme věřit * **Recommendations** - Bude nám doporučen některou důvěryhodnou třetí stranou * **Reputation** - Výběr bude proveden na základě dobré pověsti dané služby (viz další odstavec) **Reputation** * **Directly** - služba získává dobrá hodnocení ručně od spokojených uživatelů * **Indirectly** - v závislosti na jejím používání (například jako page rank atd.) Pravděpodobně materiály na téma trust: - [[http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/os/ws-trust-1.4-spec-os.html#_Toc212615437 | WS-Trust 1.4]] - trust z pohledu bezpečnostnich mechanizmu SOA - [[http://www.softec.si/pdf/kovac_damjan.erk.modeling_trust.pdf | Modeling Trust in Service Oriented Environments]] - **trust, reputace a socialni multi-agentni pristup** (asi je to přesňe to, co by v této sekci mohli chtit u statnic, **bez zaruky!**) - (Optional)[[http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5331986&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5308790%2F5331971%2F05331986.pdf%3Farnumber%3D5331986 | A social network approach in Semantic Web Services Selection using Follow the Leader behavior ]] - dostupné prosteřednictvím https://dialog.cvut.cz ===== Komunikace ===== >> ... >> narazil jsem na problem pri hledani materialu k druhe casti "výběr založený na QoS, sociální výběr služeb, trust a reputace v >> otevřených SOA.". Dle osnov prednasek http://www.fel.cvut.cz/education/bk/predmety/12/58/p12588304.html >> se tomuto problemu mela venovat 9. respektive 10. prednaska. >> >> Nenasel jsem v nich (ani v ostatnich) vsak casti, ktere by mi prisly, ze se zabyvaji temito problematikami. >> >> Muzete poradit nejake materialy, ktere se zabyvaji zminovanymi tematy? >> ... > ... > V minulem semestru (prvni beh predmetu) tato otazka na prednaskach nebyla pokryta, proto k ni nenajdete materialy na strankach predmetu. > Nepredpokladam take, ze byste byl nucen teto otazce celit u letosnich statnic. > > S pozdravem, > Jiri Vokrinek. Mno tak si držme palce 8-o ===== Materiály ===== - [[http://is.muni.cz/th/60743/fi_m_a2/DP_60743.pdf | Bc. Filip Mali - Podniková servisně orientovaná architektura]] - [[http://en.wikipedia.org/wiki/Service-oriented_architecture | Wiki - Service-oriented architecture]] - [[http://cw.felk.cvut.cz/lib/exe/fetch.php/courses/a4m33aos/prednasky/02-soa.pdf | AOS 2. přednáška]] - [[http://www.itpoint.cz/ip-telefonie/teorie/qos-ip-site.asp| Problematika QoS v klasických a IP sítích]] - [[http://www.fit.vutbr.cz/research/view_project.php?file=%2Fproj%2F378%2FSOA_SOAD_WS.pdf&id=378| Ing. Petr Weiss, Mgr. Marek Rychlý - ARCHITEKTURA ORIENTOVANÁ NA SLUŽBY, NÁVRH ORIENTOVANÝ NA SLUŽBY, WEBOVÉ SLUŽB]] - [[http://www.developer.com/services/article.php/2027911/Quality-of-Service-for-Web-ServicesmdashDemystification-Limitations-and-Best-Practices.htm | Quality of Service for Web Services-Demystification, ]] - [[http://geekexplains.blogspot.com/2008/07/ways-of-combining-web-services.html | Ways of combining Web Services. Orchestration vs Choreography]]