MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY DIPLOMOVÁ PRÁCE NÁVRHOVÉ VZORY V SOA

Podobné dokumenty
DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Design systému. Komponentová versus procesní architektura

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

Krajská koncepce e-gov

Stav řešení Enterprise Architektury na Moravskoslezském kraji

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Digitální technická mapa ČR

PŘÍLOHA C Požadavky na Dokumentaci

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Servisně orientovaná architektura Základ budování NGII

SPECIFICKÁ PRAVIDLA PRO ŽADATELE A PŘÍJEMCE

Komponentový návrh SW

Výčet strategií a cílů, na jejichž plnění se projektový okruh podílí: Strategický rámec rozvoje veřejné správy České republiky pro období

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

PRACOVNÍ SKUPINA 5. Zdeněk KOCOUREK, IDS Advisory Lucie VESELÁ, Ministerstvo financí. Kybernetická bezpečnost IT

Architektura softwarových systémů

EXTRAKT z mezinárodní normy

Z P Ů S O B P Ř Í S T U P U K Z A J I Š T Ě N Í S O U L A D U S E Z Á K O N E M O K Y B E R N E T I C K É B E Z P E Č N O S T I V C L O U D O V É M P

Technologická centra krajů a ORP

Analýza a Návrh. Analýza

Digitální technická mapa ČR Architektura CAGI

Tvorba informačních systémů

Tvorba informačních systémů

Modely a sémantika. Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Otevřená data veřejné správy

Modelování procesů s využitím MS Visio.

Datová věda (Data Science) akademický navazující magisterský program

Centrální přístupový bod k informačním zdrojům resortu Ministerstva zemědělství Portál MZe a Portál eagri

Zkušenosti se zaváděním a řízením EA ve veřejné správě Slovenska. září 2015

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Architektury Informačních systémů. Jaroslav Žáček

SOAP & REST služby. Rozdíly, architektury, použití

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Chytrá systémová architektura jako základ Smart Administration

MVC (Model-View-Controller)

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

Základní registry, Datové schránky CzechPointy... A jak dál RNDr. Petr Tiller a Ing. Ondřej Felix, CSc., hlavní architekt egovernmentu MV ČR Praha

Snížení skrytých nákladů spojených se zvýšením kapacity napájení datových středisek

Business Intelligence

MINISTERSTVO PRO MÍSTNÍ ROZVOJ Č.j. 7022/ R O Z H O D N U T Í č. 19/2016. ministryně pro místní rozvoj. ze dne

Návod k požadavkům ISO 9001:2015 na dokumentované informace

Datová kvalita základ úspěšného BI. RNDr. Ondřej Zýka, Profinit

Architektury Informačních systémů. Jaroslav Žáček

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

ARIS Platform softwarová podpora řízení procesů Procesní ARIS laboratoř základ moderní výuky.

Koncept centrálního monitoringu a IP správy sítě

Centrální místo služeb (CMS) Bezpečná komunikace mezi úřady

OZNÁMENÍ O VOLNÉM PRACOVNÍM MÍSTĚ ZA ÚČELEM SESTAVENÍ REZERVNÍHO SEZNAMU. specialista IT (M/Ž)

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

Konzistentnost. Přednášky z distribuovaných systémů

Tvorba informačních systémů

WS PŘÍKLADY DOBRÉ PRAXE

Správa VF XML DTM DMVS Datový model a ontologický popis

ALUCID elektronická identita nové generace

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Datová kvalita. RNDr. Ondřej Zýka

Model systému managementu pro řízení ÚSC. Ing. Štěpán Kmoníček, Ph.D. odbor strategického rozvoje a koordinace veřejné správy

Obsah Strategie rozvoje infrastruktury pro prostorové informace v ČR do roku (GeoInfoStrategie) Jiří Čtyroký, vedoucí Zpracovatelského týmu

