Temat: Wzorzec maszyny stanowej
Mateusz Kurleto:
Jarek Żeliński:
na mój rozum:
- aktywnych procesów są góra raczej setki
Ale dokumentów posiadających swój stan już znacznie więcej. Jeśli weźmiesz pod uwagę np rozwiązanie dostarczane w SaaS to łatwo o kilka milionów rekordów. Weź pod uwagę JOINY jakie ORM zrobi na tablicach i masz system, którego wydajność zabija jego opłacalność:) Przerabiam to aktualnie na kilku projektach naraz:P
jakie joiny, status dokumentu jest jego atrybutem a nie linkiem do czegoś tam... (diagram klas WfMC pokazuje logikę a nie dziedzinę, to niestety znowu utożsamianie asocjacji z relacją ;P)
Dokument sobie leży w repozytoriom, jeden z jego atrybutów to jego status.
- statystyki (gdyby było ich dużo i były potrzebne) można odkładać osobno (hurtownia)
- najważniejsze :) optymalizuj to jest za wolne nie wszystko :) (nie słyszałem o jakichś kłopotach z wydajnością z wzorcem WfMC) za to słyszę przeklinanie na State machine użytym do workflow...
Dla pojedynczego podmiotu zakładając archiwizację spraw raczej nie:)
mamy różne "donosy"... :) dla doc-flow ok, dla przepływów pracy łączący więcej dokumentów są schody... klasycznym przykładem jest IBM Notes bazujący na state machine dla dokumentu.
- zwróć także uwagę, na to, że w tym wzorcu (WfMC) dane to tak naprawdę porządne repozytorium a nie agregat maszyny stanowej, tak jak czytam o implementacjach WfMC jest szybszy ... po trzecie pozwala na bardzo pomocne rozdzielenie repozytorium dokumentów od motora workflow...
Można to zrobić także na kilka innych sposobów zachowując to rozdzielenie. Ja natomiast nie koniecznie uważam, że wszystko należy tak bardzo dzielić:)
wszystko nie ale ja dzielę to co "w życiu też jest podzielone"... :), po drugie model WfMC jest kompatybilny np. z BPMN (XPDL) więc można diagramy BPMN mapować bezpośrednio na motor workflow oparty na XPDL.
WfMC to nie jedynie słuszny wzorzec, po protu ma wiele zalet ;) w stosunku do State Machine jeżeli mowa o dokumentach biznesowych.
Jarek Żeliński edytował(a) ten post dnia 23.01.12 o godzinie 17:50