Condividi tramite


Cenni preliminari sul processo di sincronizzazione per l'integrazione TFS-Project Server

È possibile gestire più efficacemente l'integrazione di Visual Studio Team Foundation Server 2013 e Microsoft Project Server se si comprende come il motore di sincronizzazione gestisce il flusso di dati tra i due prodotti server. Il motore di sincronizzazione supporta i flussi di lavoro indipendenti di project manager che usano Project Professional e di responsabili di team e membri di team che operano in Team Foundation. I risultati finali e le attività possono evolvere in modo indipendente in ciascuna area.

In questo argomento

  • Tre tipi di sincronizzazione

  • Dati soggetti a sincronizzazione

  • Convalida dei dati eseguita durante gli aggiornamenti e all'invio

  • Campi mirror e "due set di valori possibili"

  • Autorizzazioni necessarie per supportare la sincronizzazione

  • Notifica degli errori, registrazione degli eventi e tracciabilità

Tre tipi di sincronizzazione

Il motore di sincronizzazione esegue tre tipi di sincronizzazione. Questo processo acquisisce e aggiorna i dati correlati alle attività e alle risorse sia in TFS che in Project Server rispettando la proprietà dei dati del project manager nel piano del progetto. I project manager apportano modifiche usando Microsoft Project Professional e approvano gli aggiornamenti tramite Project Web Access o Project Web App (PWA). I membri del team di sviluppo inviano aggiornamenti a Project Server tramite un client di Team Foundation.

Come mostrato nella figura seguente, la sincronizzazione dei dati è costituita da sette passaggi principali.

Processo di sincronizzazione per l'integrazione di Team Foundation Server e Project Server

Processo di sincronizzazione PS-TFS

Il motore di sincronizzazione è costituito da un singolo servizio processo che viene eseguito in base a una pianificazione regolare e non quando viene aggiornato ogni elemento di lavoro. Il processo di sincronizzazione esegue i tre processi seguenti nell'ordine indicato:

Sincronizzazione della pubblicazione

Passaggio 1   Un project manager definisce o aggiorna le attività o i risultati finali e imposta il valore Pubblica in progetto team su per ogni attività da sincronizzare.

Passaggio 2Il project manager pubblica il piano del progetto dell'organizzazione con Microsoft Project Professional. Le modifiche vengono salvate automaticamente nel database di Project Server.

Passaggio 3Il motore di sincronizzazione estrae i dati da Project Server e determina quali di essi aggiornare in base ai dati configurati per la sincronizzazione. Vengono aggiornati solo gli oggetti, le attività e gli elementi di lavoro configurati per la sincronizzazione.

Passaggio 4   Il motore di sincronizzazione crea o aggiorna gli elementi di lavoro in Team Foundation e definisce un collegamento che associa l'attività in Project all'elemento di lavoro in Team Foundation.

Sincronizzazione dello stato

Passaggio 5Un responsabile del team o un membro del team modifica un elemento di lavoro in Team Foundation collegato a un'attività in un progetto dell'organizzazione o crea un elemento di lavoro e imposta il valore Invia a Project Server su . Il motore di sincronizzazione esegue una query sulle modifiche apportate per i progetti team mappati e invia le richieste alla coda o alle code di approvazione in Project Web Access o Project Web App (PWA).

Sincronizzazione dell'approvazione

Passaggio 6   Ogni project manager rivede la propria coda di approvazione e approva o rifiuta ciascuna richiesta di aggiornamento di stato.

Una volta approvati gli aggiornamenti, il project manager deve pubblicare il piano del progetto affinché gli aggiornamenti vengano visualizzati in Project Server.

Importante

Se il motore di sincronizzazione invia più livelli di elementi di lavoro a Project Server, è necessario che il primo livello venga approvato e pubblicato in Project Server per poter inviare il livello successivo.È ad esempio possibile inviare un batch di nuovi elementi di lavoro che include tre livelli di elementi figlio.In questo caso, il project manager deve pubblicare il piano del progetto quattro volte per sincronizzare tutti gli elementi di lavoro con Project Server.

Passaggio 7   Il gestore eventi per le approvazioni in Project Server trasmette le decisioni di approvazione al motore di sincronizzazione, che quindi aggiorna gli elementi di lavoro in Team Foundation Server in base allo stato di approvazione.

Torna all'inizio

Gestione di approvazioni e rifiuti