OZNÁMENÍ O VOLNÉM PRACOVNÍM MÍSTĚ ZA ÚČELEM SESTAVENÍ REZERVNÍHO SEZNAMU. asistent pro IT (M/Ž)

1. Integrační koncept

Procesy a vlákna (Processes and Threads)

Katalog služeb a procesů města Sokolov A. Popis současné praxe práce s procesy B. Vytvoření a implementace Katalogu služeb a procesů města Sokolov

Ontologie. Otakar Trunda

Digitální mapa veřejné správy

STRATEGIE A PROJEKTY ODBORU INFORMATIKY MHMP

Význam a způsoby sdílení geodat. Ing. Petr Seidl, CSc. ARCDATA PRAHA, s.r.o.

IBM Analytics Professional Services

Obsah. Zpracoval:

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Příloha č. 3: Technické zadání zakázky Instalace a služby pro technologické centrum MÚ Pohořelice

Michal Krátký, Miroslav Beneš

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Optimalizaci aplikací. Ing. Martin Pavlica

DATA ULOŽENÁ NA VĚČNÉ ČASY. (ICZ DESA / Microsoft Azure) Mikulov Michal Matoušek (ICZ) / Václav Koudele (Microsoft)

Problémové domény a jejich charakteristiky

ČESKÁ TECHNICKÁ NORMA

Kudy k Národnímu architektonickému plánu

K realizaci závěrečných prací (bakalářských a diplomových)

MANUÁL ŘÍZENÍ PROJEKTU. [Název projektu]

Architektura softwarových systémů

Systém kvality ve společnosti STAVITELSTVÍ KAREL VÁCHA A SYN s.r.o.

Pořízení nových systémů na MPSV děláme to ponovu

Strategie rozvoje ICT resortu MPSV v souvislosti s novými technologiemi a trendy. Bc. Vladimír Šiška, MBA, I. NM, MPSV

Garant karty projektového okruhu:

Konsolidace nemocničních informačních systémů v prostředí cloud infrastruktury

Příloha č. 12. Systém společného přihlašování, tzv. Single Sign On, ochrana dat

Koncept řešení EOS EVIDENCE ORGANIZAČNÍ STRUKTURY

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Datová kvalita. RNDr. Ondřej Zýka

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Architektury informačních systémů

Architektura v organizaci

ČSN ISO/IEC 27001:2014 a zákon o kybernetické bezpečnosti

Projekt GDPR-CZ. innogy Přístup k projektu. Agenda. 12/09/2017 Page 1. Praha 13. září Úvod a cíle projektu. Kontext GDPR.

Kroky Ministerstva zdravotnictví v oblasti elektronizace. 16. ročník konference ISSS

Transkript:

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY DIPLOMOVÁ PRÁCE NÁVRHOVÉ VZORY V SOA Brno, 2011 Roman Laštovička

Prohlášení: Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. 2

Shrnutí: Cílem práce je podat ucelený náhled na návrhové vzory v servisně orientovaných architekturách. Součástí práce bude i praktická implementace vzorů v ukázkové aplikaci namodelované pomocí UML 2.0. Klíčová slova: Servisně orientovaná architektura, návrhové vzory, UML, služba, inventář. 3

Obsah 1 Úvod... 5 2 Základní vzory pro tvorbu inventáře služeb... 6 3 Vzory pro tvorbu logických vrstev inventáře... 14 4 Vzory pro centralizaci inventáře... 18 5 Vzory pro implementaci inventáře... 23 6 Vzory pro správu inventáře... 31 7 Závěr... 35 Literatura... 36 4

1 Úvod Bohužel jsem stále nebyl schopen věnovat diplomové práci dostatečné úsilí a tak odevzdávám pouze velmi malou část nehotové práce, protože je to jediná možnost, jak se vyhnout vyloučení ze studia a nepřijít tak o možnost využití opravného termínu obhajoby. Tímto se omlouvám všem hodnotícím za čas, o který jsem je připravil při posuzování této práce, od níž samozřejmě neočekávám jiné hodnocení než nevyhovující. Práce obsahuje návrhové vzory pro tvorbu inventáře služeb v SOA a několik jejich předběžných diagramů v jazyce UML. 5

