Refaktorování služby - Service refactoring
![]() | Tento článek je tón nebo styl nemusí odrážet encyklopedický tón použitý na Wikipedii.Březen 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
V rámci orientace na služby paradigma designu, Refaktorování služby je návrhový vzor, který je aplikován na existující službu[1] takže lze změnit logiku služby nebo její implementaci, aniž by to mělo dopad na spotřebitele služby.
Odůvodnění
Je zcela přirozené, že služba prochází změnami z různých důvodů. Změna může být požadována, protože podkladová implementace např. databáze, starší systémy atd. je třeba upgradovat, nebo jednoduše proto, že původní logika služby neefektivně využívala paměť. V jiných případech může být změna iniciována od samotných spotřebitelů služeb, např. s omezeným souběžným používáním služba funguje tak, jak je uvedeno v jejím SLA s nárůstem souběžného používání však služba není schopna plnit svoji SLA, a proto musí služba reagovat na zvyšující se výkonnostní požadavky svých zákazníků služby.[2]
Tuto situaci je třeba řešit tak, aby byla služba upgradována, aniž by to ovlivnilo její spotřebitele, kteří již na službě vytvořili závislosti. I když by se dalo tvrdit, že reakce na některý z výše uvedených požadavků by neměla být problematická, pokud služba dodržuje svou smlouvu, zde se nezajímáme pouze o správnost výsledku spojeného s výkonem služeb[3] ale také s chováním a spolehlivostí služby. K řešení těchto problémů poskytuje návrhový vzor služby Refactoring strategii, která se snaží zajistit, aby se služba mohla vyvíjet, aniž by to negativně ovlivnilo její spotřebitele.[4]
Používání
Použití tohoto designového vzoru obhajuje použití tradičních techniky refaktoringu softwaru. Důraz je kladen na refaktorování služby v menších krocích, takže dopad každého kroku je dostatečně malý na to, aby se obrátil v případě, že taková změna negativně ovlivní spotřebitele služby. Zadruhé, aby se zajistilo, že smlouva na služby zůstane nedotčena změnami v logice nebo implementaci, musí být smlouva o službě co nejvíce oddělena.[5] Toho lze dosáhnout zavedením fasádního prvku[6] mezi servisní smlouvou a servisní logikou. To je však možné pouze v případě, že je servisní smlouva fyzicky oddělena od její implementace, což by mohlo být dosaženo použitím oddělené smlouvy[7] návrhový vzor. To by mohlo být dále posíleno uplatněním centralizace smlouvy[8] návrhový vzor, který prosazuje uzavření smlouvy o službě jako jediný oficiální vstupní bod do služby.
Na druhou stranu, aby se izolovala logika služby od negativních účinků změn v implementaci služby, je možné znovu použít návrhový vzor Service Façade a zavést další komponentu fasády mezi implementací služby a logikou služby. Uplatňování Abstrakce služby Princip může dále pomoci snížit možnosti jakýchkoli škodlivých účinků způsobených použitím tohoto vzorového vzoru.[9]
Úvahy
Aplikace návrhového vzoru Service Refactoring vyžaduje rozsáhlé testování, aby byla zajištěna spolehlivá a osvědčená služba, která je sice neefektivní, ale má stejnou úroveň stability a spolehlivosti chování. To by mohlo zvýšit náklady na projekt a vyžadovalo by to další postupy zajišťování kvality a přísnou správu.
Na druhou stranu s jeho aplikací by mohlo dojít ke změně aktuálních úrovní abstrakce služby, což by zase vyžadovalo opětovné použití principu návrhu Abstrakce služby, aby se zajistilo, že služba udržuje správnou úroveň abstrakce. V některých situacích může být nemožné omezit účinek změn v logice služby nebo její implementaci a nechtěně musí být aktualizována servisní smlouva. V tomto případě Souběžné smlouvy[10] návrhový vzor by mohl být použit tak, aby služba nadále bavila své spotřebitele, kteří vytvořili závislosti na své staré smlouvě, a zároveň poskytla aktualizovanou smlouvu, která je v souladu s aktualizovanou logikou služby nebo implementací služby.
Reference
- ^ servis
- ^ Jason Bloomberg.Čtyři pilíře rozvoje orientovaného na služby [Online]. Datum přístupu: 27. dubna 2010.
- ^ Možnosti služby
- ^ Thomas Erl.Představujeme návrhové vzory SOA [Online]. Datum přístupu: 5. dubna 2010.
- ^ Wajid Khattak.Refaktorování služby [Online]. Datum přístupu: 27. dubna 2010.
- ^ Návrhový vzor servisní fasády
- ^ Odpojený návrhový vzor smlouvy
- ^ Návrhový vzor centralizace smlouvy
- ^ Dennis Wisnosky.Zásady a vzorce na ministerstvu obrany USA [Online]. Datum přístupu: 28. dubna 2010.
- ^ Návrhový vzor souběžných smluv
Další čtení
- Erl et al., (2009).SOA návrhové vzory. Prentice Hall. ISBN 0-13-613516-1.
- Mauro. et al. Integrace zařízení orientovaná 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: 5. dubna 2010.