Princip uvolněné spojky služby - Service loose coupling principle - Wikipedia
tento článek potřebuje víc odkazy na další články pomoci integrovat to do encyklopedie.Listopad 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
V rámci orientace na služby paradigma designu, servisní uvolněná spojka je konstrukční princip[1] který se vztahuje na služby[2] aby bylo zajištěno, že smlouva o službě není pevně spojena se spotřebiteli služeb a se základní logikou a implementací služby. Výsledkem jsou smlouvy o službách, které lze volně vyvíjet, aniž by to mělo dopad na spotřebitele služeb nebo na implementaci služby.[3]
Účel
Koncept volné spojení v rámci SOA je přímo ovlivněno objektově orientovaným paradigmatem designu,[4] přičemž cílem je snížit propojení mezi třídami s cílem podpořit prostředí, kde lze obě třídy, i když nějakým způsobem navzájem souvisí, změnit takovým způsobem, aby taková změna nenarušila stávající vztah, který je nezbytný pro práci softwarového programu. Stejný koncept platí i ve světě SOA, avšak v rámci SOA se zvláštní důraz klade na servisní smlouvu, protože servisní smlouva funguje jako rozhraní, jehož prostřednictvím zákazníci služeb komunikují s logikou služby a naopak. Kromě toho SOA silně obhajuje vývoj fyzicky nezávislých smluv o poskytování služeb z logiky služeb (oddělená smlouva[5] návrhový vzor) ve prospěch interoperability a technologické nezávislosti. Jelikož jsou smlouvy fyzicky nezávislé, je třeba se zabývat nejen spojením mezi spotřebiteli služeb a smlouvami o službách, ale také mezi smlouvami o službách a jejich základní logikou a implementací. To je místo, kde aplikace tohoto principu návrhu pomáhá při identifikaci různých typů spojek, které existují (mezi službami i uvnitř služby) a jak navrhovat smlouvy tak, aby se minimalizovaly negativní typy vazeb a maximalizovaly pozitivní typy vazeb. Řešení orientované na služby, které se skládá ze služeb s volně vázanými smlouvami, přímo podporuje možnosti rozšířené rozmanitosti dodavatelů a zvýšenou interoperabilitu cíle orientace na služby.
aplikace
Uplatnění principu návrhu uvolnění spojky služby vyžaduje ponoření se do různých typů spojek, které existují mezi spotřebitelem služby a smlouvou o poskytování služeb, jakož i smlouvou o poskytování služeb a implementací služby. Pouze pochopením těchto různých typů lze správně analyzovat jejich dopad na orientaci na službu.
Typy spojek
Logika smlouvy
Volné propojení služeb diktuje, že tento druh spojení by měl být upřednostňován, aby byla servisní logika vyvinuta výhradně na podporu servisní smlouvy. To však vyžaduje dodržování přístupu „nejprve uzavřít smlouvu“, jak jej prosazuje standardizovaná servisní smlouva princip tak, aby logika služby byla spojena se standardizovanou smlouvou. Tímto způsobem není smlouva na služby spojena s logikou, takže v případě potřeby může být logika v případě potřeby nahrazena, aniž by to mělo dopad na spotřebitele služby.
Smlouva na logiku
Tento typ propojení existuje, když je smlouva postavena na základě existující logiky, např. prostřednictvím automatizovaných nástrojů.[6] Toto je negativní forma propojení a je třeba se mu vyhnout, protože to brání vývoji smlouvy o poskytování služeb. Důvodem je, že smlouva o službě není navržena nezávisle podle standardů návrhu a je diktována základní logikou.
Smlouva k realizaci
Když jsou smlouvy navrženy takovým způsobem, že jsou založeny na podkladových podrobnostech implementace, např. datové modely používané v podkladové databázi, vede k negativní formě propojení, které je třeba se vyhnout. Tímto způsobem bude změna v základní implementaci vyžadovat odpovídající změnu ve smlouvě o poskytování služeb. Tento typ spojky lze snížit zavedením fasádní komponenty mezi servisní logiku a její implementací, jak to prosazuje servisní fasáda[7] návrhový vzor.
Smlouva na technologii
Smlouva, která vystavuje proprietární technologické prvky používané logikou služby, např. smlouva založená na technologii .NET Remoting, vytváří negativní formu propojení, protože zákazníci služeb jsou omezeni na tuto konkrétní technologii. To výrazně omezuje schopnost služby počítat jako interoperabilní podnikový zdroj.
Smlouva na funkční
Tento typ propojení běžně existuje, když je smlouva o poskytování služeb vyvinuta s ohledem na konkrétní druh spotřebitele, např. služby vytvořené tak, aby umožňovaly komunikaci s obchodním partnerem nebo službou, která provádí část logiky obchodního procesu nebo je sama nadřazenou službou řadiče ve složení služby, které provádí logiku obchodního procesu. Toto je také negativní forma propojení a je třeba se mu vyhnout. I když v případě agnostických služeb existuje jasná potřeba tento typ vazby omezit, v případě neagnostických služeb např. u úkolových služeb je existence takového propojení záměrná, protože se nevyžaduje, aby byla služba zvlášť opakovaně použitelná, a proto by mohla být pro lepší účinnost pevně spojena s konkrétním spotřebitelem.
Spotřebitel k implementaci
Toto je negativní forma propojení, která existuje, protože spotřebitelé služby přistupují ke službě přímo buď prostřednictvím její logiky, nebo implementace. To se může stát z mnoha důvodů. Například spotřebitelé služeb používali k přístupu k aktuální službě prostřednictvím zjednodušených proprietárních rozhraní dlouho předtím, než skutečně existovala jako služba, tj. Před přechodem k orientaci na službu. Uplatnění centralizace smlouvy[8] návrhový vzor pomáhá vyhnout se tomuto druhu spojení.
Spotřebitel se smlouvou
Toto je příznivý typ propojení, protože pomáhá rozvíjet službu bez dopadu na její spotřebitele. Je však docela důležité mít na paměti, že toto propojení by mělo být omezeno pouze na servisní smlouvu a nemělo by prosakovat do architektury služby. To by se mohlo stát, pokud nebudou řešeny všechny negativní typy vazeb souvisejících se smlouvami, v důsledku toho se spotřebitel služby může snadno spojit s implementací služby, logikou nebo technologií.
Úvahy
Navrhování smluv o službách, které jsou zcela odděleny od jejich vnitřního a vnějšího prostředí, by bezpochyby vedlo ke službám, které jsou interoperabilní a škálovatelné, ale na druhé straně by to mohlo vytvořit smlouvy, které mají příliš obecné funkce nebo je výměna zpráv schopností příliš obecná což by mělo za následek další zpáteční lety, které by vyžadovaly zvýšené zdroje a čas na zpracování.
Analýza všech výše uvedených různých typů propojení vyžaduje více času a úsilí a může prodloužit dobu dodání služeb. V důsledku toho je potřeba aplikovat tento designový princip ve smysluplném rozsahu stanoveném designovými standardy v rámci jednotlivé organizace.
Reference
- ^ Princip návrhu
- ^ Služby
- ^ Michael Poulin.Vývoj principů orientace na služby: Service Loose Coupling and Abstraction, část 3 [Online]. Datum přístupu: 12. dubna 2010.
- ^ Bernhard Borges, Kerrie Holley, Ali Arsanjani Ponoříme se do architektury orientované na služby [Online]. Datum přístupu: 12. dubna 2010.
- ^ Oddělený vzor smlouvy
- ^ Tost. et al.Pokyny pro používání smluvních technologií webových služeb [Online]. Datum přístupu: 12. dubna 2010.
- ^ Vzor servisní fasády
- ^ Vzor centralizace smlouvy
- Thomas Erl (2008).SOA Principles of Service Design. Prentice Hall. ISBN 0-13-234482-3.
- Mauro. et al. Integrace zařízení zaměřená na služby - analýza návrhových vzorů SOA. [online], s. 1–10, 2010 43. Havajská mezinárodní konference o systémových vědách, 2010. Datum přístupu: 8. dubna 2010.
- Kjell-Sverre Jerijærvi.Model splatnosti smlouvy SOA [Online]. Datum přístupu: 12. dubna 2010.
- Wojciech Cellary, Sergiusz Strykowski.E-Government založený na cloudových výpočtech a architektuře orientované na služby [Online]. Datum přístupu: 12. dubna 2010.
externí odkazy
- Koncepty SOA
- Slovník pojmů SOA
- Simonsen, Mario Henrique Services, Loose Couplings Principles UnB - University Brasilia Editor, 1964. (v angličtině)