2 Základní vzory pro tvorbu inventáře služeb 6

Jak mohou být služby dodávány, aby byla maximalizována schopnost jejich vzájemné spolupráce? Dodáváním služeb od několika nezávislých vývojových týmů roste riziko produkce nekonzistentních služeb, které mají sníženou schopnost vzájemné spolupráce. Služby mohou být vytvářeny ve standardizované formě a mohou využívat architekturu společného inventáře pro celý podnik. V tomto inventáři mohou být volně a opakovaně využívány. Podnikový inventář je vhodné namodelovat v předstihu a celopodnikové standardy je nutné aplikovat na služby dodávané různými vývojovými týmy. K definování podnikového inventáře služeb je nutná podrobná předběžná analýza. Následné požadavky na řízení mohou mít mnoho organizačních dopadů. STANDARDIZED CONTRACT, ABSTRACTION, COMPOSABILITY. ENTERPRISE, INVENTORY. 7

Jak mohou být služby dodávány, aby schopnost jejich spolupráce byla maximální, když není možné docílit celopodnikové standardizace? Vytvoření celopodnikového inventáře služeb může být pro některé podniky příliš náročné a pokusy o jeho navržení mohou výrazně ohrozit úspěšný přechod k SOA. Služby mohou být seskupeny do lépe zvládnutelných, oblastních servisních inventářů. Každý z inventářů může být standardizován a spravován nezávisle na ostatních. Musí být pečlivě stanoveny hranice mezi doménovými inventáři, podle nichž proběhne postupná přeměna. Rozdíly ve standardizaci mezi jednotlivými doménovými inventáři zvyšují požadavky na transformaci a potenciálně snižují celkový přínos přechodu k SOA. STANDARDIZED CONTRACT, ABSTRACTION, COMPOSABILITY. ENTERPRISE, INVENTORY. 8

Jak můžeme navrhnout servisní inventář, abychom se vyhnuli redundanci služeb? Při doplňování služeb do inventáře vzniká riziko vytvoření služeb s překrývajícími se funkčními hranicemi, které snižuje znovupoužitelnost služeb. Inventář služeb musí být navrhován s důrazem na sladění hranic jednotlivých služeb. Hranice služeb jsou modelovány jako část procesu formální analýzy a řídíme se jimi při návrhu a správě servisního inventáře. Pro vytvoření nepřekrývajících se služeb musíme vynaložit dodatečné úsilí podpořené podrobnou předběžnou analýzou. AUTONOMY. INVENTORY, SERVICE. 9

Jak se můžeme vyhnout nesprávnému použití redundantní servisní logiky? Pokud nejsou agnostické služby používány správným způsobem, může dojít k vytvoření redundantní funkcionality v dalších službách. Z toho plynou problémy s normalizací, vlastnictvím a správou služeb. Přístup ke znovupoužitelné funkcionalitě je omezen pouze na agnostické služby, které tuto funkcionalitu poskytují. Agnostické služby musí být správně navrženy a spravovány a jejich použití musí být řízeno podnikovými standardy. Organizační záležitosti týkající se dřívějších projektů mohou vytvořit překážky při aplikaci tohoto vzoru. REUSABILITY, COMPOSABILITY. INVENTORY, COMPOSITION, SERVICE. 10

Jak můžeme služby v servisním inventáři organizovat na základě funkční podobnosti? Libovolné definování služeb, které jsou dodávány a spravovány různými vývojovými týmy, může vést k nekonzistenci návrhu a neúmyslné funkční redundanci uvnitř servisního inventáře. Inventář služeb je strukturován do dvou nebo více logických vrstev, z nichž každá je zodpovědná za abstrakci logiky založené na společném funkčním typu služeb. Na základě vybraných modelů služeb jsou vytvořeny vrstvy těchto služeb a modelovací a návrhové standardy pro jejich tvorbu. Je třeba akceptovat zvýšené úsilí, které je nutné vynaložit při předběžné analýze a při vytváření návrhových standardů. REUSABILITY, COMPOSABILITY. INVENTORY, SERVICE. 11

