Vrstva aplikační logiky

Základem pro vývoj aplikační logiky je Domain driven design. Umožňuje soustředit se na business podstatu problému a ne na její technologickou implementaci. CodePlant poskytuje pro implementaci doménového přístupu sadu business komponent (abstrakcí):

  • Entity pro datovou reprezentaci.
  • Operace jako základ procesní logiky.
  • Workflow procesy.
  • Agent / Service pattern pro víceúrovňovou komunikaci mezi komponentami aplikace.

Entita

Entita reprezentuje datovou abstrakci. Může obsahovat jednoduchá aplikační pravidla typicky zaměřené na integritní omezení entity. Je jednoznačně identifikovaná svým klíčem a má vlastnosti, které můžou být validovány v okamžiku přiřazení hodnoty. Podporovány jsou vztahy na další entity a varianty dědičnosti. Umí se serializovat a deserializovat pro potřeby integrace a datových přenosů.


Operace

Operace reprezentují základní jednotku procesní logiky. Pracují nad daty jedné nebo více entity, provádí potřebné transformace, kalkulace a následné persistenci změněných a vytvořených entit. Reprezentují základní transakční jednotku s podporou vnořování. Můžou obsahovat jednoduchá data, reprezentující parametry operace.


Procesy (workflow)

Workflow proces je dlouhotrvající sada akcí nebo činností, která můžou následovat v definovaném pořadí. Služby workflow v průběhu průchodu workflow procesu poskytují notifikace jednotlivým účastníkům v definovaných rolích.

Podpora workflow procesu je realizována pomocí integrace platformy Windows Workflow Foundation.


Agent-Service Pattern

Entity i operace jsou implementovány s důrazem na rozdělení částí použitých v prostředí klienta (agent) a serveru (service). Veřejné metody, které jsou používány na klientovi, se interně rozhodují dle aktuální konfigurace aplikační topologie, zda se má daná metoda vykonat v procesu klienta (2vrstvá topologie), nebo dojde k serializaci parametrů metody a provedení akce v procesu serveru (3- vrstvá topologie). Service je bezstavový a zapouzdřuje hranice fyzické transakce.


Služby vrstvy aplikační logiky

Pro efektivní využití business komponent poskytuje CodePlant sadu služeb:

  • O-R mapping.
  • Persistence a materializace entit s podporu dědičnosti a vztahů.
  • Objektový dotazovací jazyk.
  • Mobilní business objekty, transparentní přenos mezi aplikačními vrstvami.