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
Odpowiedź bezpośrednia
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.
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
→Moduły deklarują typowane zdarzenia i rejestrują konfiguracje, zanim event bus uruchomi subskrybentów.
infrastructure-package
→Pakiet zdarzeń obsługuje dostarczanie w pamięci, wildcard handlers, trwałych subskrybentów i mosty do przeglądarki konfigurowane metadanymi zdarzeń.
infrastructure-package
→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.
Moduł deklaruje typowany kontrakt zdarzenia.
product-factoss-core
Event bus uruchamia pasujące handlery w pamięci.
product-factoss-core
Trwali subskrybenci przekraczają granicę kolejki dla pracy ponawialnej.
product-factoss-core
Worker musi być idempotentny i obserwowany w przypadku awarii oraz ponowień.
documented-conventionoss-core
Kontrakty rozszerzeń i odpowiedzialność za awarie
| Mechanizm | Wniosek redakcyjny | Ograniczenie | Wł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łoWorkflow 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