Jak můžeme služby navrhnout, abychom se vyhnuli přepínání mezi protokoly? Služby, které podporují různé komunikační technologie, ohrožují vzájemnou spolupráci, limitují počet potenciálních konzumentů a zvyšují nutnost přepínání mezi komunikačními protokoly. Ustanovíme jedinou komunikační technologii jako výhradní a primární médium pro komunikaci mezi službami. Použité komunikační protokoly včetně jejich verzí jsou standardizovány pro všechny služby uvnitř servisního inventáře. Architektura inventáře se standardizovanými komunikačními protokoly je omezována použitou komunikační technologií. STANDARDIZED CONTRACT. INVENTORY, SERVICE. 12

Jak můžeme služby navrhnout, abychom se vyhnuli transformaci mezi datovými modely? Služby s rozdílnými modely pro podobná data si vynucují dodatečné transformační požadavky, které zvyšují úsilí vynaložené při vývoji a návrhovou složitost a naopak snižují výkon aplikace za běhu kvůli dodatečné režii. Datové modely pro nejpoužívanější informační množiny jsou standardizovány ve všech kontraktech uvnitř inventáře. Návrhové standardy jsou aplikovány na schémata používaná servisními kontrakty jako část formálního návrhového procesu. Udržování standardizovaných schémat kontraktů může vyžadovat vysoké úsilí. Mohou nastat kulturní problémy. STANDARDIZED CONTRACT. INVENTORY, SERVICE. 13

3 Vzory pro tvorbu logických vrstev inventáře 14

Jak můžeme oddělit, opakovaně využívat a samostatně spravovat pomocnou logiku? Pokud je veškerá logika vyžadovaná k automatizaci podnikového procesu obsažena v jediné službě, může dojít k redundantní implementaci běžných pomocných funkcí v mnoha službách. Je vytvořena servisní vrstva určená k provádění pomocných operací, která obsahuje znovupoužitelné pomocné služby využívané ostatními službami v inventáři. Model pomocných služeb je zahrnut do analytické a návrhové fáze procesů na podporu abstrakce pomocné logiky. Jsou podniknuty další kroky vedoucí k vybalancování kontextu služeb. Distribuování pomocné logiky mezi větší počet služeb může zvýšit požadavky na složitost a výkon. LOOSE COUPLING, ABSTRACTION, REUSABILITY, COMPOSABILITY. INVENTORY, COMPOSITION, SERVICE. 15

Jak můžeme oddělit, opakovaně využívat a samostatně spravovat procesně nezávislou logiku? Spojováním procesně závislé a procesně nezávislé logiky do jediné služby může postupně docházet k vytváření redundantní agnostické logiky v mnoha službách. Vytvoříme procesně nezávislou vrstvu služeb věnovanou pouze službám, které mají funkční kontext založený na existujících podnikových entitách. Kontext entitních služeb je založen na modelech obchodních entit a vytváří logickou vrstvu, která je modelována během analytické fáze. Podnikově zaměřená povaha těchto služeb vyžaduje zvýšenou pozornost při modelování a návrhu a požadavky na správu mohou přinést dramatické organizační změny. LOOSE COUPLING, ABSTRACTION, REUSABILITY, COMPOSABILITY. INVENTORY, COMPOSITION, SERVICE. 16

