Kanonický vzor schématu - Canonical schema pattern - Wikipedia

v softwarové inženýrství, Kanonické schéma je návrhový vzor, aplikované v rámci orientace na služby paradigma designu, jehož cílem je snížit potřebu výkonu datový model [1] transformace při službách[2] vyměňovat si zprávy odkazující na stejný datový model.[3]

Odůvodnění

Interakce mezi službami často vyžaduje výměnu obchodních dokumentů. Aby mohl zákazník služby odeslat data (týkající se konkrétního obchodního subjektu, např. Nákupní objednávky), potřebuje znát strukturu dat, tj. Datový model. Za tímto účelem poskytovatel služeb publikuje strukturu dat, která očekává v rámci příchozí zprávy od spotřebitele služby. V případě, že jsou služby implementovány jako webové služby,[4] toto by byl dokument schématu XML. Jakmile zákazník služby zná požadovaný datový model, může podle toho strukturovat data. Za určitých podmínek je však možné, že spotřebitel služeb již vlastní požadovaná data, která se vztahují ke konkrétnímu obchodnímu dokumentu, ale data neodpovídají datovému modelu, jak je specifikuje poskytovatel služby. Tento rozdíl mezi datovými modely vede k požadavku na transformaci datového modelu tak, aby se zpráva transformovala do požadované struktury podle pokynů poskytovatele služeb. Na základě výše uvedeného příkladu je zcela možné, že po zpracování přijatého obchodního dokumentu poskytovatel služeb odešle zpět zpracovaný dokument spotřebiteli služby, který znovu provede transformaci datového modelu a převede zpracovaný obchodní dokument zpět na datový model. které v rámci své logiky používá k reprezentaci obchodního dokumentu.
Tato transformace datového modelu za běhu přidává režii zpracování a komplikuje návrh složení služeb.[5] Aby se zabránilo potřebě transformace datového modelu, diktuje vzor Canonical Schema použití standardizovaných datových modelů pro ty obchodní dokumenty, které jsou běžně zpracovávány službami v inventáři služeb.[6][7]

Používání

Diagram A
Diagram A
Služba A používá jiný datový model ve srovnání se službou B pro stejný obchodní dokument. Při výměně zpráv je třeba provést transformaci datového modelu za běhu.
Diagram B
Diagram B
Obě služby používají ke znázornění konkrétního obchodního dokumentu stejný datový model. Výsledkem je, že při výměně zpráv není nutná žádná transformace datového modelu.

Tento návrhový vzor je plně podporován aplikací Standardizovaná servisní smlouva princip návrhu. Princip návrhu standardizované servisní smlouvy prosazuje, aby servisní smlouvy byly založeny na standardizovaných datových modelech. Toho je dosaženo provedením analýzy plánu inventáře služeb[8] za účelem zjištění běžně se vyskytujících obchodních dokumentů, které jsou vyměňovány mezi službami. Tyto obchodní dokumenty jsou poté modelovány standardizovaným způsobem. Například v případě webových služeb jsou obchodní dokumenty modelovány jako schémata XML. Jakmile v inventáři služeb existuje standardizovaná vrstva reprezentace dat, mohou různé smlouvy o službách využívat stejné datové modely, pokud si potřebují vyměnit stejné obchodní dokumenty. To eliminuje potřebu jakékoli transformace datového modelu a snižuje režii zpracování spojenou s transformací datového modelu. Zvyšuje také potenciál opětovného použití služby, protože službu lze nyní spotřebovat bez nutnosti jakékoli vlastní logiky transformace datového modelu. Svým způsobem aplikace vzoru kanonického schématu snižuje potřebu aplikace transformace datového modelu[9] návrhový vzor.

Úvahy

Použití tohoto návrhového vzoru vyžaduje konstrukční standardy[10] v místě, kde je používání standardizovaných datových modelů povinné, protože pouhé vytvoření datových modelů nezaručuje jejich použití.[11] I když je to v zásadě jednoduché, ale obtížně vymahatelné, protože to vyžaduje angažovanost různých projektových týmů, což může vyžadovat další úsilí, na straně každého týmu, pokud jde o navrhování řešení, která vyhoví standardizovaným datovým modelům.
Při některých příležitostech, buď kvůli samotné velikosti organizace, nebo kvůli odporu různých segmentů podniku, bude pravděpodobně nutné použít návrhový vzor Canonical Schema v rámci konkrétního inventáře domény vytvořeného aplikací Inventář domén návrhový vzor.[7]
Schémata musí být navržena samostatně než návrh smlouvy o službě, aby mezi nimi nebyla závislost.[11]

Viz také

Reference

  1. ^ Struktura dat, např. v databázi je struktura dat obsažených v tabulce reprezentována schématem tabulky. V případě XML založené dokumenty, odpovídající dokument schématu XML obsahuje strukturu dokumentu XML.
  2. ^ „Služby“. Archivovány od originál dne 2012-05-01. Citováno 2010-03-17.
  3. ^ Mauro. et al. Integrace zařízení zaměřená na služby - analýza návrhových vzorů SOA. Archivováno 2010-03-28 na Wayback Machine [Online], s. 1-10, 2010 43. Havajská mezinárodní konference o systémových vědách, 2010. Datum přístupu: 30. dubna 2010.
  4. ^ Službu lze implementovat pomocí jakékoli technologie, pokud je v souladu s orientace na služby pokyny.
  5. ^ "Složení služeb". Archivovány od originál dne 11.03.2010. Citováno 2010-03-17.
  6. ^ „inventář služeb“. Archivovány od originál dne 13. 3. 2010. Citováno 2010-03-17.
  7. ^ A b Thomas Erl, Herbjörn Wilhelmsen.Kanonický návrhový vzor schématu [Online]. Datum přístupu: 8. dubna 2010.
  8. ^ „Plán inventáře služeb“. Archivovány od originál dne 2010-05-11. Citováno 2010-03-17.
  9. ^ „Transformace datového modelu“. Archivovány od originál dne 2013-02-13. Citováno 2010-03-17.
  10. ^ "designové standardy". Archivovány od originál dne 17.03.2010. Citováno 2010-03-17.
  11. ^ A b Eben Hewitt.Kuchařská kniha Java SOA[trvalý mrtvý odkaz ][Online] .pp 50. Datum přístupu: 25. dubna 2010.

externí odkazy