Condividi tramite


Considerazioni e problemi noti relativi all'Editor profili di rilevamento (TPE)

È necessario prendere in considerazione i seguenti problemi quando si utilizzano i profili di rilevamento e l'editor TPE.

Denominazione delle cartelle in TPE

Notare i seguenti requisiti di denominazione delle cartelle dell' Editor profili di rilevamento:

  • La lunghezza del nome cartella in combinazione con i valori dell'istanza degli elementi dati non deve superare i 128 caratteri.

  • Per le cartelle Continuation e ContinuationID, la denominazione della cartella è la chiave per correlare due orchestrazioni. Ad esempio, se A è l'orchestrazione padre dell'orchestrazione B, A contiene una cartella Continuation il cui nome viene associato direttamente alla cartella ContinuationID dell'orchestrazione B.

Sviluppo di orchestrazioni per TPE

Non è possibile associare un'orchestrazione a un'attività di business se inizia o termina con una forma non valida. Il motore di orchestrazione non consente il rilevamento di alcune forme, ovvero:

  • Assegnazione messaggio

  • Trasformazione

  • Gruppo (attività)

  • Sospendi

  • Ciclo (Fino a)

  • Ramo

  • Terminate

  • Throw

  • Genera (Catch)

  • Fino a

    Utilizzare le seguenti indicazioni al momento dell'associazione di attività di business in modo che l'Editor profili di rilevamento e altri strumenti BAM possano utilizzarla:

  • Per la forma Gruppo, utilizzare una forma Ambito non transazionale.

  • Per la forma Fino a, eseguirne il wrapping in una forma Ambito non transazionale.

  • Per le forme Termina, non vi è alcuna soluzione dal momento che l'evento finale di questa forma non si verifica mai in condizioni normali.

  • Non avviare o non terminare pianificazioni con forme per le quali non sono consentite operazioni di trascinamento.

Applicazione dei profili di rilevamento che eseguono il monitoraggio dei processi in esecuzione

L'aggiornamento di un profilo di rilevamento può influire su istanze di attività in corso, se nell'attività è inclusa una continuazione BAM. In particolar modo, se l'aggiornamento al profilo di rilevamento specifica un'intercettazione downstream dei dati per un elemento di attività già registrato, è possibile che il valore originale venga sovrascritto. In pratica nessun flusso di eventi singolo verrà influenzato dall'applicazione di aggiornamenti a un profilo di rilevamento, dal momento che ciascun oggetto flusso è legato alla versione specifica del profilo in vigore all'epoca dell'avvio dell'attività/del flusso. Tuttavia, poiché le continuazioni sono un mezzo di correlazione di flussi di eventi multipli, i flussi non ancora non avviati all'epoca dell'aggiornamento di un profilo acquisiranno le modifiche, rendendo possibile la sovrascrittura dei dati citata in precedenza. Per altre informazioni sulle continuazioni, vedere Continuazione attività e Come creare una continuazione.

Profili di rilevamento senza una forma Trasmissione o Ricezione da cui estrarre le proprietà dei messaggi

Le continuazioni tengono traccia delle attività attraverso le proprietà di contesto o i dati di payload uguali nell'ambito delle attività. Proprietà quali ID messaggio, ID servizio e ID istanza cambiano valore fra le attività.