Jak můžeme oddělit a samostatně spravovat procesně závislou logiku? Spojováním procesně závislé a procesně nezávislé logiky dochází k problémům se správou procesně závislé logiky a znovupoužitím procesně nezávislé logiky. Vytvoříme vrstvu věnovanou procesně závislé logice, která podpoří nezávislou správu služeb jako potenciálních podnikových zdrojů. Jakmile jsou navrženy pomocné a entitní služby, vyfiltrujeme logiku obchodních procesů a definujeme procesně závislou servisní vrstvu. Kromě modelování a tvorby procesně závislých služeb, vytváří abstrakce rodičovské procesní logiky vrozenou závislost na provádění obchodní logiky pomocí kompozice dalších služeb. LOOSE COUPLING, ABSTRACTION, COMPOSABILITY. INVENTORY, COMPOSITION, SERVICE. 17

4 Vzory pro centralizaci inventáře 18

Jak můžeme centrálně spravovat abstrahovanou logiku obchodních procesů? Vyvíjení a rozšiřování systému může být problematické, pokud je logika obchodních procesů distribuována mezi více nezávislými implementacemi služeb. Logika reprezentující různé obchodní procesy může být spravována z jediného centrálního umístění. Technologie potřebné k aplikování tohoto vzoru obvykle obsahuje dostupný middleware software. Při zavádění těchto pomocných programů musíme počítat s podstatnými změnami infrastruktury a architektury. AUTONOMY, STATELESSNESS, COMPOSABILITY. INVENTORY, COMPOSITION. 19

Jak můžeme navrhnout kontrakty služeb, abychom se vyhnuli redundantní reprezentaci dat? Různé kontrakty služeb často potřebují pracovat s podobnými obchodními dokumenty nebo datovými množinami, což vede k redundanci datových záznamů a obtížím s jejich správou. Vybrané datové modely existují jako fyzicky nezávislé části kontraktů služeb a jsou sdíleny vícero kontrakty. Při předběžné analýze je třeba vytvořit nezávislou datovou vrstvu, která podporuje a je využívána vrstvou služeb. Důležitost správy sdílených datových schémat roste s počtem služeb, které daná schémata využívají. STANDARDIZED CONTRACT, LOOSE COUPLING. INVENTORY, SERVICE. 20

Jak můžeme předepsané politiky normalizovat a vynucovat jejich dodržování službami? Politiky, které jsou aplikovány na vícero služeb, mohou způsobit redundanci a nekonzistenci uvnitř servisní logiky a kontraktů služeb. Globální nebo doménově specifické politiky můžeme izolovat a aplikovat na vícero služeb. Opakovaně použitelné politiky by měly být definovány v analytické fázi a prosazovány pomocí rámce pro vykonávání politik. Rámce pro politiky snižují výkon a mohou záviset na soukromých technologiích. Je zde také riziko konfliktu mezi centralizovanými politikami a politikami specifickými pro danou službu. STANDARDIZED CONTRACT, LOOSE COUPLING, ABSTRACTION. INVENTORY, SERVICE. 21

Jak můžeme abstrahovat a centrálně spravovat obchodní pravidla? Stejná obchodní pravidla mohou být uplatňována v mnoha obchodních službách, což může vést k redundanci a problémům se správou. Centrum správy a úložiště obchodních pravidel je umístěno uvnitř dedikovaného architektonického rozšíření, ve kterém je možné k pravidlům centrálně přistupovat a spravovat je. Systém správy obchodních pravidel je realizován pomocí systému agentů nebo dedikovaných služeb. Služby jsou vystaveny vyšším požadavkům na režii, větším rizikům a jsou více závislé na architektuře. REUSABILITY. INVENTORY. 22

5 Vzory pro implementaci inventáře 23