Tutte le modifiche agli elementi di lavoro collegati a Project Server devono essere inviate per l'approvazione al project manager del piano del progetto dell'organizzazione mappato al progetto team. È possibile configurare l'approvazione automatica in modo che tutti gli aggiornamenti di Team Foundation vengano approvati automaticamente. Per altre informazioni, vedere Approvazione o rifiuto degli aggiornamenti delle attività.

Gli elementi di lavoro approvati vengono in genere sottoposti a rollback nel piano del progetto dell'organizzazione. Gli elementi di lavoro rifiutati richiedono la risoluzione e un nuovo invio.

Per gli aggiornamenti rifiutati, viene visualizzato un messaggio nel campo Cronologia dell'elemento di lavoro. Il messaggio indica il valore rifiutato e chi lo ha rifiutato. Per i progetti team mappati ai piani del progetto ospitati in Project Server 2010, il messaggio contiene anche gli eventuali commenti forniti dal project manager relativamente alle cause del rifiuto dell'elemento. I membri del team devono risolvere le differenze nell'elemento di lavoro e inviarlo nuovamente oppure rimuoverlo in modo che non venga inviato al progetto dell'organizzazione. Inoltre, i membri del team possono creare una query elemento di lavoro per trovare tutti gli elementi rifiutati in base allo Stato ultimo invio di Project Server. Per altre informazioni, vedere Monitorare gli invii di elementi di lavoro e risolvere i rifiuti.

Intervallo tra i tentativi di sincronizzazione

La sincronizzazione dei dati avviene in base a una pianificazione e non quando viene aggiornato ciascun elemento di lavoro. Il servizio processo di sincronizzazione viene eseguito ogni 30 secondi. Durante tale intervallo di tempo viene eseguita una query per individuare gli elementi di lavoro e i campi pertinenti che sono stati modificati in Project Server o Team Foundation Server oppure approvati dal project manager.

Ogni ora il motore di sincronizzazione reinvia gli elementi di lavoro per cui precedentemente si è verificato un problema di aggiornamento. Per altre informazioni, vedere Modificare l'intervallo tra i tentativi di sincronizzazione e i reinvii.

Torna all'inizio

Dati soggetti a sincronizzazione

Due livelli della configurazione determinano quali oggetti possono partecipare alla sincronizzazione e quali dati vengono sincronizzati. Gli amministratori di Team Foundation eseguono diversi livelli di mapping per configurare gli oggetti che possono partecipare alla sincronizzazione. Al secondo livello, i project manager e gli utenti di Team Foundation controllano quali attività ed elementi di lavoro specifici vengono sincronizzati.

Torna all'inizio

Oggetti che vengono configurati per partecipare alla sincronizzazione

Le configurazioni seguenti determinano quali oggetti partecipano al processo di sincronizzazione. Generalmente gli amministratori di Team Foundation eseguono queste configurazioni. Tuttavia, anche i project manager possono mappare i piani del progetto dell'organizzazione ai progetti team.

  • Istanza di PWA mappata a una raccolta di progetti team: questo mapping configura la raccolta di progetti team in modo da supportare la sincronizzazione e determina quali istanze di PWA possono essere sincronizzate con una raccolta.

  • Piano del progetto dell'organizzazione mappato a un progetto team: questo mapping configura il piano del progetto dell'organizzazione e il progetto team in modo che possano partecipare alla sincronizzazione. Questo mapping determina inoltre quali progetti dell'organizzazione possono essere sincronizzati con un progetto team.

  • Tipi di elementi di lavoro mappati per la sincronizzazione: quando si mappa un piano del progetto dell'organizzazione a un progetto team, è possibile specificare i tipi di elementi di lavoro da sincronizzare. Questo mapping aggiunge la scheda Project Server al form dell'elemento di lavoro e aggiunge le regole di convalida per ciascun tipo di elemento di lavoro al piano del progetto dell'organizzazione.

  • Campi degli elementi di lavoro mappati a campi di Project Server: per impostazione predefinita, il motore di sincronizzazione sincronizza i seguenti campi in Team Foundation: Titolo, Assegnato a, Lavoro completato, Lavoro rimanente, Stima originale, Data di inizio e Data di fine. È possibile aggiungere altri campi e impostare i parametri che determinano la modalità di sincronizzazione dei campi. Ad esempio, è possibile determinare quali campi vengono visualizzati nel form dell'elemento di lavoro e se consentire valori separati per un campo specifico.