È possibile creare i profili di rilevamento per gestire tale scenario utilizzando i seguenti metodi:

  • Se un'orchestrazione invia un messaggio attraverso un binding dinamico a un'altra orchestrazione, un valore di dati di payload univoco globale può essere utilizzato per la continuazione.

  • Se nel messaggio non vi sono dati di payload univoci, potrà essere utilizzato l'ID di interscambio del messaggio. Per utilizzare l'ID di interscambio, è necessario tenerne traccia nell'ambito della forma Ricezione. Non è possibile utilizzare l'ID di interscambio se si crea un nuovo messaggio dal momento che l'ID di interscambio viene modificato al momento della creazione del nuovo messaggio. Non è affidabile tenere traccia dell'ID di interscambio da forme diverse da Ricezione o Trasmissione.

  • È anche possibile utilizzare un ID messaggio purché venga utilizzato esattamente lo stesso messaggio ricevuto dalla pipeline nell'orchestrazione, vale a dire, la porta di orchestrazione viene associata a una pipeline e la forma Ricezione e l'ID messaggio vengono rilevati da quella posizione. Se si rileva l'ID messaggio da una forma diversa, non sarà possibile utilizzare l'ID messaggio nella continuazione.

  • Se un'orchestrazione chiama un'altra orchestrazione e non viene passato alcun messaggio o un'orchestrazione chiama un'altra orchestrazione, ma la chiamata non dispone di alcun costrutto, ricezione o invia forma in cui è possibile recuperare i valori dei dati del payload, l'utente può usare l'ID istanza. L'ID istanza per le orchestrazioni chiamate non cambia.

  • Se l'orchestrazione carica un'altra orchestrazione tramite una chiamata di esecuzione piuttosto che una chiamata diretta, non vi sarà modo di utilizzare le proprietà dei messaggi statici per tenere traccia dell'attività. L'utente non è in grado di attivare una continuazione. È possibile eseguire il rilevamento di questa istanza soltanto se un messaggio viene passato tramite la pipeline contenente dati di payload univoci su cui eseguire il rilevamento.

Non è possibile utilizzare un ID sessione come token di continuazione per pipeline di tipo pass-through.

In un profilo di rilevamento, quando si selezionano gli elementi da un payload di messaggio, il profilo di rilevamento viene associato allo schema del messaggio. In una pipeline di tipo pass-through, il valore del nome schema è un valore Null. Quando BAM tenta di caricare la configurazione in base al nome della porta o al nome dello schema non è in grado di creare una corrispondenza con lo schema ID sessione e, di conseguenza, non viene rilevato alcun dato dal motore.

Per le pipeline di tipo pass-through, è possibile rimuovere tutti i rilevamenti di payload dal profilo di rilevamento oppure utilizzare pipeline XML, qualora fosse necessario tenere traccia dei dati di payload.

Utilizzo di nomi di porta univoci

Durante l'enumerazione di porte bidire4zionali, l'editor TPE le visualizza come due porte logiche, una di trasmissione e una di ricezione. Ognuna di queste porte logiche viene visualizzata con lo stesso nome. BizTalk Server consente di creare porte unidirezionali e bidirezionali con lo stesso nome. È possibile creare, ad esempio, una porta bidirezionale denominata "Porta1"e creare quindi una porta di ricezione con lo stesso nome. In questi casi, nell'Editor profili di rilevamento la porta di ricezione viene visualizzata una volta e la porta bidirezionale viene visualizzata due volte, una volta come porta di ricezione e un'altra come porta di trasmissione.

In questo caso, l'editor TPE applicherà i profili di rilevamento a entrambe le porte di ricezione. È consigliabile che alle porte vengano assegnati nomi univoci per poterli più facilmente individuare correttamente.

Utilizzo di orchestrazioni TPE con una forma In parallelo come prima forma

Se si inizia un'orchestrazione con una forma Divisione, In parallelo o Ascolto, non sarà possibile associare un ID attività a uno di rami. È possibile associare l'ID attività sopra la forma Divisione nei casi di elaborazione parallela. È anche possibile consentire a BAM di generare l'ID attività per evitare il problema di una forma In parallelo nella parte superiore dell'orchestrazione.

Importante

Eseguire il mapping di un'attività a più di un percorso e il mapping dell'ID attività a un percorso della forma Divisione provoca un errore quando l'elaborazione punta a un percorso in cui l'ID attività non è stato associato.

Disponibilità della proprietà dei messaggi in fase di progettazione

