Rodzina pojęć 03 · zmiana między modułami

Rozszerzalność, zdarzenia i kontrakty workflow Open Mercato

Zachowanie między modułami powinno przechodzić przez zadeklarowany kontrakt zamiast importu wnętrza innego modułu. UMES obejmuje powierzchnie UI, API, odpowiedzi, komend, guardów i linków encji; typowane zdarzenia oraz trwali subskrybenci przenoszą reakcje; workflow koordynują dłuższe procesy i kompensację. Każdy mechanizm ma inny model czasu oraz awarii.

Powierzchnia rozszerzeń tworzy kontrakt, ale nie usuwa pracy nad wersjonowaniem, brakiem modułu, timeoutami ani kompensacją.

Migawka źródeł:

ae856df1ecfc · sekcje ARCHITECTURE.md: 11, 12, 13, 24

Pozycja w systemie

Ta rodzina przekracza granice modułów, a następnie przekazuje trwałe reakcje zdarzeniom, kolejkom lub workflow. Nie obejmuje operacji providerów ani dopasowania workflow do konkretnego projektu.

Kompozycja, wstrzyknięcie, reakcja albo orkiestracja

Zmiany na własnej stronie są komponowane bezpośrednio; inny moduł używa stabilnej powierzchni UMES; reakcje korzystają ze zdarzeń; stan procesu wieloetapowego należy do workflow.

Kompozycja, wstrzyknięcie, reakcja albo orkiestracjaZmiany na własnej stronie są komponowane bezpośrednio; inny moduł używa stabilnej powierzchni UMES; reakcje korzystają ze zdarzeń; stan procesu wieloetapowego należy do workflow.
01

UMES udostępnia wstrzykiwanie widgetów, nadpisania komponentów, interceptory, enrichery, guardy, hooki komend i linki encji do rozszerzeń między modułami.

oss-core

02

Moduły deklarują typowane zdarzenia i rejestrują konfiguracje, zanim event bus uruchomi subskrybentów.

infrastructure-package

03

Pakiet zdarzeń obsługuje dostarczanie w pamięci, wildcard handlers, trwałych subskrybentów i mosty do przeglądarki konfigurowane metadanymi zdarzeń.

infrastructure-package

04

Workflow definiowane w kodzie składają typowane kroki i mogą koordynować akceptacje, sygnały, aktywności asynchroniczne oraz kompensację.

oss-core

Od zdarzenia do trwałego efektu

Wybór sposobu dostarczenia decyduje, czy awaria jest natychmiastowa, best-effort, ponawialna czy kompensowana.

  1. Moduł deklaruje typowany kontrakt zdarzenia.

    product-factoss-core

  2. Event bus uruchamia pasujące handlery w pamięci.

    product-factoss-core

  3. Trwali subskrybenci przekraczają granicę kolejki dla pracy ponawialnej.

    product-factoss-core

  4. Worker musi być idempotentny i obserwowany w przypadku awarii oraz ponowień.

    documented-conventionoss-core

Kontrakty rozszerzeń i odpowiedzialność za awarie

Kontrakty rozszerzeń i odpowiedzialność za awarie
MechanizmWniosek redakcyjnyOgraniczenieWłaściciel decyzji
UMES udostępnia wstrzykiwanie widgetów, nadpisania komponentów, interceptory, enrichery, guardy, hooki komend i linki encji do rozszerzeń między modułami.Traktuj jako kontrakt w zakresie „oss-core” i osobno potwierdź dopasowanie do projektu.Ten element jest opcjonalny lub wymaga osobnej konfiguracji, dlatego nie należy przedstawiać go jako zawsze włączonego.Właściciel modułu i workflow
Moduły deklarują typowane zdarzenia i rejestrują konfiguracje, zanim event bus uruchomi subskrybentów.Traktuj jako kontrakt w zakresie „infrastructure-package” i osobno potwierdź dopasowanie do projektu.Sam mechanizm nie dowodzi wydajności, bezpieczeństwa, dostępności, zgodności ani gotowości produkcyjnej konkretnego wdrożenia.Właściciel modułu i workflow
Pakiet zdarzeń obsługuje dostarczanie w pamięci, wildcard handlers, trwałych subskrybentów i mosty do przeglądarki konfigurowane metadanymi zdarzeń.Traktuj jako kontrakt w zakresie „infrastructure-package” i osobno potwierdź dopasowanie do projektu.Ten element jest opcjonalny lub wymaga osobnej konfiguracji, dlatego nie należy przedstawiać go jako zawsze włączonego.Właściciel modułu i workflow
Workflow definiowane w kodzie składają typowane kroki i mogą koordynować akceptacje, sygnały, aktywności asynchroniczne oraz kompensację.Traktuj jako kontrakt w zakresie „oss-core” i osobno potwierdź dopasowanie do projektu.Ten element jest opcjonalny lub wymaga osobnej konfiguracji, dlatego nie należy przedstawiać go jako zawsze włączonego.Właściciel modułu i workflow