Per altre informazioni, vedere Eseguire il mapping dei componenti di Project Server ai componenti di Team Foundation e Specificare i tipi di elementi di lavoro da sincronizzare.

Singole attività ed elementi di lavoro configurati per la sincronizzazione

I project manager determinano le attività in un piano del progetto dell'organizzazione da pubblicare in TFS. I membri del team determinano gli elementi di lavoro in un progetto team da inviare a Project Server. I project manager possono pubblicare le suddivisioni dettagliate dei risultati finali e delle attività in TFS o pubblicare e gestire solo gli elementi di attività di riepilogo. Alla pubblicazione di attività subordinate o elementi di lavoro padre-figlio vengono applicate alcune restrizioni, come descritto in Convalida dei dati eseguita durante gli aggiornamenti e all'invio più avanti in questo argomento.

Per altre informazioni, vedere Gestire i dettagli di progetto in un piano del progetto dell'organizzazione mappato a un progetto team e Pianificazione dall'alto verso il basso dei requisiti aziendali in un piano del progetto dell'organizzazione mappato a un progetto team.

Nota

È possibile mappare più piani del progetto dell'organizzazione a un solo progetto team, ma è possibile mappare o collegare una sola attività di un piano del progetto a un elemento di lavoro in Team Foundation.Ogni attività in un piano del progetto dell'organizzazione è distinta in Project Server.Le attività inviate a Project Server aggiornano solo un elemento di lavoro in Team Foundation.Inoltre, gli elementi di lavoro creati in Team Foundation e inviati a Project Server aggiornano solo un piano del progetto dell'organizzazione.

Convalida dei dati eseguita durante gli aggiornamenti e all'invio

Il processo di sincronizzazione convalida le attività e gli elementi di lavoro contrassegnati per la sincronizzazione prima che vengano pubblicati in Project Server. La convalida dei dati viene applicata sia nel piano del progetto dell'organizzazione che nel progetto team.

Quando i project manager pubblicano un piano del progetto dell'organizzazione

Quando un project manager che usa Project Professional pubblica un piano del progetto dell'organizzazione mappato a un progetto team, vengono eseguiti alcuni controlli di convalida specifici. Il componente aggiuntivo Team Foundation effettua i controlli di convalida seguenti sulle attività impostate per la pubblicazione in Team Foundation (ovvero, Pubblica in progetto team=Sì):

  • Il valore impostato per il campo Tipo di elemento di lavoro deve corrispondere a un tipo di elemento di lavoro configurato per partecipare alla sincronizzazione per il progetto team di destinazione.

    Importante

    Testo30 è il campo di Project predefinito associato alla colonna Tipo di elemento di lavoro usata nella sincronizzazione delle attività con gli elementi di lavoro.Se si connette il piano del progetto a Team Foundation Server usando l'opzione Scegli progetto Team nel menu della barra multifunzione Team, diventa disponibile un campo di Project aggiuntivo denominato Tipo di elemento di lavoro.Questo campo, con un campo predefinito di Project di tipo Testo24, supporta il mapping di piani del progetto associati a Team Foundation, ma non supporta la sincronizzazione dei piani.Il campo basato su Testo24 include l'elenco completo dei tipi di elemento di lavoro per il progetto team.Per assicurarsi che sia disponibile il campo corretto, selezionarlo e verificare che sia visualizzato Testo30.

  • Tutti i valori dei campi di Project mappati devono superare controlli specifici per verificare che non violino una regola impostata per il tipo di elemento di lavoro di destinazione. Tali regole vengono aggiunte al piano del progetto dell'organizzazione quando quest'ultimo viene mappato a un progetto team.

  • Dopo la pubblicazione di un'attività, i valori impostati per Pubblica in progetto team e Tipo di elemento di lavoro non possono essere modificati. Se non si vuole continuare a sincronizzare un'attività, è necessario eliminarla.

  • Se un'attività e una delle relative attività subordinate sono entrambe contrassegnate per la sincronizzazione, anche tutte le attività comprese tra le due devono essere contrassegnate per la sincronizzazione.

  • Il valore del campo Nome risorsa per un'attività deve corrispondere al nome di un collaboratore valido per il progetto team di destinazione.

  • Se più risorse vengono assegnate alla stessa attività, solo un'assegnazione della risorsa deve essere selezionata come attiva. Per altre informazioni, vedere Rendere visibile lo stato di avanzamento del team Agile al reparto PMO (Program Management Office).

  • Tutti i valori devono essere conformi alle regole applicate da Project Server alla definizione di campo specifica. Può ad esempio verificarsi un errore se si assegna un valore a un campo mappato associato a una tabella di ricerca, ma che non è presente nella tabella di ricerca.