Quando si creano i profili di rilevamento, non tutte le proprietà dei messaggi sono disponibili. Ciò è più probabile quando la forma in cui sono state associate le proprietà dei messaggi si trovi nella parte superiore dell'orchestrazione. In queste istanze, il valore delle proprietà dei messaggi è Null.

Ad esempio quando la forma Ascolto è la prima forma di un'orchestrazione. Quando le proprietà del messaggio vengono mappate da questa forma, solo le proprietà seguenti hanno valori: InstanceID, ServiceID e ServiceClassID. (MessageID non rientra in questo ambito e ha un valore Null).

Non è possibile associare delle forme all'interno della forma Ciclo per segnalare un'attività cardine

L'editor TPE blocca l'associazione delle origini contenute all'interno della forma Ciclo alle attività associate ad elementi esterni al ciclo stesso.

Il ciclo delle attività si riferisce al ciclo o alla ripetizione delle azioni nell'ambito di un'orchestrazione. È possibile acquisire gli eventi dal ciclo delle azioni nell'ambito dell'orchestrazione. A tal fine, è possibile creare un'attività e associare tutti i nuovi dati e le nuove attività cardine dell'attività all'interno del ciclo. Ciò è necessario perché l'elaborazione dei dati nel ciclo si verificherà più di volta per l'esecuzione pianificata.

Ad esempio, se si dispone di un ordine di acquisto con più voci elaborate in ciclo, domande tipo "quali ordini di acquisto hanno articoli con prezzo pari a 100 $?" sono ambigue. Le domande non ambigue sono:

Quali ordini di acquisto hanno articoli con prezzo pari a 100$?

Quali ordini di acquisto hanno articoli con prezzo Totale/Min/Max pari a 100$?

Per creare domande non ambigue è necessario pensare agli articoli come elementi separati dall'ordine di acquisto. Nell'Editor profili di rilevamento, l'attività principale, ad esempio un ordine di acquisto, viene associato a tutte le azioni all'esterno del ciclo. L'attività figlio, ad esempio una voce, viene associata alle azioni all'interno del ciclo.

L'approccio tipico per utilizzare questi tipi di costrutti consiste nello scomporre il ciclo ripetitivo e di avere un'attività correlata basata sull'attività interna a sua volta correlata a un'attività esterna.

È necessario utilizzare un elemento di payload come ActivityID per l'attività principale e avere a disposizione questo elemento di payload in alcuni dei messaggi all'interno del ciclo. Associare l'attività al nodo Relazione visualizzato nell'attività figlio e denominarla come l'attività principale.

Profili di rilevamento estesi su più applicazioni

Se si estende a più applicazioni, un profilo di rilevamento deve essere distribuito dopo che sono state distribuite tutte le applicazioni incluse nella soluzione. Se il profilo di rilevamento non è l'ultimo elemento distribuito, verrà visualizzato il messaggio seguente: "Mapping dell'origine non trovata".", quando la procedura guidata della distribuzione chiama BTTDeploy.exe.

Esecuzione del mapping di più elementi BizTalk Server a nodi MessageID o a Document Reference URL

L'editor TPE consente di trascinare più elementi BizTalk Server nello stesso nodo MessageID o Document Reference URL.

Nei casi in cui più origini vengono associate allo stesso elemento di un'attività BAM, l'ultimo elemento rilevato durante l'elaborazione BAM è l'elemento che viene conservato nei dati di rilevamento che viene visualizzato nel portale BAM.

Aggiornamento delle versioni BTT perché corrispondano alle versioni della soluzione BizTalk

Gli sviluppatori e gli amministratori BAM possono mantenere la sincronizzazione di versione tra profili di rilevamento e soluzioni BizTalk automatizzando l'aggiornamento del file BTT. A tale scopo, modificare l'attributo Version nell'elemento DataLevel del file BTT. Nel seguente elemento di esempio, sarà possibile modificare le informazioni relative alla versione nell'ambito degli attributi TargetAssemblyName e SchemaName.

