In un sistema di tipi ESB, quale nome di campo dovrebbe essere usato come "ID di correlazione"?

1

Utilizziamo API Web ASP.NET e Service Bus di Azure e aggiungiamo la registrazione ai nostri servizi e sistemi diversi. È necessario tenere traccia di un ID di correlazione per le intestazioni di ciascun set di messaggi bus e per i registri relativi a un singolo flusso di lavoro / sequenza aziendale insieme. Sto solo cercando di capire cosa dovrebbe essere chiamato. Quindi fondamentalmente lega insieme i registri di un singolo processo aziendale colpendo più server. Il creatore delle specifiche utilizzate "EventID". Nei progetti precedenti ho visto "RequestId", "SessionId", "ContextId", e suppongo che potremmo usare anche "WorkflowId", "ActivityId", "CorrelationId", ecc.

Più specificamente, poiché altrimenti sarebbe una chiamata completamente soggettiva, esiste uno standard di settore noto e pubblicato che richiama una convenzione per come chiamare questa cosa?

La mia domanda deriva dall'ignoranza sulla convenzione ESB e penso che forse c'è un nome di intestazione convenzionale usato per questo scopo.

    
posta stimpy77 24.05.2016 - 21:34
fonte

3 risposte

1

Mi piace andare con CorrelationID, se non altro perché ho imparato il concetto da NServiceBus.

Ma il miglior nome possibile per la tua squadra da usare è quello che la squadra probabilmente chiamerà il concetto quando parlano tra loro (linguaggio ubiquo e tutto il resto). Il caso peggiore sarebbe se lo chiamassi "CorrelationID" ( ad esempio) nel codice, ma il team ha deciso di chiamarlo "WorkflowID".

Scegli qualcosa su cui tutti possono stabilirsi, e la squadra vince.

    
risposta data 15.02.2017 - 22:42
fonte
1

Se esamini il link la raccomandazione è CorrelationId . Se il tuo processo logico è associato a RequestId e la richiesta è qualcosa a cui ti riferisci allora sai come usare.

Il mio consiglio è che la tua squadra debba scegliere un nome che sia:

  1. Descrivere esattamente quali sono le informazioni in quel campo
  2. è compreso da tutti gli sviluppatori durante la vita del software (così come dopo 5y da ora) allo stesso modo.
  3. Sarebbe bello che il nome che hai deciso di utilizzare sia lo standard del settore. Questo aiuterà i manutentori in futuro
risposta data 18.03.2017 - 07:00
fonte
0

Ho sempre usato CorrelationID. Non so come l'ho inventato, ma l'ho visto in giro da qualche altra parte da quando ho iniziato con esso (e ... eccolo di nuovo!)

Ha senso per me ... implica che questo è correlato a qualcosa, ma potrebbe essere un numero di cose, quindi ha un nome generico.

Questo mi dice praticamente tutto ciò che devo sapere.

    
risposta data 17.03.2017 - 23:46
fonte

Leggi altre domande sui tag