Footguns i tryby awarii

Pakiet zdarzeń obsługuje dostarczanie w pamięci, wildcard handlers, trwałych subskrybentów i mosty do przeglądarki konfigurowane metadanymi zdarzeń.

Ten element jest opcjonalny lub wymaga osobnej konfiguracji, dlatego nie należy przedstawiać go jako zawsze włączonego.

Sprawdź przypięte źródło

Workflow definiowane w kodzie składają typowane kroki i mogą koordynować akceptacje, sygnały, aktywności asynchroniczne oraz kompensację.

Ten element jest opcjonalny lub wymaga osobnej konfiguracji, dlatego nie należy przedstawiać go jako zawsze włączonego.

Sprawdź przypięte źródło
Źródła i metoda · 8 rekordów dowodowych

Każdy fakt, węzeł, połączenie i krok przebiegu ma stabilny identyfikator, klasę twierdzenia, lokalizator źródła, zakres, ograniczenie oraz przypiętą wersję. Lokalny skrypt sprawdza istnienie każdego pliku i lokalizatora oraz pokrycie sekcji 1–33 dokładnie raz.

  • UMES udostępnia wstrzykiwanie widgetów, nadpisania komponentów, interceptory, enrichery, guardy, hooki komend i linki encji do rozszerzeń między modułami.

    ID
    section-11-umes
    Klasa
    product-fact
    Zakres
    oss-core
    Źródło
    apps/docs/docs/framework/extensibility/current-surfaces.mdx · ## API and mutation extension
  • Moduły deklarują typowane zdarzenia i rejestrują konfiguracje, zanim event bus uruchomi subskrybentów.

    ID
    section-12-events
    Klasa
    product-fact
    Zakres
    infrastructure-package
    Źródło
    packages/shared/src/modules/events/factory.ts · export function createModuleEvents
  • Pakiet zdarzeń obsługuje dostarczanie w pamięci, wildcard handlers, trwałych subskrybentów i mosty do przeglądarki konfigurowane metadanymi zdarzeń.

    ID
    section-13-realtime
    Klasa
    product-fact
    Zakres
    infrastructure-package
    Źródło
    packages/events/src/bus.ts · export function createEventBus
  • Workflow definiowane w kodzie składają typowane kroki i mogą koordynować akceptacje, sygnały, aktywności asynchroniczne oraz kompensację.

    ID
    section-24-workflows
    Klasa
    product-fact
    Zakres
    oss-core
    Źródło
    packages/shared/src/modules/workflows/builder.ts · export function defineWorkflow
  • Moduł deklaruje typowany kontrakt zdarzenia.

    ID
    flow-event-declare
    Klasa
    product-fact
    Zakres
    oss-core
    Źródło
    packages/shared/src/modules/events/factory.ts · export function createModuleEvents
  • Event bus uruchamia pasujące handlery w pamięci.

    ID
    flow-event-emit
    Klasa
    product-fact
    Zakres
    oss-core
    Źródło
    packages/events/src/bus.ts · export function createEventBus
  • Trwali subskrybenci przekraczają granicę kolejki dla pracy ponawialnej.

    ID
    flow-event-persist
    Klasa
    product-fact
    Zakres
    oss-core
    Źródło
    packages/events/src/bus.ts · persistentSubscribers
  • Worker musi być idempotentny i obserwowany w przypadku awarii oraz ponowień.

    ID
    flow-event-operate
    Klasa
    documented-convention
    Zakres
    oss-core
    Źródło
    ARCHITECTURE.md · ## 19. Queue and Background Jobs