Jak může inventář služeb překonat omezení vyplývající ze vzoru Kanonický protokol, aniž by porušil pravidlo standar dizace protokolu? Vzor Kanonický protokol vyžaduje, aby všechny služby používaly jednotnou komunikační technologii. Avšak jediný komunikační protokol nemusí být schopen vyhovět požadavkům všech služeb. Architektura inventáře služeb je navržena tak, aby služby podporovaly primární a sekundární komunikační protokoly. Jsou vytvořeny primární a sekundární úrovně služeb, které reprezentují koncovou vrstvu služeb. Všechny služby nadále podléhají doporučením vyplývajícím z návrhu služeb v servisně orientovaném paradigmatu a dopad porušení vzoru Kanonický protokol je dále snížen dodržováním specifických směrnic při návrhu služeb. Tento vzor může vést ke spletité architektuře inventáře služeb, zvýšeným nárokům na správu a (pokud je nesprávně aplikován) k nezdravé závislosti na vzoru Přemostění protokolů. Protože koncová vrstva není zcela jednotná, celkový počet potenciálních konzumentů a příležitostí ke znovupoužití služeb je snížen. STANDARDIZED CONTRACT, LOOSE COUPLING, ABSTRACTION, AUTONOMY, COMPOSABILITY. INVENTORY, SERVICE. 24

Jak se můžeme vypořádat s nestejnorodostí externích zdrojů? Implementace služeb mohou být závislé na různých externích zdrojích (databáze, adresářové služby apod.), čímž se zvyšují nároky na správu a údržbu služeb. Podpůrná infrastruktura a architektura může být vybavena společnými zdroji a rozšířeními, které mohou být opakovaně využívány různými službami. Používání standardizovaných architektonických zdrojů je formalizováno definováním podnikových návrhových standardů. Pokud tento vzor vede k příliš vysoké závislosti na sdílených zdrojích, může dojít ke snížení autonomie a mobility služeb. AUTONOMY. ENTERPRISE, INVENTORY. 25

Jak můžeme ukládat stavová data služeb, aniž bychom neúměrně zvyšovali nároky na systém za běhu? Velké objemy stavových dat udržovaných za běhu programu pro potřeby běžících služeb mohou zabírat příliš mnoho paměti a snižovat tak škálovatelnost aplikace. Stavová data mohou být dočasně uložena do dedikovaného stavového repositáře a později z něj znovu načtena. Sdílený nebo dedikovaný repositář dat je k dispozici jako součást inventáře nebo architektury služeb. Přidání vyžadované funkcionality pro čtení a zápis dat zvyšuje složitost návrhu služeb a může mít negativní vliv na výkon aplikace. STATELESSNESS. INVENTORY, SERVICE. 26

Jak mohou být stavová data služeb trvale ukládána a spravována, aniž by docházelo k zatížení programu za běhu? Stavová data náležející k určitým aktivitám služeb mohou na kompozice služeb vkládat příliš velké nároky ohledně správy stavů a snižovat tak škálovatelnost aplikace. Stavová data jsou ukládána a spravována v rámci k tomuto účelu určených pomocných stavových služeb. Pomocné stavové služby udržují v paměti stavová data aktivních služeb. Pokud dojde k nesprávné implementaci, pomocné stavové služby mohou negativně ovlivnit výkon aplikace. STALESSNESS. INVENTORY, SERVICE. 27

Jak udržet stavová data služeb ve stavu co nejvyšší škálovatelnosti a odolnosti proti chybám? Stavová data uložená ve stavovém repositáři nebo stavových službách mohou být zdrojem chyb nebo omezení výkonu aplikace, obzvláště jsou-li často používaná. Stavová data uložená v kolekci systémových stavových služeb zformují mřížku, která poskytuje vysokou škálovatelnost a odolnost vůči chybám díky replikaci paměti, redundanci a podpůrné infrastruktuře. Do podnikové a inventářové architektury je zavedena gridová technologie. Aplikace tohoto vzoru může vyžadovat významné rozšíření infrastruktury a mít tak vyšší požadavky na správu. STALESSNESS. ENTERPRISE, INVENTORY, SERVICE. 28

