TS-004 — Regola di business elusa via WCF/integrazione
Sintomi
- Dati incoerenti creati "aggirando" un controllo presente nella UI (es. doppia prenotazione, richiesta senza validazione obbligatoria, lettura energia fuori sequenza).
- L'anomalia si presenta solo quando l'operazione arriva da WCF / integrazione / import, non dalla UI interattiva.
Componenti coinvolti
Entry-point BL condivisi (Request.Create, SaveBuilding, Book*, NRG_*) invocati sia dalla UI sia dai
canali *.svc (WCF) e dagli EntityLayer<Cliente>/EXELoaders. Vedi TD-006 e
Regole di business.
Cause probabili
Regole di validazione applicate solo nel code-behind della UI (27 casi rilevati) e non ripetute nell'entry-point BL/WCF condiviso → i canali non-UI le saltano. Esempi confermati:
BR-BOOK-003(anti-sovrapposizione prenotazioni) bypassata dal canale WCFBR-BOOK-021.BR-ENE-003(guardia data/valore) assente sul canale WCF (BR-ENE-018).BR-REQ-007(validazione create) non ripetuta inRequest.Create.
Query diagnostiche (read-only)
-- prenotazioni sovrapposte per la stessa entità/intervallo (adattare colonne)
SELECT ID_ENTITY, START_DATE, END_DATE, COUNT(*)
FROM INFOCAD_TEST38.BOOK_SCHEDULE
GROUP BY ID_ENTITY, START_DATE, END_DATE HAVING COUNT(*) > 1;
Procedura diagnostica
- Determinare il canale di origine del dato anomalo (UI vs WCF/loader) dai log/audit.
- Confrontare la regola attesa (pagina
BR-*) col punto di enforcement effettivo (UI/BL/DB). - Confermare se la regola è marcata solo-UI nel register.
Risoluzione
Rilievo di debito/architettura: la correzione (spostare la validazione nell'entry-point condiviso o a DB) è a cura del team. La documentazione non modifica il codice.
Escalation
Team architettura/applicativo — triage dei reperti TD-006.
Evidenza
TD-006; BR-BOOK-003/BR-BOOK-021, BR-ENE-003/BR-ENE-018, BR-REQ-007 in Regole di business.