<DataLevel Name="City" SourceTypeSelected="Messaging Payload" TargetAssemblyName="TheImplementationOfOrderMgmt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c5b33e44ffa4658b" SchemaName="TheImplementationOfOrderMgmt.PurchaseOrder,TheImplementationOfOrderMgmt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c5b33e44ffa4658b" SomXPath="/*[local-name()='<Schema>' and namespace-uri()='http://TheImplementationOfOrderMgmt.PurchaseOrder']/*[local-name()='PurchaseOrder' and namespace-uri()='http://TheImplementationOfOrderMgmt.PurchaseOrder']/*[local-name()='Header' and namespace-uri()='']/*[local-name()='ShipTo' and namespace-uri()='']/@*[local-name()='City' and namespace-uri()='']" XPath="/*[local-name()='PurchaseOrder' and namespace-uri()='http://TheImplementationOfOrderMgmt.PurchaseOrder']/*[local-name()='Header' and namespace-uri()='']/*[local-name()='ShipTo' and namespace-uri()='']/@*[local-name()='City' and namespace-uri()='']" IsBeginActivity="true" IsEndActivity="false">  

Alcune forme di orchestrazione non possono essere rilevate nell'ambito dell'editor TPE

Il motore di orchestrazione non genera eventi per le seguenti forme, che non possono essere quindi rilevate o associate nell'editor TPE:

  • Attività

  • Tutti i rami

  • Sospendi

  • Terminate

  • Throw

  • Genera (Catch)

  • MessageAssignment (perché fa parte della forma Costrutto)

  • Trasforma (perché fa parte della forma Costrutto)

  • Ciclo

L'Editor profili di rilevamento non recupera i profili di rilevamento distribuiti

Dopo un aggiornamento o una nuova distribuzione è possibile che il recupero di profili di rilevamento distribuiti risulti difficile. Ciò può dipendere da una mancata corrispondenza nel modo in cui il nome del server in cui è in esecuzione il database di gestione BizTalk è memorizzato nel Registro di sistema.

BizTalkMgmtDb viene scritto nel Registro di sistema durante la configurazione del gruppo. L'Editor profili di rilevamento utilizza questa voce per individuare il database di importazione primaria e per filtrare i profili di rilevamento.

Durante la configurazione è possibile immettere il nome server in diversi formati. Ad esempio:

  • mgmtsvr1316267,15001\inst

  • MGMTSVR1316267\inst,15001

    Quando utilizza la voce del Registro di sistema, l'Editor profili di rilevamento esegue un confronto tra stringhe di base. Per recuperare i profili di rilevamento distribuiti, è necessario controllare il server archiviato e i nomi di database e immetterli nella finestra di dialogo TpE Set Management Database .

Per determinare la sintassi dei nomi server e database e immetterla nel database di gestione BizTalk

  1. Aprire il BizTalk Server Custom Configuration Manager. Per informazioni sull'uso della Configuration Manager personalizzata, vedere Configurare BizTalk Server.

  2. Nel riquadro di spostamento selezionare Gruppo per aprire la pagina di configurazione del gruppo.

  3. Nella griglia Archivi dati osservare i formati del nome del server e del nome del database.

  4. Aprire il TPE e selezionare la voce di menu Strumenti .

  5. Selezionare la voce di menu Imposta database di gestione per aprire la finestra di dialogo Imposta database di gestione .

  6. Nella casella di testo SQL Server immettere il nome del server usato nel campo Nome server della griglia Archivi dati nella pagina Gruppo di Configuration Manager personalizzato.

  7. Nella casella di testo Nome database immettere il nome del database usato nel campo Nome database della griglia Archivi dati nella pagina Gruppo di Configuration Manager personalizzata.

  8. Fare clic sul pulsante OK per salvare le voci.

Vedere anche

Uso dell'Editor profili di rilevamento
Editor profili di rilevamento