Refaktorování služby - Service refactoring

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

  1. ^ servis
  2. ^ Jason Bloomberg.Čtyři pilíře rozvoje orientovaného na služby [Online]. Datum přístupu: 27. dubna 2010.
  3. ^ Možnosti služby
  4. ^ Thomas Erl.Představujeme návrhové vzory SOA [Online]. Datum přístupu: 5. dubna 2010.
  5. ^ Wajid Khattak.Refaktorování služby [Online]. Datum přístupu: 27. dubna 2010.
  6. ^ Návrhový vzor servisní fasády
  7. ^ Odpojený návrhový vzor smlouvy
  8. ^ Návrhový vzor centralizace smlouvy
  9. ^ Dennis Wisnosky.Zásady a vzorce na ministerstvu obrany USA [Online]. Datum přístupu: 28. dubna 2010.
  10. ^ 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.

externí odkazy