Jak může být inventář služeb ochráněn před nevhodnými vnějšími vstupy, aniž by byla ovlivněna jeho schopnost poskytovat služby vnějším konzumentům? Skupina služeb v určitém inventáři může poskytovat funkcionalitu, která je užitečná službám mimo tento inventář. Z hlediska údržby a bezpečnosti však nemusí být vhodné vystavit všechny služby inventáře vnějším konzumentům. Požadovanou funkcionalitu abstrahujeme do koncové služby, která funguje jako oficiální vstupní bod dedikovaný určité skupině konzumentů. Koncová služba může vystavovat servisní kontrakt s nabídkou funkcionalit, které poskytují služby v inventáři. Tyto funkcionality však mohou být dále pozměněny politikami a dalšími charakteristikami vhodnými pro komunikaci s konzumenty. Koncové služby mohou zvýšit svobodu při správě základních služeb inventáře, ovšem zároveň zvyšují požadavky na správu inventáře kvůli zavádění redundantní servisní logiky a kontraktů. STANDARDIZED CONTRACT, LOOSE COUPLING, ABSTRACTION. INVENTORY. 29

- Jak se můžeme vyhnout redundanci pomocné servisní logiky v několika doménových servisních inventářích? V doménových inventářích služeb může docházet k redundanci ve vrstvě pomocných služeb. Založíme společnou vrstvu pomocných služeb pro několik doménových inventářů. Množina společných pomocných služeb musí být definována a standardizována v koordinaci s vlastníky doménových inventářů služeb. Na koordinaci a správu mezidoménové vrstvy pomocných služeb je třeba vyvinout zvýšené úsilí. REUSABILITY, COMPOSABILITY. ENTERPRISE, INVENTORY. 30

6 Vzory pro správu inventáře 31

Jak zajistit, aby nedocházelo k nesprávnému porozumění a interpretaci servisních kontraktů? Servisní kontrakty mohou vyjadřovat podobné schopnosti různými způsoby, což může vést k neporozumění a nesrovnalostem. Servisní kontrakty jsou standardizovány pomocí jmenných konvencí. Jmenné konvence jsou na servisní kontrakty aplikovány jako část formálního procesu analýzy a návrhu. Zavedení globálních jmenných konvencí si vynucuje použití a neustálé dodržování podnikových standardů. STANDARDIZED CONTRACT, DISCOVERABILITY. INVENTORY, SERVICE. 32

Jak mohou být metadata služeb centrálně publikována a spravována? Projektové týmy, zejména ve velkých firmách, jsou neustále vystaveny riziku budování funkcionality, která již existuje nebo je ve vývoji. Toto zbytečně vynaložené úsilí vede k vytváření redundantní servisní logiky a denormalizaci inventáře služeb. Metadata služeb mohou být centrálně publikována v registru služeb a poskytovat tak formální prostředky k nalezení a registraci služeb. Soukromý registr služeb musí být centrální částí inventářové architektury, aby mohl podporovat formální procesy nalezení a registrace služeb. Registr služeb musí být spolehlivý a kvalitní a jeho užívání a údržba musí být zahrnuta do všech procesů správy a dodávání služeb. DISCOVERABILITY. ENTERPRISE, INVENTORY. 33

Jak mohou být číslovány verze servisních kontraktů uvnitř inventáře služeb, aby nedocházelo k problémům s jejich správou? Pokud jsou verze servisních kontraktů uvnitř inventáře služeb číslovány rozdílně, může docházet k problémům s jejich správou a interoperabilitou. Pravidla číslování verzí servisních kontraktů jsou standardizována pro celý inventář služeb. K zajištění konzistence číslování verzí servisních kontraktů je třeba vyvinout a dodržovat návrhové standardy. Vytvoření a dodržování nutných návrhových standardů představuje zvýšené nároky na správu. STANDARDIZED CONTRACT. SERVICE, INVENTORY. 34

7 Závěr Cílů práce nebylo prozatím dosaženo. 35

Literatura [1] Erl, Thomas: SOA Design Patterns. Upper Saddle River, Prentice Hall, 2008. 36