La finestra di dialogo Risoluzione convalida viene visualizzata ogni volta che una o più regole vengono violate. I project manager devono risolvere ogni errore prima di pubblicare le modifiche.

Quando gli sviluppatori inviano elementi di lavoro nuovi o aggiornati da Team Foundation

Quando uno sviluppatore che usa Team Foundation crea o aggiorna un elemento di lavoro e salva le modifiche, vengono effettuati i seguenti controlli di convalida sugli elementi di lavoro impostati per la pubblicazione in Project Server (ovvero, Invia a Project Server=Sì):

  • Il valore del campo Assegnato a deve corrispondere a un membro del team che è stato anche aggiunto al pool di risorse dell'organizzazione e alle risorse di progetto del piano del progetto. Per altre informazioni, vedere Assegnare le autorizzazioni per supportare l'integrazione TFS-Project Server.

  • Se a un progetto team viene mappato solo un piano del progetto dell'organizzazione, il relativo nome viene visualizzato automaticamente nel campo Progetto dell'organizzazione della scheda Project Server per gli elementi di lavoro appena creati.

  • Se al progetto team vengono mappati più progetti dell'organizzazione, è necessario specificare un valore per il campo Progetto dell'organizzazione per i nuovi elementi di lavoro creati e il cui valore Invia a Project Server è impostato su .

  • Non è possibile modificare la struttura gerarchica degli elementi di lavoro dopo che sono stati collegati alle attività di Project. Per altre informazioni, vedere Summary Tasks, Task Hierarchy, and Submissions of Work Items that Are Nested at Multiple Levels.

  • Le regole che sono state aggiunte a un tipo di elemento di lavoro mappato possono causare errori di convalida quando si pubblica il piano del progetto. Ad esempio, una regola condizionale può limitare i valori che gli utenti possono assegnare a un campo. Per altre informazioni, vedere Applicare una regola a un campo elemento di lavoro.

  • Le regole di base, come le tabelle di ricerca, che corrispondono alle definizioni dei campi in Project Server possono causare errori durante la sincronizzazione dello stato. Ad esempio, può verificarsi un errore se si usa una tabella di ricerca per definire i valori validi per un campo in Project, si mappa tale campo a un campo in Team Foundation e quindi si imposta il campo in Team Foundation su un valore non incluso nella tabella di ricerca.

Dopo la pubblicazione in Project Server, l'elemento di lavoro viene associato a un'attività nel piano del progetto dell'organizzazione di destinazione. Questa associazione viene definita anche collegamento. I collegamenti vengono bloccati durante la sincronizzazione. Per rimuovere il collegamento, è necessario eliminare l'attività corrispondente in Project oppure usare l'opzione /force quando si rimuove il mapping del piano del progetto o del tipo di elemento di lavoro. Per altre informazioni, vedere Rimuovere un componente dalla sincronizzazione dei dati.

Torna all'inizio

Campi mirror e "due set di valori possibili"

Poiché il motore di sincronizzazione esegue tre tipi di sincronizzazione e comunica con due database in una negoziazione pianificata, non si verificano unioni di dati. La sincronizzazione dei dati avviene invece in una sequenza a due passaggi e il motore tiene conto della divergenza tra i due prodotti. Per ogni campo sincronizzato in Team Foundation, è possibile definire un campo mirror che archivia il valore in Project Server per il campo mappato corrispondente. Durante le normali operazioni di sincronizzazione, i valori dei due campi saranno diversi dal momento in cui un valore viene aggiornato in Team Foundation Server fino quando il project manager non approva l'aggiornamento e pubblica il piano del progetto.

Per ogni campo mappato è possibile specificare una delle seguenti opzioni per definire il modo in cui il motore di sincronizzazione aggiornerà il campo di riferimento in Team Foundation:

Per altre informazioni, vedere Riferimento agli elementi XML per il mapping di campi per l'integrazione TFS-Project Server.

Torna all'inizio

Autorizzazioni necessarie per supportare la sincronizzazione

Per eseguire la sincronizzazione dei dati tra Team Foundation Server e Project Server, è necessario che vengano concesse le autorizzazioni seguenti:

  • Per Project Server 2010, è necessario concedere le autorizzazioni di controllo completo all'account del servizio con cui viene eseguito TfsJobAgent in modo che sia possibile accedere all'applicazione di servizio di Project Server. Per altre informazioni, vedere Assegnare le autorizzazioni per supportare l'integrazione TFS-Project Server.

  • È necessario concedere all'account del servizio con cui viene eseguito TfsJobAgent le autorizzazioni necessarie per accedere a ciascuna istanza mappata di PWA.

  • Gli utenti a cui vengono assegnate le attività in Project Professional o gli elementi di lavoro in Team Foundation devono essere riconosciuti come collaboratori nel progetto team. Tali utenti devono inoltre essere riconosciuti come risorse del piano del progetto dell'organizzazione e avere l'autorizzazione ad accedere alle istanze di PWA che partecipano al processo di sincronizzazione.

Per altre informazioni, vedere Assegnare le autorizzazioni per supportare l'integrazione TFS-Project Server.

Torna all'inizio

Notifica degli errori, registrazione degli eventi e tracciabilità

Il motore di sincronizzazione elabora gli aggiornamenti di progetto pubblicati in Project Server, quindi gli aggiornamenti di stato e infine gli aggiornamenti di approvazione. Durante la pubblicazione, Project Server viene aggiornato con l'aggiunta di attività e relativi dettagli al piano del progetto dell'organizzazione. La pubblicazione della sincronizzazione estrae i dati da Project Server e li trasferisce in Team Foundation Server. La sincronizzazione dello stato estrae i dati da Team Foundation per aggiornare la coda di approvazione del project manager, mentre la sincronizzazione dell'approvazione pubblica gli aggiornamenti nei campi quali Lavoro rimanente e Lavoro completato in Project Server, avviando un nuovo ciclo di sincronizzazione.

Ogni tipo di sincronizzazione consente al project manager di visualizzare i messaggi di stato e di errore pertinenti in Project Professional o nell'istanza di PWA. Inoltre, i messaggi di stato e di errore associati al motore di sincronizzazione e alla relativa configurazione possono essere scritti anche nelle interfacce di amministrazione appropriate per Team Foundation Server e Project Server.

Tutti i project manager, i membri di team e gli amministratori possono visualizzare i messaggi correlati alla sincronizzazione man mano che vengono generati e usarli per la diagnosi. I messaggi vengono scritti nelle seguenti posizioni:

  • In Project Professional, nella barra di stato del piano del progetto dell'organizzazione viene visualizzato lo stato di avanzamento della pubblicazione.

  • Nell'istanza di PWA, nel Centro approvazioni viene visualizzata la coda delle attività aggiornate.

  • Nel form dell'elemento di lavoro di Team Foundation, nella scheda Project Server vengono visualizzati lo stato e l'ora della sincronizzazione più recente dell'elemento di lavoro.

  • Nel form dell'elemento di lavoro di Team Foundation, nel campo Cronologia vengono registrati i messaggi di stato e di errore della sincronizzazione dopo ogni aggiornamento dell'elemento di lavoro. Quando si effettua l'integrazione con Project Server 2010, nel campo Cronologia vengono registrati anche i commenti scritti dai project manager all'approvazione o al rifiuto di un aggiornamento di stato.

  • Nel log eventi del server a livello applicazione che partecipa alla sincronizzazione dei dati viene mantenuta una registrazione di tutti gli eventi e gli errori di sincronizzazione.

Gli amministratori possono recuperare i messaggi degli eventi più recenti con il comando TfsAdmin ProjectServer /GetSyncMessages. Per altre informazioni, vedere Visualizzare i messaggi di errore del motore di sincronizzazione. Per raccogliere informazioni ancora più dettagliate, è possibile abilitare l'analisi dettagliata per l'Agente processo in background di Team Foundation che esegue i servizi. Per altre informazioni, vedere Agente processo in background di Team Foundation.

Torna all'inizio

Vedere anche

Concetti

Amministrare l'integrazione di Team Foundation Server e Project Server

Altre risorse

Gestire i progetti utilizzando l'integrazione TFS-Project Server